Los datos
Ahora que, como vimos en la anterior entrada de esta serie, ya disponemos de una plataforma para almacenar los datos, hay que conseguir datos.
Una forma sería instalar máquinas virtuales de Windows con Winlogbeat y Sysmon, pero eso lo haremos más adelante. Ahora quiero hablar de Mordor.
Mordor
Este proyecto, mantenido también por Roberto Rodríguez y José Luis Rodríguez, es un repositorio de eventos pregrabados mientras se ejecutaban técnicas ofensivas en máquinas de laboratorio.
Como es de esperar, Mordor se integra perfectamente con HELK y nos permite disponer de datos muy interesantes para empezar a cazar a nuestras amenazas. Vamos allá.
Abrimos una nueva consola y descargamos el repositorio de Mordor.
git clone https://github.com/Cyb3rWard0g/mordor.git
...
cd mordor/datasets/small/windows
En esta carpeta disponemos de todos los datasets organizados por tácticas de Mitre ATT&CK. Para el ejemplo vamos a utilizar “execution/empire_wmic_add_user.tar.gz“.
cd execution
tar -xzvf empire_wmic_add_user.tar.gz
Al descomprimir el fichero mostrará el nombre del fichero descomprimido. Es importante fijarse en la fecha en la que fueron grabados los eventos, ya que después nos resultará más fácil encontrarlos.
Ahora vamos a utilizar la herramienta “kafkacat” para insertar nuestros datos en ElasticSeach por medio de Kafka.
kafkacat -b 192.168.129.137:9092 -t winlogbeat -P -l
empire_wmic_add_user_2019-05-18231333.json
Ahora, para poder ver los eventos, abrimos una pestaña del navegador e introducimos la dirección IP que nos proporcionó HELK al terminar la instalación de Kibana.
Seguramente el navegador nos dé un problema en el certificado; aceptamos y continuamos. Cuando pida la contraseña al acceder a Kibana, habrá que introducir la especificada durante la instalación y el usuario “helk”, accediendo al menú de Kibana.
Para comprobar que tenemos nuestros eventos almacenados, accedemos al primero de ellos, “Discovery”, con un dibujo de una brújula. Voy a explicar brevemente lo que vemos en esa página.
- En el área de consulta creamos nuestras consultas, bastante obvio.
- En el área de tiempo podemos crear filtros de tiempo basados en fechas absolutas o relativas, de origen y fin.
- En el apartado de filtros, es una manera fácil de realizar el filtrado de los datos.
- En el apartado de índices seleccionamos el índice o el grupo de índices sobre los que queremos trabajar. Acepta “wildcards”.
- En el área de resultados podemos ver y organizar los resultados obtenidos.
Para comenzar a ver los datos que introdujimos, ponemos una fecha relativa de 2 años atrás y cuando le demos a “refresh“, si ha salido todo bien, nos mostrará que hay 2196 resultados entre el 6 y el 13 de Mayo de 2019.
Ya tenemos los datos para empezar la caza. Recomiendo dedicar un tiempo a esta parte, a familiarizaros con los campos que tienen los eventos, las columnas, los filtros, etc.
EVTX-ATTACK-SAMPLES
Otro repositorio imprescindible en nuestra biblioteca es el creado por Samir Bousseaden, que junto con Mordor son los dos repositorios más completos que puedes encontrar. En este repositorio, Samir ha ido recolectando eventos de Windows de técnicas ofensivas en formato “EVTX” y los ha organizado por tácticas de MITRE ATT&CK en más de 200 ficheros diferentes. Una auténtica proeza.
Para trabajar con este repositorio, hacemos lo mismo que anteriormente: lo clonamos y después ya veremos cómo introducirlos en el laboratorio.
git clone https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES.git
Al tratarse de ficheros en formato EVTX, necesitamos parsear los datos para que tengan el formato adecuado para ElasticSearch. Para ello utilizamos la herramienta “evtxtoelk”. Con los siguientes comandos descargaremos el repositorio, instalaremos Pip e instalaremos las dependencias necesarias.
git clone https://github.com/dgunter/evtxtoelk.git
cd evtxtoelk/
sudo apt install python3-pip
pip3 install –r requirements.txt
pip3 install –upgrade requests
Una vez todo instalado, modificamos el fichero “evtxtoelk.py” para añadir una “#” a la línea 98. Debería quedar así:
Guardamos el fichero y lo tenemos listo para introducir los ficheros EVTX en ElasticSearch. Al fichero etxtoelk debemos pasarle dos parámetros: el fichero que deseamos introducir y la dirección IP que introdujimos en la instalación de HELK.
python3 evtxtoelk.py /home/luis/EVTX-ATTACK-SAMPLES/Defense\
Evasion/sysmon_10_1_ppid_spoofing.evtx 192.168.129.137:9200
Si todo ha salido bien y no tenemos errores, ya tendremos los datos en ElasticSearch, pero para poder verlos en Kibana necesitamos hacer un último ajuste.
Evtxtoelk crea un índice en ElasticSearch llamado “hostlogs”, podremos modificarlo en el momento de ejecutar el comando con el parámetro “-i nombre_del_indice”. Para poder ver los datos del índice, tenemos que irnos a la sección de “Management” de Kibana, la rueda dentada del menú de la izquierda. Una vez en la sección de administración, en el apartado de Kibana, pulsaremos sobre “Index Patterns” y nos llevará a la página de gestión de índices. Por defecto aparecerán todos patrones de índices creados por HELK durante la instalación, pero ahora nosotros tenemos que crear uno y lo haremos pulsando sobre el botón azul “Create index patern”.
En el apartado de “Index pattern” deberemos introducir “hostlogs*”; si hemos marcado un nombre diferente en el índice con evtxtoelk debemos ponerlo aquí.
Pulsamos en “Next step” y una vez en el siguiente menú, seleccionamos “@timestamp” y pulsamos “Create index pattern”.
Ya tenemos nuestro patrón de índice creado. Pulsamos en la sección “Discovery”, la brújula que ya conocemos, y una vez allí, en el seleccionador de índices que ahora debería tener “logs-*” seleccionamos el nuevo patrón creado: “hostlogs*”. Quizá debamos jugar con la ventana de tiempo para que muestre nuestros eventos, pero al final veremos algo así.
¡¡Felicidades!! Ya tenemos todo lo necesario para comenzar a insertar datos de ataques y comenzar la búsqueda y aprendizaje. En el siguiente artículo continuaremos hablando de las ventajas de HELK e instalaremos Grafiki para sacar más partido a nuestros eventos.
Espero que disfrutéis del laboratorio y… ¡que comience la temporada de caza!