PoC: Captura de malware con el honeypot Dionaea - Parte I
En los últimos años se ha podido observar la evolución acelerada de las tecnologías de la información y comunicación a tal grado que al día de hoy conocemos y disfrutamos de los servicios que nos permiten acceder a la información que se genera en el mundo de manera rápida y sencilla. Sin embargo, este mismo desarrollo ha generado diversas amenazas, que si bien no son nuevas, se han adaptado perfectamente al tiempo y a las necesidades actuales, de tal manera que representan serios problemas para usuarios finales, para pequeñas y medianas empresas, grandes organizaciones, universidades y gobiernos.
Ante este panorama, los profesionales de la seguridad de la información se han visto en la necesidad de desarrollar habilidades y conocimiento que les permita estudiar y analizar el comportamiento, la estructura, los riesgos y el impacto que estas amenazas pueden provocar.
El término que engloba al conjunto de elementos al que nos referimos es malware, acrónimo de malicious software, dentro del cual se incluyen virus, gusanos, troyanos, puertas traseras, bots, rootkits, spyware, rogues, ransomware, downloaders, droppers, entre otros.
El objetivo de este artículo es mostrar precisamente la captura de este tipo de amenazas con el honeypot Dionaea en un entorno virtual controlado y sin salida a Internet para evitar propagar la amenaza. En estas publicaciones describiré todo lo necesario para instalar y configurar Dionaea de forma que nos permita realizar satisfactoriamente la prueba de concepto.
En esta primera entrega me enfocaré en conocer e implementar las herramientas necesarias que se utilizarán en el laboratorio. Posteriormente, en una segunda edición, mostraré la configuración de las herramientas y la captura de gusanos informáticos.
Requerimientos de software
Máquinas virtuales | Honeypots |
Herramientas |
Malware |
---|---|---|---|
Dionaea | Process Explorer | Gusano445.exe | |
Windows XP | Honeyd | TCPView |
Dionaea
Es un honeypot de baja interacción (emula servicios), sucesor del proyecto Nepenthes, escrito en C pero que además incorpora Python como lenguaje de scripting, utiliza la biblioteca Libemu para emular la ejecución de instrucciones Intel x86 y detectar shellcodes. Además, cuenta con soporte para IPv6 y protocolo TLS.
Honeyd
Es una herramienta de código abierto para implementar honeypots de baja interacción, fue desarrollada por Niels Provos, miembro del Proyecto Honeynet. Simula la presencia de hosts en una red, es decir, proporciona a un solo equipo todo el espectro de direcciones IPv4. Intercepta únicamente conexiones dirigidas a direcciones IP no existentes en nuestra red, es decir, excluye las direcciones IP del segmento donde se ha implementado. Puede configurarse para correr ciertos servicios vulnerables y redireccionar las conexiones de red a un listener o servidor local.
Process Explorer
Es una herramienta de Microsoft que forma parte de la suite de SysInternals y muestra información de los procesos que se ejecutan en el sistema, así como las DLL (Dynamic Link Library) asociadas a cada uno de ellos.
TCPView
Es una herramienta de Microsoft que forma parte de la suite de SysInternals y ofrece una lista del estado de las conexiones y puertos TCP/UDP del sistema, así como el identificador de su proceso asociado (PID).
Gusano
Aplicación informática con la capacidad de autoreplicarse e invadir los equipos de cómputo de una red, busca explotar alguna vulnerabilidad en los servicios para trasladarse de un host a otro con el fin de realizar alguna acción maliciosa.
Implementación
La configuración de los repositorios en la máquina virtual Debian 7 es muy importante, pero no es la finalidad de este artículo explicar este proceso, sin embargo se recomienda este enlace al lector, donde puede generar una lista personalizada.
Una vez actualizada la lista de repositorios, lo siguiente es instalar los honeypots que necesitaremos.
Honeyd
1) Crear directorios de trabajo:
2) Instalar dependencias:
3) Instalar Libevent:
4) Instalar Libpcap:
5) Instalar Honeyd:
6) Actualizar bibliotecas:
7) Verificar la creación del binario "honeyd":
Dionaea
1) Crear directorios de trabajo:
2) Instalar dependencias:
3) Instalar Libudns:
4) Instalar Glib:
5) Instalar Liblcfg:
6) Instalar Libemu:
7) Instalar Libgc:
8) Instalar Libev:
9) Instalar Python:
10) Instalar Cython:
11) Instalar Lxml:
12) Instalar Udns:
13) Instalar C-ares:
14) Instalar Curl:
15) Instalar Libpcap:
16) Instalar Openssl:
17) Instalar Dionaea:
18) Verificar la creación del binario "dionaea":
Hasta este momento se mostró una forma de instalar en un sistema operativo Debian 7 las herramientas Honeyd y Dionaea que se usarán en conjunto para capturar malware en un entorno virtual controlado y sin salida a Internet. Cabe mencionar que si su empresa se dedica a la seguridad y desean contribuir con firmas antivirus o sandbox públicas con nuevas amenazas, pueden implementar Dionaea (como lo describe este artículo) en sus equipos destinados para análisis de tráfico de red y capturar gusanos informáticos. La instalación de Honeyd solo será para realizar la PoC, no se necesita en sensores de tráfico de red.
A continuación se muestran algunos comandos y directorios importantes para el uso de Dionaea:
-
Asociar direcciones IP públicas a una interfaz de red en Linux (entre más direcciones disponibles tengan para asignar a Dionaea es mejor, ya que aumenta la probabilidad de que algún gusano informático de muchos que hay en Internet solicite esa dirección):
ip addr add <dirección_IP_pública>/32 dev <interfaz_de_red> |
- Iniciar el servicio de Dionaea:
/opt/dionaea/bin/dionaea -D -r /opt/dionaea -w /opt/dionaea -p /opt/dionaea/var/dionaea.pid -l all,-debug -L '*' |
- Directorio que almacena las muestras capturadas:
/opt/dionaea/var/dionaea/binaries/ |
Por falta de espacio, dejaremos el análisis de la PoC para la siguiente edición de la revista.
Si quieres saber más consulta: