El malware
es la principal herramienta de los cibercriminales y de los principales
ciberataques en organizaciones empresariales. En estos tiempos la
detección y eliminación de malware
no es suficiente, es de vital importancia entender: cómo funcionan, lo
que harían en los sistemas cuando se despliega, comprender el contexto,
las motivaciones y los objetivos del ataque. De esta manera entender los
hechos y responder con mayor eficacia para protegerse en el futuro. Hay
infinidad de contextos en los que se puede necesitar implementar un
entorno limitado, desde el análisis de una violación interna, recolectar
datos procesables y analizar posibles amenazas. Para poder comprender
todos esto, lo ideal es montar un laboratorio de malware,
en este post tratare sobre varias herramientas de software libre para
dicho cometido como: Cuckoo Sandbox, Viper, FakeNet y Zero Wine.
Cuckoo Sandbox, un sistema de análisis de
malware
de código abierto. Esta aplicación permite analizar cualquier archivo
sospechoso y en cuestión de segundos, Cuckoo proporcionará resultados
detallados que describen lo que resultaría cuando se ejecuta dentro de
un entorno aislado.
Cuckoo genera un puñado de diferentes datos brutos, que incluyen:

- Las funciones nativas y API de Windows llamadas huellas.
- Las copias de los archivos creados y eliminados del sistema de ficheros.
- Volcado de la memoria del proceso seleccionado.
- Volcado completo de memoria de la máquina de análisis.
- Capturas de pantalla del escritorio durante la ejecución del análisis de malware.
- Volcado de red generado por la máquina que se utiliza para el análisis.
A fin de que tales resultados sean mejor interpretados por los usuarios
finales, Cuckoo es capaz de procesar y generar diferentes tipos de
informes, que podrían incluir:
- Informe JSON.
- Informe HTML.
- Informe MAEC.
- Interfaz de MongoDB.
- Interfaz HPFeeds.
Lo más interesante, es que gracias a la amplia estructura modular del
Cuckoo, es posible personalizar tanto el procesamiento y la fase de
presentación de informes. Cuckoo proporciona todos los requisitos para
integrar fácilmente un entorno aislado con los sistemas existentes, con
los datos que se deseen, de la manera que desee y con el formato que
desee.
Más información y descarga de Cuckoo Sandbox:
http://www.cuckoosandbox.org/
Documentación de Cuckoo Sandbox:
http://docs.cuckoosandbox.org/
Viper es una herramienta de análisis y gestión de binarios de
malware. Su objetivo fundamental es proporcionar una solución para organizar fácilmente una colección de
malware y explotar las muestras, para facilitar su investigación diaria. Es similar a un Metasploit para los investigadores de
malware,
proporciona una interfaz de terminal que se puede utilizar para:
almacenar, buscar y analizar archivos, con un entorno para crear plugins
fácilmente de cualquier tipo.
Viper permite crear y operar en una colección de archivos de muestras de
malware.
Una colección representa un proyecto. Se puede crear tantos proyectos
como se desee y cambiar fácilmente de uno a otro. Cada proyecto tiene
sus propios repositorios locales de los archivos binarios, una base de
datos SQLite que contiene los metadatos y un archivo histórico que
contiene todos los comandos que se proporcionan a través de la Shell de
Viper. De esta manera se pueden crear diferentes entornos de trabajo
para cada campaña de
malware, familia de
malware o el entorno que se está investigando. También puede empaquetar fácilmente y compartir la carpeta del proyecto.
Las operaciones que se pueden ejecutar dentro Viper son fundamentalmente: comandos y módulos:
- Los comandos son funciones proporcionadas por el núcleo de Viper que
permiten interactuar con: el repositorio de archivos (mediante la
adición, la búsqueda, el etiquetado y la eliminación de archivos), con
proyectos y con las sesiones. Son estáticos y no deben modificarse.
- Los módulos son plugins que se cargan dinámicamente por Viper en el
arranque. Existen módulos para implementar funciones de análisis
adicionales que se pueden ejecutar en un archivo abierto o en todo el
repositorio, por ejemplo: el análisis de los ejecutables PE32,
procesadores de documentos PDF, el análisis de los documentos de Office,
archivos de agrupamiento por hash o imphash… Los módulos son la parte
más desarrollada activamente de Viper gracias a las contribuciones de la
comunidad.
Viper está escrito en Python y requiere Python 2.7 para funcionar
correctamente. Funciona a la perfección en distribuciones basadas en
Debian, como Ubuntu de plataforma de referencia. Es posible trabajar con
ella en otras distribuciones Linux y en Mac OS X, pero no ha sido
debidamente probado.
Más información y descarga de Viper:
http://viper.li/
FakeNet es una herramienta que ayuda en el análisis dinámico de software malicioso. La herramienta simula una red, para que el
malware interactué con un host remoto, permitiendo al analista, observar la actividad del
malware, en los protocolos de red dentro de un ambiente seguro.
FakeNet está programado en python 2.7 y utiliza una variedad de
servicios de Windows y bibliotecas para emular una red
Windows. Carga un
entorno HTTP personalizado y un servidor DNS para responder a las
solicitudes. Utiliza OpenSSL para manejar conexiones en el protocolo
SSL.
Maneja para esta emulación de red un proveedor de servicios por niveles
de Winsock (LSP) para redirigir el tráfico hacia localhost, y para
escuchar el tráfico en los puertos. También crea un archivo de captura
de tráfico (*.pcap) para su posterior análisis, reconstruyendo un
encabezado de paquetes basado en el tráfico de las llamadas send/recv.
Características:
- Es fácil de instalar y utilizar, la herramienta se ejecuta en Windows y no requiere de las bibliotecas de terceros.
- Mantiene la ejecución del malware de forma que se puede observar gran parte de su funcionamiento.
- Apoya los protocolos más comunes utilizados por el malware, soporta DNS, HTTP y SSL.
- El servidor HTTP siempre sirve un archivo, si la solicitud de malware es un jpg le sirve un formato correcto jpg, etc. Los archivos que se sirven son configurables por el usuario.
- Capacidad para redirigir todo el tráfico hacia localhost, incluyendo el tráfico destinado a una dirección IP estática.
- Extensiones en Python, incluyendo una extensión de ejemplo que implementa SMTP y SMTP a través de SSL.
- Proporciona extensiones de Python para añadir protocolos nuevos o personalizados.
Construido con la capacidad para crear un archivo de captura (*.pcap)
para los paquetes redirigidos a localhost, para su posterior análisis.
Modulo que escucha el tráfico en cualquier puerto, detecta y descifra el tráfico
SSL
y muestra el contenido en la consola. Lleva a cabo todas las
actividades en el equipo local para evitar la necesidad de una segunda
máquina virtual.
Es una herramienta ideal para analizar el método de infección del
malware de páginas web maliciosas. Porque permite ver e interceptar, las consultas y respuestas HTTP, HTTPS y DNS.
Más información y descarga de FakeNet:
http://sourceforge.net/
Información de modo de empleo y configuración:
http://www.aldeid.com/wiki/
Zero Wine, una herramienta bajo licencia GLP v2 para analizar dinámicamente el comportamiento del
malware. Esta herramienta basa su funcionamiento en cargar el
malware con Wine en una jaula virtual y recoge la información sobre los APIs llamados por el
malware.
La salida generada por Wine (usando la variable de entorno de
eliminación de errores WINEDEBUG) pertenece a las llamadas de las API
usadas por el
malware. Con esta información, se analiza el comportamiento del
malware.

Se distribuye el Zero Wine en una imagen de la máquina virtual QEMU con
un sistema operativo Debian instalado. La imagen contiene software para
cargar y para analizar el
malware
y para generar los informes basados en la información recopilada (este
software se almacena en "/home/malware/zerowine"). Para correr Zero Wine
se utiliza un script que carga la maquina virtual y lanza un servicio
web en el puerto 8000 en dicha maquina. Para enviar archivos a analizar
se utiliza la aplicación web que corre en el servidor web de la maquina
virtual.
Existe una versión mejorada de este proyecto se llama Zero Wine Tryouts
basado en el mismo motor pero con mejoras en el comportamiento y más
opciones.
Es una excelente herramienta para analizar
malware ya que nos permite ver todas las acciones que ejecuta el
malware en el sistema.
Más información y descarga de Zero Wine:
http://zerowine.sourceforge.
Más información y descarga de Zero Wine Tryouts:
http://zerowine-tryout.