Suricata IDS/IPS 1.2.1 Extracción de ficheros de sesiones HTTP tráfico de red.

Ya hemos visto en artículos anteriores como instalar, configurar, incluso añadir un sensor suricata a un SIEM Prelude. Esto lo hicimos con la versión 1.0.2 de Suricata.
En esta ocasión instalaremos y configuraremos la versión 1.2.1 de Suricata pero, además, añadiremos la funcionalidad de extracción de ficheros de sesiones HTTP.
Ya hemos hablado en varias ocasiones de la forma que tenemos de extraer ficheros de datos Binarios / Objetos HTTP a partir de una captura de tráfico de red, e incluso la forma de extraer fichero de impresión en red. También la forma de hacerlo con Tcpxtract, Justniffer, Assniffer, con Xplico, etc.
Al lio..

Instalación de Suricata 1.2.1

Yo ya tengo todos los prerequisitos e instalo directamente. Cualquier problema o para una primera instalación de suricata teneis más información sobre instalación y resolución de errores aquí: IDS / IPS Suricata. Instalación, configuración y puesta en marcha.

wget http://www.openinfosecfoundation.org/download/suricata-1.2.1.tar.gz
tar -xvzf suricata-1.2.1.tar.gz
cd suricata-1.2.1
./configure –enable-prelude

–enable-prelude por si usamos suricata como un sensor prelude que es mi caso.

Ahora, si no tememos las carpetas creadas por otra instalación anterior de suricata hacemos:

mkdir /var/log/suricata/
mkdir /etc/suricata

cp suricata.yaml /etc/suricata
cp classification.config /etc/suricata

make
sudo make install

cd /etc/suricata

Vamos a descargar las rules o reglas Emerging-Threats:

wget http://www.emergingthreats.net/rules/emerging.rules.tar.gz
tar xzvf emerging.rules.tar.gz

La extracción de ficheros de sesiones HTTP en suricata se realiza mediante reglas. Un ejemplo de estas reglas (files.rules) las descargaremos y ubicaremos en /etc/suricata/rules :

wget https://redmine.openinfosecfoundation.org/projects/suricata/repository/revisions/master/raw/rules/files.rules

Editamos files.rules y descomentamos las reglas que queramos usar.

Modificación de archivo de configuración suricata.yaml

Editamos /etc/suricata/suricata.yaml

Aunque no es necesario para la extracción de ficheros, yo he realizado la modificación siguiente:

  – pcap-log:
      enabled:  yes
      filename: log.pcap

Para la extracción de ficheros nos hará falta:

  – file:
      enabled: yes
      log-dir: files
      force-magic: no

log-dir files hará que los ficheros extraidos se depositen en /var/log/suricata/files

También en la sección stream:

stream:
  memcap: 32mb
  checksum_validation: no
  inline: no                  
  reassembly:
    memcap: 64mb
    depth:  
    toserver_chunk_size: 2560
    toclient_chunk_size: 2560

depth en 0, es decir, sin límite.

En cualquier caso también nos hará falta:

  • threshold-file: /etc/suricata/threshold.config
  • default-rule-path: /etc/suricata/rules/
  • classification-file: /etc/suricata/classification.config
  • reference-config-file: /etc/suricata/reference.config

En la sección libhtp:

libhtp:

   default-config:
     personality: IDS
     # Can be specified in kb, mb, gb.  Just a number indicates
     # it’s in bytes.
     request_body_limit: 0
     response-body-limit: 0

   server-config:

     – apache:
         address: [192.168.1.0/24, 127.0.0.0/8, «::1»]
         personality: Apache_2_2
         # Can be specified in kb, mb, gb.  Just a number indicates
         # it’s in bytes.
         request_body_limit: 0
         response-body-limit: 0

     – iis7:
         address:
           – 192.168.0.0/24
           – 192.168.10.0/24
         personality: IIS_7_0
         # Can be specified in kb, mb, gb.  Just a number indicates
         # it’s in bytes.
         request_body_limit: 0
         response-body-limit: 0

En la sección rule-files, que es donde se indican las rules a cargar, comentamos o descomentamos las reglas de nuestro interés y, además, añadimos la regla que anteriormente descargamos files.rules:

 – files.rules

Otras modificaciones pueden ser la ubicación de puertos de servicios que se encuentran con la indicación de puertos por defecto, nuestra HOME-NET, etc.

y listo.

Sobre algunas características de suricata ya escribí algo aquí: IDS / IPS Suricata. Entendiendo y configurando Suricata. Parte I

Extracción de ficheros con suricata.

Ya solo nos queda ejecutar suricata:

