Incident Response, Security and Forensics"

.

viernes, 30 de agosto de 2013

(II) Forensics con SPLUNK: Gestionando alertas en SNORT y eventos de Windows



Hola lectores,

En el pasado post estuvimos hablando de como solucionamos la gestión y presentación de un volumen muy grande de datos utilizando un gestor 'Big data' como es Splunk. Hicimos un 'timeline' y realizamos minería de datos con objeto de realizar un análisis forense.

En este post y a modo de recordatorio otro cliente me preguntaba como disponer y explotar muchas de las herramientas de seguridad perimetral que dispone. En ese punto me dispuse tras la experiencia adoptada volver a utilizar SPLUNK.

Tras diversas reuniones al final conseguimos desarrollar un bonito proyecto de integración, gestión, correlación, explotación y alertas de los eventos perimetrales y de servidores Windows y Linux de esta empresa. Como la explicación sobrepasa el cometido de este post, me voy a centrar en el detector de intrusos de SNORT y los registros de Windows Server a modo de ejemplo de integración.

INTEGRANDO SNORT

Esta empresa dispone de cuatro sensores de Snort basados en sistema operativo Linux en diferentes VLAN's de la red. Para enviar los datos al servidor de Splunk editamos el fichero 'snort.conf' y añadimos la siguiente línea:

output alert_syslog: host=192.168.1.30:514, LOG_LOCAL7 LOG_ALERT LOG_CONS LOG_PID

Luego ejecutamos Snort

snort -i3 -A console -dev -l C:\Snort\log -h 192.168.101.240/24 -c C:\Snort\etc\snort.conf -s

Donde:

-s activamos el envío al servicio syslog 
192.168.1.30 máquina donde corre el syslog
514 puerto UDP donde escucha el servicio simulado de syslog en Splunk.

Otra forma es utilizar el software cliente llamado 'universal forwarder' que dispone Splunk y que permite enviar ficheros y directorios a ubicaciones remotas, cosa que en nuestro caso no hizo falta.

CONFIGURANDO SPLUNK

Damos por bueno que hemos instalado Splunk y que accedemos a la aplicación con el usuario y contraseña. Una vez realizado este paso nos crearemos un fichero contenedor de los datos o índice donde almacenar los eventos enviados por las sondas snort en:

Manager  » Indexes  » New

En mi caso le puse de nombre 'snortsyslog'


A continuación creamos el fichero recolector de datos o fichero que explota Splunk en:

Manager » Data inputs » Files & directories, una vez hemos concluido esta parte, damos por finalizado la configuración que necesitamos para el uso y funcionamiento. Así de sencillo.

¿QUIEN DIJO QUE SNORT NO TENÍA ENTORNO GRÁFICO?

Lo bueno que tiene Snort (aparte de su impresionante motor) es que es muy fácil de parametrizar y configurar, ya que se basa en un fichero de texto, al igual que la gestión de reglas, en cambio una de las quejas que coinciden los responsables de departamentos de IT es que hay que utilizar muchos programas específicos para tener una visión ejecutiva de lo que está pasando, así mismo aunque existen entornos gráficos, estos son difíciles de adaptar cuando se les pide una información o informe algo más complejo.

Veamos como lo soluciona Splunk.

Una vez realizados los pasos anteriores, nos vamos a Apps  » Search y en el cuadro de búsqueda ponemos:

index="snort" 

Donde nos saldrá todos los datos recibidos hasta el momento.

Eventos recibidos por Snort

Una vez aquí (imaginación al poder) podremos hacer cualquier cosa que se nos apetezca como por ejemplo:

1.-  Mostrar las ip's más activas



2.- Mostrar ataques agrupados por su clasificación 




 3.- Búsqueda de un determinado ataque y sus horas de actividad




4.-Búsqueda de diversos tipos de ataques




5.- Estadísticas por ataques




6.- Cuadro de mandos con los tipos de ataques y actividades


Simplemente sencillo. Ya tenemos integrado los sensores de Snort en una instancia de Splunk.

WINDOWS SECURITY OPERATION CENTER

Otra de las utilidades gratuitas y curiosas que pudimos poner al cliente es una herramienta desarrollada íntegramente por la empresa INFIGO, que de forma sencilla y útil integra la gestión de eventos y registros de servidores Windows de forma que podemos ver entre otras cosas y en tiempo real las sesiones RDP fallidas o los diez inicios de sesiones incorrectos en servidores con Active Directory.

Este producto desarrollado para Splunk es compatible con Windows 2003, 2008 y Windows 2012, incluso en entornos mixtos. La aplicación ofrece además cuadros de mando que muestra las actividades de los cortafuegos basadas en host de Windows. También están disponibles, el seguimiento de las instalaciones de software y el acceso y modificación de servicios de directorio.

INSTALANDO LOS CLIENTES

