Vortex IDS. Detección de intrusiones y análisis forense tráfico de red. Parte I

Seguimos estudiando herramientas para la detección de intrusiones, análisis de tráfico de red a partir de ficheros .pcap y análisis forense.

Arquitectura Vortex IDS

En esta ocasión vamos a tratar una herramienta IDS que, a partir de un fichero .pcap , es capaz de reensamblar los flujos TCP para crear una serie de fichero con los datos de la captura para su posterior análisis. Se trata de Vortex IDS. Para analizar los datos podemos usar otras herramientas como grep, sed, awk, cut, etc. Como siempre, mejor lo vemos en la práctica.

Instalando Vortex IDS.

La instalación la voy a realizar en sistema basado en Ubuntu 10.10. Este sistema tiene ya instalado Snort, Wireshark, Suricata, Xplico, Prelude IDS, etc, con lo que la mayoría de librerias necesarias las tengo ya instaladas. Aún asi y como prerequisito me hizo falta instalar:

sudo apt-get install libnids-dev

Ahora descargamos y compilamos Vortex:

wget http://sourceforge.net/projects/vortex-ids/files/vortex/2.9.0/vortex-2.9.0-59.tgz

tar zxvf vortex-2.9.0-59.tgz

cd vortex-2.9.0

Para compilar con gcc usamos la línea siguiente según nos aconseja en el archivo  vortex.c:

gcc vortex.c -lnids -lpthread -Wall -o vortex -O2

Vortex IDS. Uso básico.

La arquitectura de Vortex es muy simple:

Arquitectura Vortex IDS

Así que lo primero que vamos a hacer es crear una carpeta donde se volcarán todos los archivos de datos, en mi caso /trafico.

Vortex se puede usar en dos modos:

  • modo live leyendo una interface de red: sudo ./vortex -i (interface_red)
  • modo .pcap leyendo un fichero .cap/ .pcap: sudo ./vortex -r (fichero .pcap)

Ahora leemos un archivo .pcap :

sudo ./vortex -e -r ../captura_smtp.pcap -t ./trafico

  • -e para el uso de salida extendida. nombre de fichero con más datos.
  • -r para ller el fichero .pcap
  • -t volcamos los datos en la carpeta que indiquemos

Para simplificar omitimos -e:

sudo ./vortex -r ../captura_smtp.pcap -t ./trafico

Obtenemos lo siguiente:

Salida simple de datos Vortex IDSTenemos una serie de archivos de datos con, básicamente, IP cliente, número puerto origen cliente, dirección, IP servidor y puerto destino. También una serie de datos de rendimiento, errores, etc.

La dirección puede ser:

  • cliente -> servidor
  • c servidor -> cliente

Si indicamos -e, el formato de salida sería el siguiente:

tcp-10-1300870815-1300870841-e-121-192.168.x.xxx:45885s192.168.x.xxx:25

protocolo-número de serie de la conexión-marca de tiempo inicico-marca tiempo final de la conexión-la razón del término de la conexión-tamaño conexión-IP cliente:puerto origen-dirección-ip servidor:puerto destino