sudo suricata -c /etc/suricata/suricata.yaml -r ../pcap1/ids_2.pcap

Vemos la salida de información en consola:

Ejecutando Suricata 1.2.1 para extracción ficheros sesiones HTTPVamos a /var/log/suricata y vemos:

Logs de suricata 1.2.1 en /var/log/suricata y ficheros extraidos en files

Ya, en otro capítulo de Suricata IDS/IPS os hablé de los logs:

IDS / IPS Suricata. Instalación, configuración y puesta en marcha.

Dentro de la carpeta /var/log/suricata/files tendremos una serie de ficheros extraídos de la forma:

Suricata 1.2.1 fichers extraidos.

Tendríamos ficheros de texto, pfd, imágenes .js, etc ,etc ,etc,

Si editamos, por ejemplo, (estaría más a bajo del listado) file.9984.meta:

TIME:              12/07/2011-12:16:52.887378
PCAP PKT NUM:      869016
SRC IP:            195.xxx.152.xx
DST IP:            192.168.101.240
PROTO:             6
SRC PORT:          80
DST PORT:          36908
FILENAME:          /hphotos-xp-cpd4/381174_249112748_148457649_683242_1878105586_a.jpg
MAGIC:             JPEG image data, JFIF standard 1.02, comment: "*"
STATE:             CLOSED
SIZE:              10356

Tenemos información de la extracción respecto a origen, destino, puerto, etc. El archivo meta hace referencia, en este caso a file.9984.

En el explorador veríamos los ficheros:

suricata 1.2.1 extracción ficheros sesiones HTTP.

Relacionado con suricata IDS / IPS:

======

Y hasta aquí por hoy. Hasta lá próxima-

Esta entrada fue publicada en Interpretación capturas tráfico red. pcap, Interpretación capturas tráfico red. pcap, Seguridad y redes, Suricata y etiquetada , , , , . Guarda el enlace permanente.

6 respuestas a Suricata IDS/IPS 1.2.1 Extracción de ficheros de sesiones HTTP tráfico de red.

  1. franciscopl dijo:

    Me ha gustado mucho….. Gracias….

  2. nx0 dijo:

    Hola Alfon. Hace tiempo que te leo y debo decirte que tu página es (de lejos) la mejor a nivel nacional sobre seguridad y redes enfocadas al análisis del tráfico de red que en definitiva es la esencia de la seguridad en redes y me sorprende ver como no tienes muchos mas comentarios sobre temas interesantes como este.

    Me gustaría comentar una cosa y no se si es el lugar adecuado pero ahí va….

    Hace tiempo que vengo escuchando muchas bondades de suricata, entre ellas que se puede usar el potencial de la GPU para mejorar el rendimiento del IDS. Hay algunos que afirman que es mas eficiente que snort a la hora de realizar el reensamblado de los paquetes tcp/ip y procesamiento de paquetes en general.
    En definitiva, lo que comentas es una característica que no se si se implementa en snort, pero me gustaría saber en realidad, que ventaja real supone usar suricata en lugar de snort, siendo esta última una herramienta mucho mas madura que lleva «cociéndose» desde hace muchos años, frente a la joven suricata que solo al revisar su archivo de configuración ya me abundan serias dudas sobre si realmente es mejor que snort…

    Como último, volviendo al tema principal del artículo me gustaría saber si es posible realizar eso mismo con otros protocolos, como por ejemplo ftp, o si es posible realizarlo con Snort, que es el que uso.

    Un saludo y gracias Alfon.

    Y por favor, no dejes de escribir nunca!!!! x)

    • Alfon dijo:

      Perdona el retraso nx0. Ante todo gracias por tus comentarios ;-))
      En el Twitter he dejado algunos documentos sobre rendimiento. Estoy preparando material para publicar respecto a tus cometarios. Sobre GPU/CUDA y aceleración gráfica, aún no está demasiado maduro pero avanza sensiblemente. Aquí tienes una guía algo antigua sobre su configuración: https://t.co/3eOXlTGQ Sobre comparativa tienes: http://t.co/Km2UP8rA y también de 2011: http://www.aldeid.com/wiki/Suricata-vs-snort Habría que hacer nuevas comparativas porque la beta 1.3 tiene muchas novedades.

      Saludos,

  3. ortopedia dijo:

    Wow eso de utilizar CUDA esta muy pero que muy bien

  4. Pingback: Suricata IDS/IPS 1.4b1 Instalación y configuración en Ubuntu mediante PPA. Custom HTTP logging. | Seguridad y Redes

Deja una respuesta

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. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s