Snort. Geolocalización GeoIP de alertas con Snort, snoge y Google Earth.

Sobre Geolocalización IP usando GeoIP y tomando como fuente de datos archivos .pcap, hemos visto ya como hacerlo con Wireshark, Tshark, Xplico, Prelude correlator, Argus (Auditing Network Activity),

snoge snort resultado alertas snort google earth

En esta ocasión vamos a generar un archivo .klm con información de geolocalización IP de las alertas de Snort para visualizar con Google Earth.

Instalación de Snoge.

Snoge es un script de perl que, a apartir de un log snort unified2, crea un archivo .kml Google Earth con datos de geolocalización de las alertas.

Para ello necesitamos instalar lo siguiente:

sudo apt-get install unzip libio-socket-ssl-perl

Ahora descargamos y descomprimimos snoge:

wget http://snoge.googlecode.com/files/snoge-1.8.tgz
tar -zxvf snoge-1.8.tgz

Ahora vamos con las dependencias. Se entiende que tenemos instalado perl. Nesitamos para perl y haciendo uso de cpam:

sudo perl -MCPAN -e ‘install +YAML’
sudo cpan -i Geo::IP::PurePerl
sudo cpan -i Module::Load
sudo cpan -i NetPacket::Ethernet

Descarga de GeoLiteCity.

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip ./GeoLiteCity.dat.gz
sudo mkdir /usr/local/share/GeoIP
sudo cp GeoLiteCity.dat /usr/local/share/GeoIP/

Si no tenemos la carpeta GeoIP la creamos:

sudo mkdir /usr/local/share/GeoIP

tanto si la tenemos como si la hemos creado:

sudo cp GeoLiteCity.dat /usr/local/share/GeoIP/

Instalación y configuración de SnortUnified.

Instalamos ahora snortunified, que es un módulo de perlpara la gesión de archivos log snort en formato unified.

get http://snort-unified-perl.googlecode.com/files/SnortUnified_Perl.20100308.tgz
tar -zxvf SnortUnified_Perl.20100308.tgz
cd SnortUnified

copiamos lo siguiente (en mi caso en perl 5.10.1):

sudo cp SnortUnified.pm /usr/local/lib/perl/5.10.1
sudo cp -r SnortUnified /usr/local/lib/perl/5.10.1

Configuración de snort.

Solo necesitaremos descomentar y dejar la línea correspondiente a la salida snort unified2 en /etc/snort/snort.conf:

output unified2: filename snort.unified2, limit 128

Uso de snoge.

Snoge lo podemos usar de varias formas, entre ellas en tiempo real (lo veremos más  adelante). En esta ocasión usaremos la forma Onefile (un solo archivo log snort unified2).

Podemos generar el unified2 de varias formas, a traves de un fichero .pcap generado por Wireshark / Tshark, TCPDump, etc y pasándolo por snort para crear las alertas. O directamente el unified2 de /var/log/snort.

Si tenemos Security Onion, podemos usar los logs unified2 que se encuentran en /nsm/sensor_data/nombre_del_sensor/

Evidentemente es independiente de la plataforma, podemos usar Windows. / BSD / Linux…

Configurando snoge.

Pero antes que nada debemos configurar la forma en que trabajará snoge.

Tenemos varios archivos de configuración en la carpeta snoge que es snoge-1.8 que descargaos y descomprimimos más arriba.  Estos archivos de configuración dependen de la forma dee ejecución de snoge. Para nuestro caso de uso de un solo archivo .pcap y no en tiempo real:

unified-example.conf

Nos centraremos en las siguientes líneas:

  • ignoresource=192.168.101.240  si queremos ignorar un origen de alertas
  • sensors=xxx.xx.xxx.xx ubicación del sensores (puede haber varios.)
  • defaultlocation=xxx.xx.x.xx una IP pública «destino» por defecto de las alertas o ubicación del sensor Snort.

Ejecuntando snoge:

Para ver los valores de configuración y posibles errores usamos -v e indicamos el archivo de configuración:

sudo ./snoge -v -c unified-example.conf

el resultado es:

sudo ./snoge -v -c unified-example.conf

Se ejecuta de la siguiente forma:

alfon@alfonubuntu:~/snoge-1.8$ sudo ./snoge -v -c unified-example.conf –onefile /var/log/snort/snort.unified2.1305003710 -w /var/www/ejemplo.kml

  • -v para más información, en caso de fallo ver donde está el problema, etc.
  • -c leemos el archivo de configuración
  • –onefile indicamos el log unified2
  • -w escribimos en archivo los datos .kml Google Earth generados.

Una vez ejecutado y al indicar la opción -v tendremos bastante información de la localización, alertas, etc:

snoge snort unified2 alertas geolocalizacion en google earth

Otra parte de la información obtenida para la generación de .kml google Earth.

snoge snort unified2 alertas geolocalizacion en google earth

El resultado de la ejecución atnerior fue algo engorroso por la cantidad de alertas generadas.

Google Earth.

Para mostraros el resultado en Google Earth  he usado un log con pocos datos y el resultado de cargar el archivo .kml es este:

snoge snort resultado alertas snort google earth

En rojo el destino de los ataques. En azul claro las líneas de origen de los ataques.

Detalle de uno de los origenes de los ataues. La imagen icono se puede cambiar.

snoge snort google earth geolocalizacion

Detalle de alertas si pinchamos e uno de los iconos:

detalle alertas google earth snort snoge

Si algún sitio genera muchas alertas, se simbolizará de esta manera:

snoge snort geolocalizacion google earth

Enlaces Relacionados con Geolocalización mediante herramientas .pcap:

===

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

Esta entrada fue publicada en Seguridad y redes, Snort, Visualización Gráfica Tráfico red.. Guarda el enlace permanente.

3 respuestas a Snort. Geolocalización GeoIP de alertas con Snort, snoge y Google Earth.

  1. Pingback: Visualización interactiva de tráfico de red con INAV. | Seguridad y Redes

  2. adrian dijo:

    Muy Bueenas Tu blog Bro 11 puntos con la data.. Mira tengo un problem
    Unknown mode. at ./snoge line 263
    actualize snort-unified-perl
    sige igual a q se debe¡?
    desde ya salu2 coordiales

Deja un comentario