Análisis de malware | WeLiveSecurity

Análisis de malware

¿Cómo realizar un análisis de malware que evita la virtualización?

La forma más sencilla de analizar un archivo malicioso consiste en ejecutarlo en un entorno controlado y observar los resultados. A tales efectos, la utilización de máquinas virtuales se hace vital, ya que permite la recuperación casi instantánea del estado inicial de la máquina. Por ello, en diversas ocasiones el malware incluye mecanismos para detectar si está siendo ejecutado en un entorno virtualizado, situación ante la cual modifica su camino de ejecución para esconder su verdadero comportamiento. Hoy analizaremos algunas de estas técnicas mediante un caso práctico.

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.