REVISTA .SEGURIDAD | 1 251 478, 1 251 477 | REVISTA BIMESTRAL

PoC: Captura de malware con el honeypot Dionaea - II

Captura de malware con el honeypot Dionaea II

En el artículo anterior se describió una forma de instalar Dionaea y algunas de sus características, en esta ocasión, se explicará cómo se configura el laboratorio virtual para ver paso a paso la captura de una muestra de malware.

El objetivo del honeypot Dionaea es obtener una copia del malware que intenta propagarse por la red al brindar servicios que pretenden ser vulnerables. En este artículo se describirá el proceso de dicha captura.

Los servicios que proporciona el honeypot Dionaea son los siguientes:
  • SMB (Server Message Block): 445
  • HTTP (Hypertext Transfer Protocol): 80
  • HTTPS (Hypertext Transfer Protocol Secure): 443
  • FTP (File Transfer Protocol): 21
  • TFTP (Trivial File Transfer Protocol): 69
  • MySQL (Structured Query Language): 3306
  • MSSQL (Microsoft Structured Query Language Server): 1433
  • EPMAP (Endpoint Mapper): 135
  • SIP (Session Initiation Protocol): 5060/5061
  • Nameserver (Host Name Server): 42

Para esta prueba de concepto se empleará un gusano informático que ataca el servicio SMB de Windows, este último es un protocolo de red que permite compartir recursos, como archivos e impresoras, entre equipos de cómputo.

Configuración del laboratorio virtual

El laboratorio consistirá de dos máquinas virtuales generadas en la plataforma VMware (aunque se puede utilizar cualquier otro software de virtualización), una con sistema operativo Windows XP y otra con GNU/Linux Debian 7. Además, estará en una red interna que permitirá establecer un segmento de red dentro del rango propuesto 192.168.1.X/24.

Laboratorio de análisis

Imagen 1. Laboratorio de análisis

Las interfaces de red en ambos equipos deberán configurarse en modo “Host-Only”, por lo que solamente tendrán comunicación entre ellas.

Adaptadores de red en modo "Host-only"

Imagen 2. Adaptadores de red en modo "Host-only"

La interfaz de red del equipo Windows debe configurarse de acuerdo a los siguientes parámetros para garantizar que todo el tráfico sea redirigido a la máquina Debian:

  • Dirección IP: 192.168.1.5
  • Máscara de subred: 255.255.255.0
  • Puerta de enlace predeterminada: 192.168.1.30
  • Servidor DNS preferido: 192.168.1.30

Configuración de la interfaz de red en Windows

Imagen 3. Configuración de la interfaz de red en Windows

También se debe deshabilitar el Firewall de Windows para probar conectividad entre los equipos mediante el protocolo ICMP.

Firewall de Windows desactivado

Imagen 4. Firewall de Windows desactivado

La interfaz de red del equipo Debian debe configurarse de forma estática de acuerdo a los siguientes parámetros:

  • Dirección IP: 192.168.1.30
  • Máscara de subred: 255.255.255.0

Configuración de la interfaz de red en Debian

Imagen 5. Configuración de la interfaz de red en Debian

Para verificar que los equipos virtuales tienen comunicación, se puede utilizar el comando ping entre ambos.

Conectividad correcta desde Debian a Windows

Imagen 6. Conectividad correcta desde Debian a Windows

Conectividad correcta desde Windows a Debian

Imagen 7. Conectividad correcta desde Windows a Debian

Actividad de red de la muestra gusano445.exe

Abrir las herramientas de monitoreo Process Explorer y TCPView en el equipo Windows. Posteriormente, ejecutar la muestra y observar su actividad de red.

Actividad de red del gusano informático

Imagen 8. Actividad de red del gusano informático

En TCPView se observan peticiones de sincronización a direcciones IP púbicas al puerto 445 asociado al servicio SMB. Después, terminar el proceso malicioso desde Process Explorer.

Con Honeyd se proporcionarán los host que solicita el malware bajo demanda, y con Dionaea se proporcionará el servicio SMB, por lo que ambas herramientas deben trabajar de manera conjunta.

Archivo de configuración de Honeyd

Si la instalación de Honeyd se realizó desde código fuente, es necesario crear el archivo de configuración con el siguiente contenido:

Reglas de configuración en Honeyd

Imagen 9. Reglas de configuración en Honeyd

Las primeras cuatro líneas definen el comportamiento al cual responderá Honeyd. Fue configurado para no redireccionar tráfico UDP y TCP, pero sí el tráfico ICMP, debido a que se deben realizar pruebas de conectividad mediante el uso del comando ping desde el equipo Windows.

El puerto definido en la última línea del archivo no estará bloqueado, de esta manera Honeyd escuchará en todas las direcciones IP posibles por la interfaz eth0 (en nuestro caso) y reenviará las conexiones del puerto 445 a listeners o servidores locales, en nuestro caso es el servicio SMB proporcionado por Dionaea.

Ahora verificaremos la conectividad desde el equipo Windows hacia la máquina Debian donde Honeyd responderá a las peticiones ICMP.

  • Iniciar Honeyd

Uso del archivo de configuración para iniciar Honeyd

Imagen 10. Uso del archivo de configuración para iniciar Honeyd
 
  • Probar la conectividad con direcciones IP públicas

Respuesta satisfactoria de Honeyd al equipo Windows

Imagen 11. Respuesta satisfactoria de Honeyd al equipo Windows

Servicios proporcionados por Dionaea

Hasta este momento debemos recordar que la muestra de malware no está en ejecución en el equipo Windows y que Honeyd está activo en la máquina Debian. Ahora, es momento de iniciar Dionaea y verificar los servicios que proporciona.

