Repasamos cuáles son las diferencias entre el análisis dinámico y estático de malware y compartimos algunas de las tantas herramientas gratuitas disponibles para llevar a cabo estas tareas. Al final del artículo, compartimos algunos enlaces a otros contenidos y recursos útiles relacionados con el análisis de malware.
Análisis de malware estático VS dinámico.
En primer lugar, el análisis estático se basa en el proceso de analizar un archivo sospechoso sin ejecutarlo. El objetivo de este método es realizar un análisis inicial con el fin de extraer información útil del binario sospechoso para tomar una decisión informada sobre cómo clasificarlo o analizarlo y dónde enfocar los esfuerzos de análisis posteriores.
En segundo lugar se encuentra el análisis dinámico, también conocido como análisis de comportamiento. Este tipo de análisis se encarga de ejecutar una muestra en un entorno aislado para monitorear sus actividades, interacción y su efecto.
Herramientas para el análisis estático de malware
Pestudio
Este software permite a los analistas de malware examinar y analizar ficheros .exe y sus librerías dinámicas .dll.
La herramienta nos muestra varios ficheros que podemos investigar para saber qué acciones realiza cuando lo ejecutamos. De este modo, podremos saber si se trata de un malware, y en caso de que así sea, observar qué acciones es capaz de llevar a cabo la amenaza.
Pestudio es una potente herramienta que en caso de que la máquina virtual tenga salida a Internet podrá realizar un escaneo de los ficheros que contenga el ejecutable y subirlos a VirusTotal. Además, Pestudio es capaz de detectar las API utilizadas dentro del potencial malware. Algunos ejemplos de API comúnmente utilizadas por códigos maliciosos son GetProcAddress, LoadLibraryA, GetModuleHandleA, ExitProcess, VirtualAlloc, WriteFile, entre otras.
Algunas de las secciones más importantes que tenemos en Pestudio son:
- Indicators: esta sección nos ofrece información de por qué el binario es sospechoso y lo clasifica según el nivel de severidad.
- Libraries: identifica las .dll que carga el binario a analizar. Recupera las bibliotecas y las funciones a las que se hace referencia en el archivo sospechoso. Pestudio viene con una lista predefinida de bibliotecas y funciones comúnmente utilizadas por los códigos maliciosos.
- Imports: identifica las .dll que carga el binario junto con los parámetros utilizados.
- Resources: nos da información de la carga de un archivo del estilo paylaod.
- Strings: a través de la lista preconfigurada <strings.xml> compara las strings que posee el binario a analizar para definir si el archivo es sospechoso.
PEBear
PE-bear es un freeware para realizar ingeniería inversa sobre archivos PE que tiene como finalidad ofrecer un pantallazo rápido sobre el comportamiento del archivo.
Una de las ventajas de utilizar PE-bear al inicio del análisis es poder verificar las secciones, ya que muchas veces los binarios están empaquetados, por ejemplo con UPX.
Si te interesa puedes profundizar sobre empaquetadores y el uso de PE-bear en la solución al desafío ESET #44
CFF Explorer
Con CFF Explorer es posible inspeccionar programas del tipo PE (Portable Executable), al igual que con Pestudio y PE-bear. Una de las principales ventajas de utilizar esta herramienta es que permite realizar modificaciones dentro del PE.
CFF Explorer brinda la posibilidad también de entender la composición básica extrayendo información sobre la fecha de compilación, el tipo de arquitectura o importaciones de librerías.
En este caso, las .dll que llama el binario analizado utilizan cuatro librerías:
- KERNEL.dll
- USER32.dll
- ADVAPI32.dll
- SHELL32.dll
Si bien estas .dll no son maliciosos, algunas veces los cibercriminales las modifican para realizar otro tipo de tareas en el equipo de la víctima.
Otra de las funcionalidades que se pueden encontrar dentro de CFF Explorer son: el visor de procesos, opción para extraer strings, un editor hexadecimal, entre otras.
Resource Hacker
Otra de las herramientas más utilizadas para la interpretación de los archivos ejecutables PE es Resource Hacker. Esta herramienta permite extraer información de los archivos binarios de Windows. Por ejemplo, en el caso de que se esté analizando un binario que resulta ser un dropper, con Resource Hacker se podrá detectar el PE adicional dentro de los recursos.
En la imagen siguiente se tomó como ejemplo para utilizar la herramienta el RAT de Bankdook que fue utilizado en la campaña de Bandidos.
Herramientas para análisis dinámico de malware
Process Hacker
Es una herramienta que permite monitorear los recursos del sistema y los procesos que se ejecutan en el mismo.
Además, Process Hacker permite inspeccionar los atributos de los procesos que se generan a partir de ejecutar el binario malicioso, ya sea desde explorar los servicios, conexiones de red, etc.
Process Explorer
Process Explorer es una herramienta que pertenece al paquete de herramientas de SysInternals que tiene la funcionalidad de monitorear procesos y servicios en Windows.
Durante el análisis de malware dinámico, Process Explorer es utilizado para identificar los procesos que se crean a partir de la infección del binario, lo cual facilita a los analistas distinguir qué procesos maliciosos se están ejecutando para poder separarlos y realizar un análisis más detallado.
RegShot
Regshot es una herramienta que permite a los analistas realizar “snapshots” del sistema antes y luego de ejecutar la muestra de malware a analizar. Es una herramienta sencilla que permite identificar rápidamente los registros que haya creado el binario malicioso. El análisis se puede exportar, ya sea desde un archivo HTML hasta incluso un archivo .txt
Autoruns
Autoruns es una herramienta desarrollada por Sysinternals, al igual que Process Explorer, que analiza rápidamente un sistema de Windows para encontrar programas que están configurados para iniciarse automáticamente al arrancar el sistema operativo. También enumera qué extensiones se cargan en procesos de Windows, como los procesos que se cargan de Internet Explorer.
Wireshark
Por último, mencionar a Wireshark, una herramienta desarrollada con la finalidad de analizar tráfico de red que se puede utilizar de diferentes maneras. Hemos hablado hace algún tiempo atrás sobre Wireshark con respecto al uso de filtros y sobre las opciones para hacer gráficos.
A la hora de ejecutar la pieza de malware como parte del análisis dinámico que queremos realizar, a través de Wireshark se puede verificar cuáles son los canales de comunicación que el malware utiliza, es decir, capturando los paquetes de red se puede verificar cómo el atacante se comunica con la víctima.
Conclusión
A lo largo de este artículo vimos varias herramientas, es importante destacar que si bien el análisis dinámico nos brinda mucha más información en cuanto al comportamiento, el mismo se debe combinar con el análisis estático para acelerar el proceso de análisis de la muestra maliciosa.
A continuación, compartimos algunos enlaces de interés para iniciarse en el análisis de malware:
- 5 consejos para iniciarte en el análisis de malware
- 4 cursos online en Udemy para iniciarse en el análisis de malware
- LOTS: una herramienta gratuita de extracción y análisis de strings
- Cómo analizar malware en .NET con 4 herramientas prácticas
- Ghidra: una herramienta gratuita de ingeniería inversa publicada por la NSA