domingo, 5 de enero de 2014

Detección de botnets y malware. Parte 1


El curso pasado estuve todo el año en Frankfurt como alumno Erasmus y a parte de pasarmelo genial y hacer algunas asignaturas de la carrera, propuse, hice y presenté mi Proyecto Fin de Grado con el título "Detecting Botnet Activities with Honeypots and Malware Analysis".

Mi ambición con este proyecto era adentrarme de lleno en el mundo de la seguridad y de las técnicas usadas por los malos para crear y distribuir malware con el objetivo de de crear botnets. Una botnet es una red de ordenadores que han sido infectados mediante alguna vulnerabilidad existente en la maquina objetivo, ya sea de software, hardware u orgánica. Entendiendo por orgánico a la masa magra que se sienta delante de la máquina.

Como no podía ser de otra forma aprendí cosa fina, y no solo aprendí si no que me dió la base para empezar a construir desde estudios anteriores. Conocí tecnologías disponibles de sistemas honeypot, como dionaea o kippo, y sistemas de analisis, como Cuckoo.

Quiero mostraros algunas estadisticas y datos que capturé en un periodo de 2 meses, con un sistema distribuido de aproximadamente 12 honeypots.

En primer lugar van las estadisticas  de Dionaea. Dionaea simula vulnerabilidades de varias tecnologías tipo MySQL, SMB, FTP, etc, y es capaz de capturar el ejemplar de malware que esta siendo injectado tras la explotación.




 (Todas estas son capturas del pdf de mi proyecto, por eso los titulos son en plan Table 8 o Figure 26)

Las estadisticas de los honeypots son cuanto menos llamativas, solo por ponerle texto a algunas:
  • La mitad de los ataques venían de Korea del Sur, no se que tendrán en mi contra o si les molaba pero tenian una fijación curiosa con mis honeypots
  • El protocolo más atacado es SMB, principalmente de clientes Windows. Este protocolo es el que se encarga de compratir archivos e impresoras (Alerta por subnormal! Alerta por subnormal!)
  • Como no podía ser de otra forma, el host atacante más frecuente es de Korea, y por la información obtenida por WHOIS, no parece que sea un servidor dedicado sino un host domestico infectado. 

Estos resultados son simplemente basandome en las conexiones entrantes que han recibido los honeypots. Entonces ¿Seguro que esas conexiones son con oscuros propositos? Para dar la respuesta hay que definir un poco más lo que es un honeypot. Un honeypot emula ciertas vulnerabilidades, pero  lo más imporante es que las emula de forma pasiva, es decir, el honeypot por si mismo no se da a conocer, ni realiza conexiones salientes. Por tanto, cualquier cualquier conexion recibida ha sido uniciada por un tercero, y ya que los servicios y puertos abiertos no son públicos, se ha tenido que realizar algun tipo de escaneo de puertos. Ergo el individuo que hace ese escaneo está intentando obtener acceso no autorizado a un sistema de internet.

Esta definición tambíen resuelve temas legales que podrian derivarse como, tan de moda en España, la "privacidad" del atacante o el "derecho a la intimidad" del atacante. A dónde vamos a llegar....

Por supuesto, esto no es ejecutar el honeypot y empezar a descrubrir botnets en plan Butterfly, no todos los ataques son validos, no todos los ataques validos sueltan un binario, y no todos los binarios perteneces a una botnet. Hay de todo, por ello cada vez que se captura un binario (malware) debe ser analizado. Por suerte hay sistemas más o menos automatizados, yo perosnalmente uso un servidor propio que está ejecutando Cuckoo. Cuckoo admite maquinas virtuales windows en las que ejecuta el binario recibido y registra toda su actividad a nivel de sistema. Todas sus acciones en el sistema de ficheros y conexiones son registradas y almacenadas en MongoDB. Lo bueno de Cuckoo es que es de plastilina, es decir, lo puedes modificar a tu medida. Esto permite de forma rapida obetener esultados como estos:

 

Gracias a esta tabla puedo ir viendo de un vistazo los binarios más suculentos y según que actividad me interesa más, aunque aún tiene trabajo por hacer, muchas cosas que mejorar.

En otro post comentare aún más las funcionalidades de Cuckoo que sinceramente, no me deja de sorprender!



No hay comentarios:

Publicar un comentario