Visualización y análisis de tráfico de red con Malcom Malware Communication Analyzer y Bro IDS. Parte I.

Seguimos, una vez más, con la serie dedicada a visualización gráfica de tráfico de red. En esta ocasión, con una herramienta GNU/Linux con la que podremos visualizar gráficamente los nodos/hosts involucrados en una captura .pcap. Esta herramienta es Malcom, desarrollada en python (usa también scapy) y al a que accedemos (webserver) desde un simple navegador.
Malcom.

Malcom.

Además tenemos una serie de facilidades para interpretar el tráfico y visualizar las comunicaciones entre nodos que iremos viendo a continuación. Malcom está orientado sobre todo a la detección/análisis de malware. En esta primera parte veremos la interface y el uso básico.
Veremos, también como con Bro IDS/IPS también podemos detectar, en un primer pase, el incicio de Malware y analizarlo un poco más con Malcom.

Al lio…

Instalando Malcom.

La instalación de Malcom la he realizado sobre mi Ubuntu 13.10. Se trata de una instalación sencilla cuyos pasos podeis ver y seguir desde la ayuda a la instalación de la web oficial: https://github.com/tomchop/malcom

Una vez instalado desde la terminal entramos en la carpeta ./malcom hacemos lo siguiente para la ejecución más básica:

Ejecutando Malcom

Ejecutando Malcom

cargará el webserver y los feeds (ya veremos que son):

Cargando webserver y feeds

Cargando webserver y feeds

Malcom. Uso básico.

ya tenemos cargado el webserver. Accedemos a el desde un navegador: 0.0.0.0:8080 o desde cualquier otro host, por ejemplo 192.168.1.106:8080.

Aparecerá en el navegador la siguiente interface:

Malcom. Dataset

Malcom. Dataset

En esta primera pantalla tendríamos los datos de nuestras  sesiones/capturas de tráfico guardadas en una base de datos mongoDB (base de datos NoSQL) . Si pulsamos en Sniffer:

Malcom Sniffer

Malcom Sniffer

desde ahí podremos seleccionar nuestro archivo de captura .pcap, un nombre para la sesión y aplicar un filtro BPF si queremos. Pulsamos en Create new session y:

Malcom. Sesión abierta Graph.

Malcom. Sesión abierta Graph.

Aquí destacamos las siguientes zonas de la interface.

  • Zona central de visualización gráfica de la captura con nodos que representan ip, hostname y url. Si pulsamos en cada cada tipo de nodo, se desplegará la información correspondiente en el panel derecho (Info).
  • Abajo tenemos botones para alejar o acercar nodos, marcar/desmarcar nodos, seleccionar, mover, etc.
  • A la derecha, información del nodo y datos GeoIP si se dá el caso. En este caso no porque son host de unared interna.
  • a la derecha, abajo, tenemos información de las sesiones activas o guardadas en la BD.

En este caso se trata de un nmap scan desde el nodo de la red (192.168.1.5) hacia otros host del mismo segmento de red.

Si pulsamos en la pestaña Flow (arriba), vermos el flujo del tráfico, si se ha ahplicado algún decode y posibilidad de visualizar o descargar el payload. (marcado en rojo abajo):

Malcom. Flow.

Malcom. Flow.

Si volvemos a la pantalla primera Dataset, vemos que los  datos están guardados con sus tags correspondientes y otros datos, además de la gestión de la Base de Datos.

Podemos busccar en Search en el panel de la derecha o en la pestaña After dataset, borrar los datos, etc.

Malcom. Dataset y gestión BD.

Malcom. Dataset y gestión BD.

Yo voy a usar el borrado de datos y cargar otro .pcap….

Un ejemplo con Zeus GameOver.

Antes que nada analizamos con Bro IDS / IPS.

Para ver sobre instalación y uso básico / avanzado de BRO IDS/IPS: https://seguridadyredes.wordpress.com/category/bro-ids/

Ejecutamos bro con el archivo .pcap objeto de análisis:

alfon@broids:~/browork$ sudo /usr/local/bro/bin/bro -C -r ../pcap/BIN_ZeusGameover_2012-02.pcap local.bro

obtenemos de esta forma una serie de logs. A mí me intersa sobre todo el log: notice.log

alfon@broids:~/browork$ cat notice.log | /usr/local/bro/bin/bro-cut id.orig_h id.orig_p id.resp_h id.resp_p file_desc msg

Obtenemos lo siguiente (pinchar par ampliar):

Salida bro brocul. malware

Salida bro brocul. malware

Vemos que detecta el Malware.

Si arriba añadimos, además de los campos id.orig_h id.orig_p id.resp_h id.resp_p file_desc  msg, el campo sub, tendríamos también la referencia del Malware… por ejemplo en este caso saldría referencias como esta: https://www.virustotal.com/en/search/?query=6027557ace4158d21b771503ed3d84f8911134a8

También prodríamos:

alfon@broids:~/browork$ cat notice.log | /usr/local/bro/bin/bro-cut | grep Malware

Como curiosidad podemos ver con bro otros archivos .exe no detectados como Malware de esta forma:

alfon@broids:~/browork$ cat files.log | /usr/local/bro/bin/bro-cut | grep exe | sort | uniq -c

Ahora analizamos con Malcom.

Abrimos un .pcap, en este caso BIN_ZeusGameover_2012-02.pcap y:

Gráfica con BIN_ZeusGameover_2012-02.pcap

Gráfica con BIN_ZeusGameover_2012-02.pcap

Se trata de un ejemplo de Zeus GameOver. Observad lo marcado en rojo y verde. Vemos también el host de la red involucrado en el centro. En el recuadro rojo se aprecia visualmente la comunicación del host de la red con el host externo. Vemos su IP el http.request y el dominio marcados en nodos y cada uno con su color.

Si vamos al a Loaded Feeds o alimentadores de información de Malcom, (arriba), vemos lo siguiente:

Malcom. Feeds cargados

Malcom. Feeds cargados

Sobran los comentarios ¿ verdad ?.

Si investigamos un poquito por internet sobre el dominio que hemos visto más arriba (ewpetro.com), aparece o aparecía en su momento como un Zeus Tracker:

Malcom. Zeus tracker

Malcom. Zeus tracker

Hemos visto también que en Flows podemos ver los payloads. Vamos entonces a Flows y:

Malcom. Flows. Payload.

Malcom. Flows. Payload.

========================================

Y hasta aquí por hoy y en esta primera parte, en la que he tratado de presentar la herramienta, usarla de forma básica y un pequeño ejemplo.

Hasta la próxima..

============================================

Esta entrada fue publicada en Bro-IDS, Malware, Seguridad y redes, Visualización Gráfica Tráfico red. y etiquetada . Guarda el enlace permanente.

2 respuestas a Visualización y análisis de tráfico de red con Malcom Malware Communication Analyzer y Bro IDS. Parte I.

  1. matias dijo:

    Estaba tratando de instalar Malcom pero cuando ejecuto ./malcom me tira el siguiente error «Could not load GeoIP library – No module named geoip2.database» Instale nuevamente Maxmind pero el error continua. Me podrias dar una mano? Gracias.

  2. Muy buen post! Comparto con ustedes el link del sitio web de Alutel Mobility, una solución que permite el control de las personas y los vehículos de forma móvil focalizado en proyectos productivos, minería, petróleo gas, construcción. No se lo pierdan!

    http://www.alutelmobility.com

Deja un comentario