BRO: herramienta para analizar el tráfico de red
Una de las partes fundamentales en el análisis
dinámico de códigos maliciosos es la obtención de información
a partir de una captura de tráfico. Para lograr este objetivo además de las
opciones para hacer gráficos, el uso de filtros Wireshark para detectar
actividad maliciosa suele ser una de las alternativas más utilizada.
Pero no es la única herramienta para lograrlo, por
ejemplo Malcom permite examinar estructuras de redes
maliciosas facilitando el análisis de las relaciones entre las diversas
direcciones IP, dominios y servidores DNS que toman parte en una comunicación
C&C, permitiendo procesar rápidamente los datos recolectados y creando
gráficos intuitivos que ponen en evidencia las conexiones entre equipos en
red. Otra interesante opción para analizar archivos pcap
es CapTipper, desarrollada en Python tiene una serie de características
que facilita la lectura de estos archivos permitiendo ahorrar tiempo y
optimizando el trabajo de auditoría.
Dentro de todo el arsenal de herramientas
que se podrían encontrar para realizar este tipo de actividades
encontramos Bro, pensado como un sistema de detección de instrucciones (IDS) que corre en plataformas UNIX/Linux
y cuyo principal objetivo es permitir el análisis del tráfico de red en
busca de actividad sospechosa. Dado que es una herramienta bastante útil y que por su facilidad para
hacer scripts resulta bastante flexible y adaptable, sobre todo
para el análisis forense de una gran cantidad de datos.
Bro: Por dónde empezar
Esta herramienta permite analizar
la actividad de red a nivel de aplicación para ir comparando este
comportamiento con patrones que pudieran ser considerados sospechosos ya sea
por el tipo de paquetes que se intercambien o las características de su
contenido.
Para iniciar nuestros análisis solo debemos
ejecutar el comando para copiar el repositorio directamente desde GitHub. Con
estos además de asegurarnos que tenemos la última versión se nos facilitará su
actualización:
git clone --recursive git://git.bro.org/org
Una vez tenemos el
repositorio en nuestra máquina, solo nos queda instalar algunas dependencias y
ejecutar la instalación de nuestra herramienta. Esta herramienta es conocida
por sus funcionalidades de IDS, pero en este caso nos va interesar darle una
mirada a las características para extraer información de las capturas de
tráfico.
Dentro de las
características que vale la pena resaltar en la capacidad para analizar grandes volúmenes de tráfico.
El funcionamiento de la herramienta como ya lo mencionamos se hace a través de
scripts, con los cuales se hace la extracción de información que se esté
buscando.
Como resultado de
aplicar Bro sobre un archivo pcap resultan varios archivos con información más
específica y organizada de acuerdo a las características de cada script. Utilizando la opción más básica de Bro podemos obtener una
gran cantidad de información discriminada por protocolos:
bro –r [ruta_archivo_pcap]
Ahora
tenemos varios archivos con la información organizada de diferentes maneras.
Por ejemplo en el archivo http.log se pueden
encontrar filtradas las peticiones HTTP de la captura de tráfico. Como se puede
ver en la siguiente imagen, algo que puede llamar la atención durante un
análisis es la descarga de un archivo ejecutable:
El string
que está resaltado en amarillo, nos va a permitir hacer seguimiento de este
evento en particular a través de los demás archivos generados por la
herramienta. Por ejemplo si vamos al archivo conn.log y buscamos esta
cadena de caracteres vamos a obtener más información sobre la conexión como el
momento en que se llega el primer paquete, las ip y puertos utilizados, la
duración de la conexión, el origen de la conexión, entre otra información que
podría resultar interesante para el análisis:
Hasta este punto con el manejo de Bro
podemos obtener información similar a la que podríamos encontrar en otras
herramientas como Wireshark o CapTipper, solo que
organizada de una manera diferente.
Fuente: welivesecurity