Análisis de malware

Luchando contra strings cifradas

Cuando estamos reverseando aplicaciones maliciosas, a veces todas las strings serán visibles en texto plano. En otros casos, encontraremos porciones cifradas con mayor o menor grado de complejidad. Hoy expondremos un caso de este último tipo y lo analizaremos de forma intuitiva.

Debuggeando archivos DLL empaquetados

Cuando empezamos a debuggear un archivo dll con OllyDbg, notaremos que el proceso es distinto en comparación con un ejecutable típico: la dll no es cargada en memoria de forma independiente, sino mediante otro archivo ejecutable que nos ofrece Olly. Por desgracia, si dicha dll está comprimida con algún packer, al debuggear podríamos obtener un entry point posterior a la rutina de unpacking. En este post exploraremos un pequeño truquito para solventar el problema mencionado.

Unpacking en ejemplos prácticos

Si bien las muestras que recibimos a diario en el Laboratorio de Investigación de ESET Latinoamérica presentan packers muy diversos, la mayoría de ellas no se encuentran empaquetadas, o tienen alguna versión de UPX. Por tal motivo, me pareció una buena idea analizar esas muestras en este post, de tal modo de realizar el unpacking en forma práctica.

Complicando el análisis: algunas técnicas de anti‑debugging

Ciertas instrucciones, estructuras de datos o caminos de ejecución pueden no quedar muy claros en el análisis con desensambladores. Allí, los debuggers son la alternativa natural. Sin embargo, así como existen técnicas utilizadas por los desarrolladores de malware para complicar el desensamblado, también podemos encontrar diversos procedimientos anti-debugging que analizaremos en este post.

5 consejos para iniciarte en el análisis de malware

El análisis de malware no es un proceso trivial. Algunos lo ven como algo monótono y aburrido, pero otros lo encuentran apasionante; mientras que algunos llevan a cabo análisis exitosos en poco tiempo, otros se enredan utilizando herramientas o sistemas de análisis automatizados sin llegar a ningún lugar. Ahora, ¿qué se debería tener en cuenta

Cómo desofuscar malware en AutoIt

Hace algún tiempo escribimos sobre cómo entender códigos maliciosos escritos en AutoIt, ahora veamos como otro código malicioso escrito en este mismo lenguaje utiliza un método diferente para ofuscar su código y como podemos llegar a entender las acciones maliciosas que realiza. En este caso queremos analizar una muestra que nos reportaron a nuestro laboratorio

Nuevos enfoques de análisis de malware en Android

Con la aparición de los códigos maliciosos para dispositivos móviles se desarrollaron técnicas para el análisis de malware en Android, muchas partiendo del análisis de las instrucciones en el código. El problema es que rápidamente se hacen poco útiles, dada la aparición de técnicas de ofuscación. Por lo tanto, la aplicación de técnicas aprendizaje automático

Reconociendo condicionales switch en ingeniería reversa

Hace unas semanas, estuvimos reconociendo estructuras comunes en ingeniería reversa (parte I, parte II y bucles). Con esas entradas del blog ya podemos tener una buena idea de cómo encarar el reversing sin volvernos locos, pero hoy quiero presentarles otra estructura más: los condicionales de selección múltiple. Si bien estos no son tan comunes, tienen

Falso navegador busca credenciales bancarias en Brasil, parte II

Días atrás les presentábamos el análisis de unas muestras que, al ejecutarse, simulaban ser un navegador web como cualquier otro, con la finalidad de robar credenciales bancarias. Curiosamente, hay una muestra distinta que se encuentra relacionada con las presentadas; a través de este análisis, les mostramos esta relación. Uno de los últimos análisis que llevamos