SigmaShooter (IV): Ejecución automática de Sigma contra SIEM


Llegados a este punto de la serie, en el que ya disponemos de un entorno SIEM, Graylog, recibiendo eventos de Windows y tenemos desplegada la herramienta SigmaShooter, configuraremos la aplicación para ejecutar la inteligencia subida a la herramienta, en forma de firma Sigma, contra el SIEM Graylog de manera programada.

Pero antes de empezar, subiremos nuestras reglas Sigma a la aplicación desde el botón “Upload Sigma rules”:

Utilidad Upload Sigma rules de SigmaShooter

En este ejemplo, se han tomado las reglas Sigma de su repositorio oficial, las cuales se pueden obtener del siguiente enlace:

https://github.com/Neo23x0/sigma/tree/master/rules

Finalizamos la importación pulsando en “Submit”. Después de la subida de firmas, la aplicación tendría el siguiente aspecto:

Ventana web principal de SigmaShooter con firmas cargadas

Antes de ejecutar las firmas y empezar a generar alertas, vamos a comprobar que la conectividad contra el SIEM sea correcta con el botón “Check Connectivity”, y posteriormente a testearlas con la opción “Test rules”.

Este botón ejecutará las firmas contra el SIEM sin generar alertas, mostrando al analista una evaluación de cada firma, resaltando las firmas que no son soportadas por el SIEM y aquellas que han encontrado muchos resultados, indicando que se revisen, ya que es posible que la firma sea muy genérica y los resultados sean falsos positivos, pudiendo inundar de eventos inútiles la plataforma:

Utilidad Test rules de SigmaShooter

Como se observa en la captura anterior, existen algunas reglas las cuales no son soportadas, ya sea porqué existen errores sintácticos o porqué las firmas utilizan opciones las cuales no son aceptadas por el SIEM configurado.

Anotamos las firmas que no son soportadas para su revisión y continuamos con la ejecución.

Una vez testeadas, ejecutamos las firmas desde “Run all Sigma rules”:

Ventana web principal de SigmaShooter con alertas “Unsupported rules” y “Matches”

Como ya habíamos visto en el test, hay 29 firmas no soportadas y 4 firmas de las soportadas han encontrado resultados en los datos del SIEM. Para ver las firmas ejecutadas en el último día y sus resultados, podemos acceder a la ventana de “Executions last day”.

Todas las firmas SIGMA ejecutadas que hayan encontrado resultados en los datos del SIEM se envían en forma de alerta al SIEM, Graylog en este caso. En esta ejecución se han generado 4 alertas de las 4 firmas que han encontrado resultados posiblemente maliciosos. A continuación, se muestran las alertas generadas en Graylog por SigmaShooter:

Alertas generadas en Graylog por SigmaShooter

Investigamos estas alertas y encontramos que se ha generado la alerta creada en la parte III de esta serie, “Ejecución de powershell a partir de Word”, por el usuario “WIN-QDJVP2EOBFN\w7” que se ha descargado el binario “trojan.exe” desde una web, a priori sospechosa, utilizando la herramienta “powershell.exe” desde un documento Word, también sospechoso:

Alerta generada en Graylog por SigmaShooter

Para programar esta ejecución de firmas Sigma contra el SIEM Graylog y que se realice de manera automática, podemos utilizar el siguiente script en bash que utiliza la API de SigmaShooter para comprobar la conexión contra el SIEM, y si es correcta, ejecutar todas las firmas SIGMA:

Programa en BASH para ejecución de firmas con SigmaShooter

Código disponible en el siguiente enlace:

https://github.com/ppll0p1s/SigmaShooter/blob/master/tools/ss-agent.sh

Y programamos su ejecución en el crontab, servicio de Linux para ejecutar tareas programadas, de algún servidor Linux, para que se ejecute todos los días a las 6:00 AM, por ejemplo, antes de que lleguen los analistas y cuya primera tarea será revisar las alertas generadas en el SIEM por SigmaShooter. El crontab quedaría como se observa en la siguiente imagen:

$ crontab -l
# SigmaShooter agent
00 6 * * * /etc/sigmaShooter/ss-agent.sh

De esta manera quedaría programada la ejecución automática de firmas SIGMA contra el SIEM configurado, automatizando, por tanto, la generación de alertas, librando de esta tarea a los analistas para que inviertan más tiempo en tareas de investigación y análisis de los incidentes generados en el SIEM.