Respecto a la razón para el término de la conexión (en el ejemplo “e“, podemos encontar de forma más usual:

  • c conexión terminada de forma normal
  • r reset de conexión
  • t time out
  • e término de conexión de forma prematura (no indica error)

Estos archivos contienen datos de tráfico. Por ejemplo y para un archivo con puerto 80 :

alfon@alfonubuntu:~/vortex-2.9.0/trafico$ cat 192.168.x.xxx:59873s192.168.x.xxx:80

GET / HTTP/1.0

User-Agent: Wget/1.12 (linux-gnu)

Accept: */*

Host: HOST.ES

Connection: close

Un archivo con puerto 25:

alfon@alfonubuntu:~/vortex-2.9.0/trafico$ cat 192.168.x.xxx:39604s192.168.x.xxx:25

HELO nat2-mxxxilev-addr2.texxxx.by

MAIL FROM: <jqndpota@host.es>

RCPT TO: <jqndwore@dominio.es>

y si fuera el caso todo los datos, adjuntos, etc de un determinado mail.

Análisis puerto 25 Vortex IDS

Podemos usar filtros de la siguiente manera (-f “formato BPF”):

sudo ./vortex -r ../captura_smtp.pcap -t ./trafico -f  ‘tcp and port 25′

Más información sobre filtros .pcap y formato BPF:

wireshark-tshark-windump-filtros-pcap-creacion-de-filtros-y-filtros-avanzados-para-captura-de-paquetes/

Y además usar, como apunté al principio, herramientas alternativas. Por ejemplo obtener los ficheros de datos de captura con un determinado filtro usando BPF y grep:

sudo ./vortex -r ../captura_smtp.pcap -t ./trafico -f  ‘tcp and port 25′ | grep ‘host.es’ *

Una forma muy simple, arriba, que podemos complicar de múltiples maneras:

sudo ./vortex -r ../captura_smtp.pcap -t ./trafico -f  ‘tcp and port 25′ | grep ‘RCPT TO: alfon_syr@dominio.es’ *

De igual forma podemos buscar cadenas, imagenes, documentos y usar expresiones regulares.

En resumen, usando en toda su potencia la utilidad grep.

Esto lo podemos realizar en tiempo real si usanos Vortex IDS de la forma live leyendo desde una interface de red:

sudo ./vortex -i eth0 -t ./trafico -f  ‘tcp and port 25′ | grep ‘RCPT TO: alfon_syr@dominio.es’ *

Podemos incluso crear scripts para obtener datos de forma más personalizado usando awk, sed, etc, de forma que extraer cualquier datos en tiempo real es bastante sencillo.

Vortext IDS incluye opciones para Rendimiento, Multithread y otras opciones que iremos viendo en otras entregas.

Veremos también, y ahí está la verdadera potencia de Vortex IDS, como intergrar y/o generar scripts para extrear datos conctretos para análisis forense y formatear la salida de datos.

———————————-

Hasta aquí por hoy.. Hasta la próxima.

About these ads
Esta entrada fue publicada en Herramientas, Interpretación capturas tráfico red. pcap, Seguridad y redes, Vortex IDS. Guarda el enlace permanente.

7 respuestas a Vortex IDS. Detección de intrusiones y análisis forense tráfico de red. Parte I

  1. Pablo dijo:

    Hola, tengo problemas para instalar vortex ids, sigo tus instrucciones y me manda este error al compilar:
    vortex.c:60:18: fatal error: nids.h: No such file or directory
    Ayuda, por favor.

    • Alfon dijo:

      Hola Pablo,

      Creo que el error se debe a que no tienes libnids. Además, que supongo lo tendrás, es necesario libpcap y libbsf.
      Ya me cuentas que tal.

      saludos,

  2. Javier dijo:

    hola alfon utilizo debian squeeze y quiero instalar un IDS cual me recomiendas y que necesito? la gente que conozco me ha recomendado snort o suricata.. mi idea es hacer una VM en xen dedicada exclusivamente a este fin. que recursos tendria que tener? que librerias necesito toda info te la agradeceria .
    Gracias de antemano

  3. Javier dijo:

    necesito manual desde cero del que me digas

  4. Pingback: Tcpick un sniffer que realiza seguimiento y reensamblado de flujos tcp. Mostrando datos payload. | Seguridad y Redes

  5. Pingback: Gulp y los mecanismos de rendimiento en herramientas de captura de red .pcap. | Seguridad y Redes

  6. Alfon dijo:

    Hola a todos.
    ————————————————————————–
    Otra forma de instalación de Vortex IDS:
    ————————————————————————–
    1.- Necestiamos tener:
    libglib2.0-dev libpcre3 libnet1 libpcap0.8-dev

    2.- Descargamos e instalamos libnids:
    wget “http://surfnet.dl.sourceforge.net/project/libnids/libnids/1.24/libnids-1.24.tar.gz”
    tar xzf libnids-1.24.tar.gz
    cd libnids-1.24
    ./configure && make && sudo make install

    2.- Descargamos e instalamos Vortex…:
    Creamos una carpeta de instalación (/tmp/vortex_install), entramos en ella y:


    cd /tmp/vortex_install

    wget "http://downloads.sourceforge.net/project/vortex-ids/vortex/2.9.0/vortex-2.9.0.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fvortex-ids%2F&ts=1295723515&use_mirror=softlayer"

    wget "http://downloads.sourceforge.net/project/vortex-ids/libbsf/1.0.1/libbsf-1.0.1.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fvortex-ids%2Ffiles%2Flibbsf%2F1.0.1%2F&ts=1295723688&use_mirror=softlayer"

    tar xzvf libbsf-1.0.1.tgz && cd libbsf

    gcc -g -O3 -fPIC -shared -Wl,-soname,libbsf.so.1.0.1 libbsf.c -o libbsf.so.1.0.1

    /usr/bin/install -c -c -m 644 libbsf.so.1.0.1 /usr/local/lib

    ln -s /usr/local/lib/libbsf.so.1.0.1 /usr/local/lib/libbsf.so

    /usr/bin/install -c -c -m 644 bsf.h /usr/local/include

    cd /tmp/vortex_install

    tar xzvf vortex-2.9.0.tgz && cd vortex-2.9.0

    gcc -I/usr/local/include -O3 vortex.c -o vortex -lnids -lpthread -lbsf -DWITH_BSF -lpcap -lglib-2.0 -lnet -lgthread-2.0 -lrt

    /usr/bin/install -c -c -m 755 vortex /usr/local/bin

    Saludos.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s