Comando para iniciar Dionaea

Imagen 12. Comando para iniciar Dionaea

A continuación se muestran los servicios proporcionados por Dionaea.

Servicios que ofrece Dionaea

Imagen 13. Servicios que ofrece Dionaea

En la máquina Debian, cambiarse al directorio “binaries” de Dionaea, que es donde se almacenarán las muestras de malware capturadas y se monitorizará la actividad de la carpeta con el comando watch, este último para ejecutar el comando ls cada determinado intervalo de tiempo, en nuestro caso cada dos segundos.

Directorio de muestras de malware capturadas

Imagen 14. Directorio de muestras de malware capturadas

Captura del gusano informático

En este momento, ya estamos listos para infectar el equipo Windows con la muestra de malware, puesto que tenemos Honeyd activo para proporcionar, bajo demanda, las direcciones IP públicas que solicite el gusano informático; y Dionaea proporcionando el servicio SMB.

Ejecutar por segunda ocasión la muestra gusano445.exe y observar que se han establecido conexiones hacia diferentes direcciones IP públicas en el puerto 445.

Conexiones establecidas al equipo Debian

Imagen 15. Conexiones establecidas al equipo Debian

Después de unos minutos, en la carpeta /opt/dionaea/var/dionaea/binaries/ se guarda un archivo nombrado con su firma md5 y otros con extensión "tmp".

Archivos guardados en la carpeta binaries

Imagen 16. Archivos guardados en la carpeta binaries

Detener el comando watch con las teclas CTRL+C; detener Dionaea, Honeyd y el proceso malicioso desde Process Explorer.

Cuando Dionaea obtiene una "copia" del malware, lo nombra con el valor de su firma md5, mientras la consigue genera archivos temporales.

Verificar el tipo de archivo con el comando file.

Tipo de archivo de la muestra capturada

Imagen 17. Tipo de archivo de la muestra capturada

El resultado muestra que es tipo data y no un ejecutable de Windows, por lo que debemos revisar el archivo capturado. Usar la herramienta Hexdump con la opción -C para que muestre el archivo en formato hexadecimal y en ASCII.

Formato hexadecimal y ASCII del archivo binario capturado

Imagen 18. Formato hexadecimal y ASCII del archivo binario capturado

Se observa que tiene un byte de más al inicio, por lo cual se usará el comando dd para quitarlo, aunque también se puede abrir con un editor hexadecimal como Ghex y realizar el cambio. Posteriormente se revisa el tipo de archivo con el comando file, se observa que es un ejecutable para Windows. Por último obtenemos su firma sha1 para compararla con la que inicialmente se ejecutó en el equipo Windows.

Formato hexadecimal y ASCII del binario capturado

Imagen 19. Formato hexadecimal y ASCII del binario capturado

Parámetros del comando dd:

  • if ; archivo de entrada
  • of ; archivo de salida
  • bs ; tamaño del bloque en bytes que se quiere retirar
  • skip ; número de veces que se requiere hacer el salto del bloque

Cabe mencionar que no todos los archivos capturados por Dionaea tienen un byte de más, pero se debe considerar en caso de que se envíen las muestras a sistemas automatizados de análisis de malware o se realice de forma manual. En UNAM-CERT se han detectado los siguientes inicios de archivos capturados por Dionaea:

  • 4D 5A ; inicio correcto de los archivos ejecutables de Windows
  • 00 4D 5A ; quitar el byte 00 que está de más en la cabecera
  • 5A ; agregar el byte 4D al inicio
  • 00 00 5A ; quitar el primer byte 00 y reemplazar el segundo byte 00 por 4D

Posteriormente, obtener la firma sha1 de la muestra gusano445.exe en Windows para verificar que se trata del mismo archivo.

Firma sha1 de la muestra localizada en Windows

Imagen 20. Firma sha1 de la muestra localizada en Windows

Finalmente, se recomienda crear los scripts que inicien, como cualquier otro servicio en sistemas Linux, las herramientas Honeyd (para entornos locales de prueba) y Dionaea (en entornos de producción para capturar malware que se propaga por Internet). Además de un script de sanitización que procese las muestras capturadas por nuestro honeypot para que, al ser enviadas a firmas antivirus o sandbox públicas, puedan ejecutarse correctamente. A continuación se propone una lista de cambios:

  • Agregar o quitar byte de la cabecera del ejecutable según se requiera.
  • Renombrar, con la nueva firma md5, el ejecutable que fue modificado.
  • Agregar la extensión ".exe" a los ejecutables para Windows.
  • Comprimir las muestras con contraseña para evitar infecciones accidentales (varios sitios de seguridad que recopilan malware recomiendan usar: "infected" o "malware").

Tener en cuenta que Dionaea podría tener vulnerabilidades, por lo que, para minimizar el impacto, debería ejecutarse con permisos de usuario que no sean de administración.

Ahora, el lector ya cuenta con las herramientas necesarias para montar un laboratorio de captura de malware y comenzar con el trabajo de análisis. Este primer acercamiento al uso de las tecnologías honeypots es una buena entrada para quienes se interesan en el análisis de software malicioso. Si te interesa conocer más de este tema, puedes dar el siguiente paso con los artículos seleccionados más adelante.

Si quieres saber más consulta:

UNAM

[ CONTACTO ]

Se prohíbe la reproducción total o parcial
de los artículos sin la autorización por escrito de los autores

 

Hecho en México, Universidad Nacional Autónoma de México (UNAM) © Todos los derechos reservados 2018.