En ocasiones, el estudio de los canales de comando y control utilizados por una familia específica de códigos maliciosos puede resultar un proceso engorroso y poco flexible, dificultando la identificación de los actores claves en la construcción de la red.

Malcom es una herramienta que pretende facilitar el análisis de las relaciones entre las diversas direcciones IP, dominios y servidores DNS que toman parte en una comunicación C&C, procesando rápidamente los datos recolectados y creando gráficos intuitivos que ponen en evidencia las conexiones entre equipos en red.

Para realizar la instalación de la aplicación, es posible seguir los pasos minuciosamente detallados en la documentación del producto en su sitio de GitHub. Además, Malcom brindará próximamente la posibilidad de trabajar de manera conjunta con Yara, para lo cual deberemos instalar en nuestro sistema el paquete yara-python.

Mediante su puesta en marcha podemos acelerar la identificación de los servidores de control y generar patrones de comportamiento de muestras, aportando a la rápida detección de elementos maliciosos en la arquitectura de red. Veamos entonces cómo podemos utilizar esta aplicación para facilitar el análisis de conexiones ilegítimas.

Analizando capturas de paquetes

Malcom intercambia referencias de malware conocido con numerosos sitios, permitiendo la rápida identificación de IPs maliciosas. Estas actualizaciones pueden generarse desde la solapa “Feeds”, cliqueando la opción “Refresh” del elemento que nos interese. Esto último desencadenará la descarga de las referencias más recientes en lo que a IPs y dominios maliciosos atañe. La mantención de una base de datos actualizada nos permitirá reconocer prontamente nodos maliciosos en una captura de red.

img_1

Siempre que entremos en conocimiento de una IP maliciosa que no se encuentre aún almacenada en los sitios de referencia, podemos crear nuestras propias actualizaciones de manera local. Más información respecto a la adhesión de referencias puede encontrarse en el sitio de la herramienta.

Para analizar un flujo de datos específico, el usuario deberá dirigirse a la solapa “Network Captures”. En ella aparecerá inicialmente el listado de los análisis que se han realizado con anterioridad, y dispondremos de las opciones para iniciar la captura de datos, o bien reproducir un archivo .pcap previamente almacenado.

En cualquier caso, el sistema requerirá la configuración de un nombre para la sesión de análisis que se está a punto de comenzar, y luego se deberá realizar clic en la opción “Start Capture”.

img_2

La aplicación provee dos tipos de vistas para dar seguimiento a la captura de paquetes. La primera es un grafo cuyos nodos se corresponden con los diferentes equipos que poseen un rol activo dentro del proceso de comunicación. En ésta, los nodos irán creándose paulatinamente a medida que la captura es ejecutada, o que los paquetes son receptados por el proceso de escucha.

img_3

En el panel derecho encontraremos detalles sobre el nodo actualmente seleccionado. También se predisponen algunas opciones para filtrar aquellos nodos que nos resulten de interés. La búsqueda puede darse por texto libre, dirección IP, dominio, o tag.

Los tags o etiquetas permiten asociar grupos de IPs según la taxonomía que el analista considere adecuada. Algunos se generan de manera automática al cargarse las referencias a dominios maliciosos conocidos, mientras que nuevos tags pueden ser creados siempre que se tenga la necesidad de agrupar hosts o servidores bajo una misma categoría. A medida que se expande el conjunto de datos almacenados, las etiquetas permitirán correlacionar de manera fácil diferentes muestras y familias, en múltiples instancias de análisis.

En la parte inferior de la pantalla pueden observarse diferentes atajos disponibles para tomar acciones sobre el nodo que actualmente se encuentre seleccionado. Entre ella, podemos elegir ocultarlo, mostrarlo, o identificar los nodos con los que ha establecido una conexión directa.

La segunda vista que Malcom puede generar sobre la captura es la de flujo de paquetes. Ésta puede accederse desde la pestaña “Flows”, y permite un examen exclusivo de los paquetes que circularon por la red y la secuencia que entre ellos tuvo lugar.

img_4

Para cada elemento, es posible notar dos iconos en el margen derecho que sirven al análisis de la carga útil de los paquetes. El pequeño símbolo de ojo nos permite examinar el payload, desplegando una ventana como se muestra en la siguiente captura de pantalla.

img_5

Si así lo requerimos, podemos acceder a la vista en formato hexadecimal del contenido del paquete haciendo clic en la pestaña “Hexdump”.

img_6

Por su parte, el símbolo de descarga nos ofrece la oportunidad de descargar el objeto relacionado al paquete que se ha seleccionado.

img_7

Cuando identificamos una IP o dominio que creemos puede replicarse a través de diferentes muestras o familias de malware, podemos dirigirnos a la pantalla de búsqueda de Malcom. La misma nos permite buscar rápidamente en la base de datos de la aplicación aquellos registros que coincidan con los filtros especificados.

img_8

Por ejemplo, si buscamos acorde a la etiqueta “zeus" obtendremos los resultados que se observan a continuación.

img_9

Para examinar el conjunto de datos almacenados en la base de datos, podemos dirigirnos a la pestaña “Browse dataset”. Desde este sitio también podremos realizar búsquedas, obteniendo resultados que enlazan todas las observaciones que se han dado de un mismo valor –IP, dominio, etiqueta, localización geográfica– a lo largo de análisis secuenciales.

img_10

Entonces, ¿en qué nos beneficia su instalación?

Malcom nos permite la visualización dinámica de capturas de paquetes, y la clasificación de nodos según patrones de comportamiento. Al almacenar referencias a sitios maliciosos conocidos, facilita la identificación de actores críticos en el establecimiento de canales de comunicación para el malware moderno.

Habiendo sido recientemente liberada, es de esperar nuevas mejoras en el futuro que nos permitan trabajar con mayor flexibilidad, generando scripts para el procesamiento automático personalizado de paquetes. Todas estas funcionalidades sirven a la configuración de un entorno de análisis que nos permita arribar a los resultados correctos en el menor tiempo posible.