VolatilityBot: extracción automática de código malicioso mediante Volatility

Continuamos aumentando nuestro arsenal para el análisis y reversing de malware y esta vez nos ha llamado la atención VolatilityBot de de @MartinKorman, un pequeño sistema de código abierto para automatizar el proceso de extracción y análisis estático mediante el framework de Volatility. Básicamente lo que hace es lo siguiente:

- ejecuta el malware en una máquina virtual.
- espera un período predefinido de tiempo.
- suspende la máquina virtual.
- compara el snapshot con una imagen original de la máquina virtual, encuentra nuevos procesos, código inyectado, archivos DLL cargados o módulos del kernel, los vuelca desde la memoria y prepara el archivo PE con el fin de hacer más fácil el análisis estático.

Todos los metadatos se guardan en una base de datos SQLite. Los volcados de memoria se guardan en el almacenamiento configurado. Todos los archivos PE pasan un análisis estático breve y los informes se guardan también. Teóricamente VolatilityBot puede manejar una cantidad ilimitada de máquinas virtuales, dependiendo del rendimiento del PC. Actualmente no tiene ninguna interfaz de usuario, pero se puede acceder a la base de datos SQLite mediante una herramienta con interfaz gráfica, como sqlitebrowser en Mac OS o Sqliteman en Linux. En futuras versiones habrá una pequeña interfaz de usuario web en la que se podrán presentar nuevas muestras y leer los informes ya existentes.

Con el fin de evitar la detección de VM, se utilizan también algunos trucos:

- Limpieza de claves de registroa (todo lo relacionado con VMware, hay una gran cantidad de información en Internet sobre este tema).
- Una macro que mueve el ratón y ejecuta el malware.
- Por supuesto, no hay herramientas de VMware en la máquina.

A continuación podéis ver un vídeo de dos máquinas virtuales procesando tres muestras:

  

Documentación e instrucciones de instalación: https://bitbucket.org/martink90/volatilitybot_public/downloads/Documentation_Final.pdf

Código fuente: https://bitbucket.org/martink90/volatilitybot_public
 
Presentación de la VB2015:: https://www.virusbtn.com/pdf/conference_slides/2015/Korman-VB2015.pdf

Comentarios