Se requieren privilegios administrativos para el acceso por WMI a los puestos clientes, es decir desde el puesto donde estemos trabajando necesitaremos el usuario y contraseña del dominio. Procedemos a configurar en Splunk el acceso al registro de Windows de la siguiente manera.

Especificamos las IP's de los servidores que queremos recolectar los registros de Windows, en este caso ponemos localhost ya que nos interesa la propia máquina y las IP's de otros servidores. En el cuadro intermedio indicamos los registros a obtener, entre ellos el registro de Aplicación, Seguridad, Sistema, Hardware e Internet Explorer



Una vez realizado este paso nos proponemos a configurar la aplicación.

INSTALANDO LA APLICACIÓN

La instalación es muy sencilla. Primero y al igual que en Snort, nos creamos un fichero índice que contenga los datos. En nuestro ejemplo lo hemos llamado SOC_Windows.



Seguidamente nos descargamos la aplicación desde el repositorio de aplicaciones de splunk. Este paso nos descarga el siguiente fichero 'infigo_windows_soc.spl' el cual hay que abrir desde el menú  Manager  » Apps tal y como muestra la siguiente figura.


La aplicación nos pedirá que introduzcamos el fichero de índice el cual nosotros hemos creado anteriormente.


A continuación reiniciamos splunk desde el menú principal y accedemos al menú de Apps y desde allí al Windows Security Operations Center.



Una vez realizado este paso ya dispondremos de un cuadro de mando con los eventos como muestra la figura siguiente.


También disponemos de un extenso menú donde podremos ver:

Inicios de sesión incorrectos

Control de usuarios


Actividad 

 Cortafuegos


 Búsqueda de datos en Active Directory

De esta forma hemos conseguido integrar los registros de Windows dentro de una aplicación para Splunk. De un vistazo nos permite a través de su cuadro de mandos, tener una visión gráfica del estado de la seguridad, según indica el visor de eventos.

¿Y MIS OTRAS APLICACIONES DE SEGURIDAD?

Llegados a este punto nos queda integrar otras herramientas dentro de Splunk, ya que el cliente tiene un cortafuegos F5 y antivirus de Symantec.

Mirando por la documentación y la web de Splunk nos encontramos con la siguiente web: http://apps.splunk.com/ la cual os recomiendo visitar ya que dispone de cientos de aplicaciones que seguro que coinciden con alguna que tendréis.

Desde esta web nos permitió descargar y ejecutar las aplicaciones que el cliente necesitaba en ese momento, disponiendo de un cuadro de mando para la gestión de eventos de seguridad. 



CONCLUSIONES

Cada vez nuestros dispositivos de seguridad y aplicaciones generan una gran cantidad de eventos y registros de forma que cuando hay un incidente, este se hace muy complejo de tratar por su volumen de datos. Por otro lado muchas empresas crean 'saco de discos' donde tirar todos esos registros haciendo muy compleja la indexación y búsqueda de un parámetro o incidente.

Splunk tiene la facilidad de tratar con datos gigantes indexando la información para con un lenguaje natural permitir la búsqueda y explotación de de estos. Hay que tener en cuenta que este producto está pensado en su modo 'gratuito' para pequeñas empresas, ya que conforme añadamos logs y registros de dispositivos superaremos fácilmente ese umbral de 500 MB. teniendo que adquirir una licencia corporativa.

Por otro lado la poca y escasa documentación al respecto (hay mucha pero muy genérica) hace que el analista tenga que investigar el producto a integrar. Una vez incluido en Splunk, el manejo y estadísticas de datos es simple, sencillo y potente.

3 comentarios:

Hola,

soy Anabel y estoy haciendo un proyecto fin de carrera en la Universidad de Granada sobre seguridad. Estuve viendo su blog.
En mi proyecto estoy intentando detectar una bot mediante Snort y el posterior análisis de los resultados mediante Splunk y su visualización mediante Afterglow (integrado en Splunk).
Mi problema viene que para visualizar los datos con Afterglow necesito tener etiquetas las direcciones IP origen y destino, pero Snort no me las etiqueta. Entonces, a ver si pudiera ayudarme con mi problema en cuanto a etiquetar las direcciones IP mediante Snort (al igual que usted las tiene mediante la etiqueta dest_ip, src_ip) o bien si lo ha realizado mediante Splunk indicarme como, porque por más que lo intento no consigo dar con la solución.

Un saludo, muchas gracias.

Hola Anabel,

Mira a versi esto te puede ayudar:
http://seguridadyredes.wordpress.com/2011/02/25/visualizacian-grafica-de-alertas-snort-con-aferglow/

Saludos.

Ya le había echado un ojo a eso, pero no es exactamente lo que quiero ya que yo estoy usando Afterglow directamente desde Splunk y me lo hace todo muy fácil siempre y cuando tenga lo que quiero mediante etiquetas.
Gracias.