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),
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:
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:
Otra parte de la información obtenida para la generación de .kml 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:
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.
Detalle de alertas si pinchamos e uno de los iconos:
Si algún sitio genera muchas alertas, se simbolizará de esta manera:
Enlaces Relacionados con Geolocalización mediante herramientas .pcap:
===
Hasta aquí por hoy. Hasta la próxima.
Pingback: Visualización interactiva de tráfico de red con INAV. | Seguridad y Redes
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
adrian hay nueva versión, mas elaborada y estable. postearé al respecto. Saludos.