Trabajo Final Del Máster: Implementación de Un SIEM
Trabajo Final Del Máster: Implementación de Un SIEM
Trabajo Final Del Máster: Implementación de Un SIEM
- Valencia – 02/01/2022 –
INTRODUCCIÓN
8.1 INSTALAR.................................................................................................................................... 39
8.1.1 CONFIGURAR RED ............................................................................................................................. 42
8.1.2 CONFIGURAR FQDN.......................................................................................................................... 44
8.1.3 INSTALAR QRADAR CE ...................................................................................................................... 45
8.2 CONFIGURAR .............................................................................................................................. 50
8.2.1 CONFIGURAR NTP SERVER .............................................................................................................. 50
P á g i n a 1 | 215
TFM elaborado por: Nafees Muhammad
9 ANEXO ......................................................................................................................................... 71
P á g i n a 2 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 3 | 215
TFM elaborado por: Nafees Muhammad
2.1 Resumen
Se procede a comprobar herramientas Top de SIEM en el informe Gartner y se comprueba
que el IBM Qradar está en la posición de líderes:
P á g i n a 4 | 215
TFM elaborado por: Nafees Muhammad
También se ha decido utilizar Cortex Analyzers. Es una herramienta que contiene más de
100 analizadores, así como Virustotal, AnyRun, IBM Exchange Force, Cuckoo, etc. Que
permite analizar una dirección IP, URL, Hash, e otros indicadores, de forma centralizada y
rápida.
Esto quiere decir que, si queremos analizar una dirección IP, en caso de, no tener Cortex
Analyzers tendríamos que analizar en cada una de las páginas de analizadores. Esto influye
mucho en el tiempo de un analista.
Con Cortex Analyzers el analista lo tiene a un solo clic para analizar una dirección IP en
todos los analizadores. Además, esto permite integrar con TheHive. De forma que, desde
TheHive podamos realizar el análisis.
Por último, se procede a utilizar MISP (Malware Information Sharing Platform). MISP es
un software gratuito y de código abierto que ayuda a compartir información de threat
intelligence, incluidos los IOC. MISP también permite integración con TheHive.
P á g i n a 5 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 6 | 215
TFM elaborado por: Nafees Muhammad
2.3 Abstract
Top SIEM tools are checked in the Gartner report, and it is verified that IBM Qradar is in the
position of leaders:
And it is the tool in which the student has shown interest in it. This document proceeds to
install and configure Qradar Community Edition. Which is the free version of said SIEM.
On the other hand, apart from having the SIEM, it is necessary to increase the security of
the infrastructure. For this, the Suricata IDS/IPS has been chosen. Suricata is an open
source-based intrusion detection and intrusion prevention system. It can be configured in
various modes, these are:
P á g i n a 7 | 215
TFM elaborado por: Nafees Muhammad
In this work Suricata will only monitor the traffic between the virtual machine and the physical
machine. Since, to capture all network traffic, a switch is required that allows forwarding
network flows through Port-Mirroring. Therefore, this option has been discarded.
As a ticketing tool, TheHive is chosen. TheHive is a free and open-source security incident
response platform, tightly integrated with MISP (Malware Information Sharing Platform),
designed to make life easier for SOCs, CSIRTs, CERTs and any information security
professional dealing with of security incidents that must be investigated and acted upon
quickly.
It has also been decided to use Cortex Analyzers. It is a tool that contains more than 100
scanners, as well as Virustotal, AnyRun, IBM Exchange Force, Cuckoo, etc. That allows to
analyze an IP address, URL, Hash, and other indicators, in a centralized and fast way.
This means that, if we want to analyze an IP address, in case we do not have Cortex
Analyzers, we will have to analyze it in each of the analyzer pages. This greatly influences
an analyst's time.
With Cortex Analyzers the analyst is just one click away from analyzing an IP address on all
analyzers. Also, this allows you to integrate with TheHive. So that, from TheHive we can
carry out the analysis.
Finally, MISP (Malware Information Sharing Platform) is used. MISP is free and open-source
software that helps share threat intelligence information, including IOCs. MISP also allows
integration with TheHive.
P á g i n a 8 | 215
TFM elaborado por: Nafees Muhammad
In the following image you can see the tools that will be used:
In conclusion, this report details the entire implementation process of a SIEM, such as its
integration with the security tools discussed above.
P á g i n a 9 | 215
TFM elaborado por: Nafees Muhammad
3 Mapa de Red
NOTA: Las direcciones IP se han ido cambiando durante la realización del proyecto.
P á g i n a 10 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 11 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 12 | 215
TFM elaborado por: Nafees Muhammad
Una vez descargado descomprime y se procede a moverlo en /root. El siguiente paso es replicar
dichos paquetes en la máquina, para luego, detectarlo a través de Suricata.
Para replicar dichos paquetes en la máquina se procede a utilizar tcpreplay:
tcpreplay -i enp0s8 -tK --loop 5000 --unique-ip 2020-09-16-Qakbot-infection-
traffic.pcap
En la siguiente imagen se puede observer que se han creado varias ofensas en Qradar:
P á g i n a 13 | 215
TFM elaborado por: Nafees Muhammad
Eventos de la alerta:
P á g i n a 14 | 215
TFM elaborado por: Nafees Muhammad
Si entramos en dichos eventos, se puede observar que se muestran los campos personalizados
que se han creado:
A continuación, si entramos en TheHive podemos observar que se han creado las alertas:
P á g i n a 15 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 16 | 215
TFM elaborado por: Nafees Muhammad
El que aparezcan múltiples direcciones IP en destino, es debido a que en dicha ofensa hay varias
alertas. Esto se debe a que en las reglas de Qradar normalmente, se define que, en caso de detectar
eventos maliciosos, previo a crear la ofensa que compruebe si hay alguna otra ofensa por dirección
IP de origen. Un ejemplo, es la siguiente regla:
P á g i n a 17 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 18 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 19 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 20 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 21 | 215
TFM elaborado por: Nafees Muhammad
TheHive y Cortex Analyzers son proyectos del mismo creador por lo que las dependencias
a instalar y configuraciones prácticamente son las mismas.
P á g i n a 22 | 215
TFM elaborado por: Nafees Muhammad
5.1 Instalación
Se procede a instalar TheHive con las siguientes instrucciones:
cd /opt
wget https://dl.bintray.com/thehive-project/binary/thehive-latest.zip
unzip thehive-latest.zip
ln -s thehive-3.4.3-1/ thehive
Una vez que descargamos TheHive, hay que configurarlo para su posterior ejecución como
un servicio. Para ello, se ejecutan las siguientes instrucciones:
P á g i n a 23 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 24 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 25 | 215
TFM elaborado por: Nafees Muhammad
5.2 Configuración
Una vez instalado TheHive hay que realizar la siguiente configuración:
Para habilitar TLS primero hay que crear un certificado con el siguiente comando:
server {
listen 443 ssl;
server_name thehive.nafees.com;
ssl on;
ssl_certificate ssl/thehive_cert.pem;
ssl_certificate_key ssl/thehive_key.pem;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
client_max_body_size 2G;
P á g i n a 26 | 215
TFM elaborado por: Nafees Muhammad
proxy_buffering off;
client_header_buffer_size 8k;
location / {
add_header Strict-Transport-Security "max-age=31536000;
includeSubDomains";
proxy_pass http://127.0.0.1:9000/;
proxy_http_version 1.1;
}
}
ln -s /etc/nginx/sites-available/thehive /etc/nginx/sites-enabled/
P á g i n a 27 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 28 | 215
TFM elaborado por: Nafees Muhammad
6.1 Instalación
Se procede a instalar MISP con las siguientes instrucciones:
wget -O /tmp/INSTALL.sh
https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/INSTALL.sh
bash /tmp/INSTALL.sh -c
Después de completar la instalación de MISP hay que hacer unas configuraciones para que
funcione bien.
P á g i n a 29 | 215
TFM elaborado por: Nafees Muhammad
Como MISP, por defecto se instala para apache hay que habilitar este servidor web en la
máquina con un puerto diferente al NGINX. Para eso primero, se procede a modificar el
fichero /etc/apache2/ports.conf.
En la imagen anterior se cambia el puerto HTTP y HTTPS para que no entren en conflicto
con NGINX.
Ahora se procede a modificar el fichero de configuración del sitio web de MISP. Dicho
fichero es /etc/apache2/sites-available/misp-ssl.conf.
Una vez realizado todos los cambios hay que reiniciar el servicio de apache.
P á g i n a 30 | 215
TFM elaborado por: Nafees Muhammad
Usuario: admin@admin.test
Password: admin
De esta forma ya tenemos instalado MISP. Ahora hay que proceder a configurarlo.
P á g i n a 31 | 215
TFM elaborado por: Nafees Muhammad
6.2 Configuración
Tras la instalación hay que realizar ciertas configuraciones. Estas son:
P á g i n a 32 | 215
TFM elaborado por: Nafees Muhammad
Con esto ya tenemos creada la organización para nuestro proyecto. Ahora hay que
proceder a crear el usuario administrador de dicha organización:
P á g i n a 33 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 34 | 215
TFM elaborado por: Nafees Muhammad
7.1 Instalación
Para la instalación de Suricata hay que seguir las instrucciones de la página web oficial:
https://suricata.readthedocs.io/en/suricata-6.0.1/install.html
Una vez instaladas las dependencias, instalar Suricata con las siguientes instrucciones:
P á g i n a 35 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 36 | 215
TFM elaborado por: Nafees Muhammad
7.2 Configuración
Una vez instalado Suricata hay que configurarlo correctamente para que empiece a
monitorizar la red. En este caso como Suricata está instalado en un entorno virtual,
únicamente podrá capturar los paquetes de la máquina física (192.168.0.20) y de otras
máquinas virtuales.
Ahora para que Suricata empiece a monitorizar la red. Para ello, hay que modificar el fichero
de configuración de Suricata /etc/suricata/suricata.yaml indicando la tarjeta de red que se
va a monitorizar:
P á g i n a 37 | 215
TFM elaborado por: Nafees Muhammad
De esta forma, ya tenemos instalado y configurado Suricata correctamente. Ahora, hay que
iniciar Suricata con el siguiente comando:
P á g i n a 38 | 215
TFM elaborado por: Nafees Muhammad
8.1 Instalar
Se procede a instalar Qradar CE en un entorno virtual (Vbox). Qradar Community Edition
es una versión gratuita con todas las funciones de QRadar que tiene poca memoria, poco
EPS e incluye una licencia perpetua. Esta versión está limitada a 50 eventos por segundo
y 5,000 flujos de red por minuto, admite aplicaciones, pero se basa en un espacio más
pequeño para uso no empresarial.
P á g i n a 39 | 215
TFM elaborado por: Nafees Muhammad
Una vez completada la descarga del OVA, se importa en VBox. Tras la importación se
asignan las características físicas de la máquina:
16GB de RAM
P á g i n a 40 | 215
TFM elaborado por: Nafees Muhammad
4CPU virtuales
P á g i n a 41 | 215
TFM elaborado por: Nafees Muhammad
NOTA IMPORTANTE: La máquina virtual solamente debe tener una tarjeta de red hasta completar todo el
proceso de instalación de Qradar CE (Todavía no se ha terminado el proceso de instalación). En caso de
tener dos tarjetas de Red, no se podrá instalar el Qradar CE.
En el primer inicio nos permite establecer una contraseña para el usuario root:
P á g i n a 42 | 215
TFM elaborado por: Nafees Muhammad
Tras ejecutar el comando anterior se nos abrirá la siguiente ventana. Donde tendremos que
configurar la dirección IP de la tarjeta de red.
P á g i n a 43 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 44 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 45 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 46 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 47 | 215
TFM elaborado por: Nafees Muhammad
Con esto ya hemos terminado la instalación de Qradar CE. Para comprobar probamos a
acceder vía web:
Si accedemos por primera vez nos solicita cambiar la contraseña del usuario admin:
P á g i n a 48 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 49 | 215
TFM elaborado por: Nafees Muhammad
8.2 Configurar
8.2.1 Configurar NTP Server
Se procede a configurar NTP Server en Qradar. Esto se realiza, debido a que a la hora de
revisión de eventos en Log Activity, la hora no coincidía con el evento real. Aún teniendo la
configuración de hora correcta en Qradar.
Para ello, primero se crea un servidor NTP. Dicho servidor se crea en la máquina UBUNTU
192.168.0.108.
P á g i n a 50 | 215
TFM elaborado por: Nafees Muhammad
En la imagen anterior se puede comprobar que está abierto. Ahora habilitar el acceso a
dicho servicio desde el Firewall:
P á g i n a 51 | 215
TFM elaborado por: Nafees Muhammad
Dentro de System Time utilizar la opción de Specify NTP Server y poner la dirección IP
del servidor NTP.
P á g i n a 52 | 215
TFM elaborado por: Nafees Muhammad
8.2.2 Licencia
Qradar CE no permite recibir eventos de los Log Sources hasta que se le active la licencia.
Para activar la licencia de Qradar CE hay que ejecutar las siguientes instrucciones:
Como se puede observar ya están activados los puertos necesarios para la recepción de
eventos tanto de SYSLOG como de Wincollect.
P á g i n a 53 | 215
TFM elaborado por: Nafees Muhammad
8.2.3 Wincollect
Wincollect, es un agente de Qradar que permite recoger los eventos de Windows y enviarlo
a Qradar. Para instalar Wincollect, previamente hay que realizar unas configuraciones e
instalaciones de paquetes en Qradar CE.
P á g i n a 54 | 215
TFM elaborado por: Nafees Muhammad
4. Ahora hay que autorizar el servicio de Wincollect desde Qradar CE. Para ello, hay que
crear un servicio autorizado con el rol Wincollect, perfil admin y que no expire.
Esto nos sirve para que los agentes de Wincollect se puedan conectar en Qradar. Si no se
configura esto, los agentes no podrán enviar los eventos:
5. Tras crear hay el servicio autorizado hay que desplegar los cambios:
P á g i n a 55 | 215
TFM elaborado por: Nafees Muhammad
6. Una vez creado el autorizado el servicio, hay que configurar un destino en Qradar CE
que se encargará de recibir todos los eventos de los agentes Wincollect. Dicho destino
tiene que tener la configuración como se muestra la siguiente imagen. En el campo Host
Name hay que poner la dirección IP del Qradar CE.
P á g i n a 56 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 57 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 58 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 59 | 215
TFM elaborado por: Nafees Muhammad
5. Ahora hay que poner nombre del LogSource que se creará en Qradar CE y el Destination
Name. En el Destination Name hay que poner también la dirección IP de Qradar (No
hay que poner wudp ya que si no, no funciona).
P á g i n a 60 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 61 | 215
TFM elaborado por: Nafees Muhammad
En caso de tener una organización grande y varios equipos. Se puede desplegar Wincollect
a través de GPO copiando el comando de la imagen anterior.
Con esto la instalación del agente Wincollect se ha terminado. Ahora hay que entrar en
Qradar para desplegar los cambios.
Agente
P á g i n a 62 | 215
TFM elaborado por: Nafees Muhammad
Log Source
Para verificar que se reciben los eventos correctamente hay que entrar en Log Activity:
Para corregir esto, hay que crear otro Log Source que se explica en el siguiente apartado.
P á g i n a 63 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 64 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 65 | 215
TFM elaborado por: Nafees Muhammad
LOG_SOURCE_AUTO_CREATION_ENABLED=True
LOG_SOURCE_AUTO_CREATION_PARAMETERS=""Component1.AgentDevice=Devi
ceWindowsLog&Component1.Action=create&Component1.LogSourceName=49&Comp
onent1.LogSourceIdentifier=W10-
49&Component1.Log.Security=true&Component1.Log.System=true&Component1.Log.A
pplication=true&Component1.Log.DNS+Server=false&Component1.Log.File+Replicatio
n+Service=false&Component1.Log.Directory+Service=false&Component1.Destination.N
ame=wudp&Component1.RemoteMachinePollInterval=3000&Component1.EventRateTu
ningProfile=Default+(Endpoint)&Component1.MinLogsToProcessPerPass=100&Compo
nent1.MaxLogsToProcessPerPass=150"""
Para ejecutar el comando anterior hay que abrir un CMD o POWERSHELL con permisos
de administrador:
Este proceso tarda unos minutos y después se podrá desplegar en Qradar los cambios.
Tras desplegar los cambios
P á g i n a 66 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 67 | 215
TFM elaborado por: Nafees Muhammad
Una vez creado el Log Source desplegar los cambios y verificar que se están recibiendo los
eventos:
El *.* indica que mande todos tipos de logs al SIEM (192.168.0.152) al puerto 514. Ahora
hay que reiniciar el servicio rsyslog
P á g i n a 68 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 69 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 70 | 215
TFM elaborado por: Nafees Muhammad
9 Anexo
9.1.1 Instalación
Se procede a instalar Cortex Analyzer. Para ello, hay que seguir los siguientes pasos:
P á g i n a 71 | 215
TFM elaborado por: Nafees Muhammad
# Elasticsearch installation
sudo apt update && sudo apt install elasticsearch
Con esto ya hemos instalado Elasticsearch. Ahora hay que configurar Elasticsearch.
P á g i n a 72 | 215
TFM elaborado por: Nafees Muhammad
9.1.1.2.2 Configurar
Para la configuración de Elasticsearch hay que editar el fichero
/etc/elasticsearch/elasticsearch.yml y configurar los siguientes valores:
curl https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-
PUBLIC-KEY | sudo apt-key add –
apt-get update
P á g i n a 73 | 215
TFM elaborado por: Nafees Muhammad
9.1.2 Configuración
Una vez que instalamos Cortex, hay que configurarlo para su posterior ejecución como un
servicio. Para ello, se ejecutan las siguientes instrucciones:
De esta forma ya se ha instalado y configurado Cortex. Se procede a acceder vía web, para
ello, se accede a la siguiente URL http://192.168.0.107:9001/ y nos pedirá para crear un
usuario y contraseña.
P á g i n a 74 | 215
TFM elaborado por: Nafees Muhammad
Se ha procedido a crear el certificado con OpenSSL. Para ello, se ejecutan las siguientes
instrucciones:
P á g i n a 75 | 215
TFM elaborado por: Nafees Muhammad
Mover dichos ficheros en la carpeta /etc/nginx/ssl/ (Si no está la carpeta ssl, crearla):
server {
listen 443 ssl;
server_name cortex.nafees.com;
ssl_certificate ssl/cortex_cert.pem;
ssl_certificate_key ssl/cortex_key.pem;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
client_max_body_size 2G;
proxy_buffering off;
client_header_buffer_size 8k;
location / {
add_header Strict-Transport-Security "max-
age=31536000; includeSubDomains";
proxy_pass http://127.0.0.1:9001/;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
P á g i n a 76 | 215
TFM elaborado por: Nafees Muhammad
ln -s /etc/nginx/sites-available/cortex /etc/nginx/sites-enabled/
P á g i n a 77 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 78 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 79 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 80 | 215
TFM elaborado por: Nafees Muhammad
pip install -U pip setuptools && sudo pip3 install -U pip setuptools
Una vez instaladas las dependencias hay que instalar los analizadores:
Cd /opt
git clone https://github.com/TheHive-Project/Cortex-Analyzers
P á g i n a 81 | 215
TFM elaborado por: Nafees Muhammad
Una vez instalados los analizadores hay que reiniciar el servicio de cortex:
P á g i n a 82 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 83 | 215
TFM elaborado por: Nafees Muhammad
9.1.3.2.2 VirusTotal_Scan_3_0
Se active de la misma manera que el anterior.
9.1.3.2.3 AbuseIPDB_1_0
Hay que crear una cuenta en https://www.abuseipdb.com/ y luego crear una clave de API.
P á g i n a 84 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 85 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 86 | 215
TFM elaborado por: Nafees Muhammad
9.1.3.2.4 Abuse_Finder_3_0
No requiere ninguna configuración para habilitarlo.
P á g i n a 87 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 88 | 215
TFM elaborado por: Nafees Muhammad
9.1.3.2.5 Censys_1_0
Hay que crear una cuenta en https://censys.io/account/api y luego copiar la clave api en
dicho analizador:
P á g i n a 89 | 215
TFM elaborado por: Nafees Muhammad
9.1.3.2.6 Crt_sh_Transparency_Logs_1_0
No requiere ninguna configuración para habilitarlo.
P á g i n a 90 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 91 | 215
TFM elaborado por: Nafees Muhammad
9.2 Integraciones
A continuación, se detalla las integraciones de cada una de las herramientas utilizadas,
entre ellas.
Lo primero que hay que hacer es entrar en Cortex y crear un usuario a través de orgadmin
que únicamente tenga permisos de read y analyze. Este usuario se utilizará en TheHive
para realizar los análisis.
P á g i n a 92 | 215
TFM elaborado por: Nafees Muhammad
Una vez copiada la API KEY, hay que editar el fichero de configuración de thehive
/etc/thehive/application.conf y habilitar las siguientes líneas:
P á g i n a 93 | 215
TFM elaborado por: Nafees Muhammad
Se procede a crear un nuevo caso en TheHive para comprobar que realmente funciona:
P á g i n a 94 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 95 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 96 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 97 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 98 | 215
TFM elaborado por: Nafees Muhammad
NOTA: Los pasos que se han seguido para la integración se describen en esta página web
https://blog.agood.cloud/posts/2019/04/29/building-misp/
Una vez realizado estos cambios hay que reiniciar el Hive. Tras reiniciar Thehive se accede
por web y comprobamos que está en rojo dicho icono.
P á g i n a 99 | 215
TFM elaborado por: Nafees Muhammad
Para obtener más información sobre dicho error hay que ir a Admin->About
P á g i n a 100 | 215
TFM elaborado por: Nafees Muhammad
En el siguiente apartado se puede comprobar que hay otra alternativa para analizar los IOC
con MISP desde TheHive.
P á g i n a 101 | 215
TFM elaborado por: Nafees Muhammad
De esta forma, podemos analizar desde TheHive los IOC que estén en MISP:
P á g i n a 102 | 215
TFM elaborado por: Nafees Muhammad
Ahora proceder a instalar la herramienta. Para ello, se copia el proyecto de git desde
https://github.com/pierrebarlet/qradar2thehive
P á g i n a 103 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 104 | 215
TFM elaborado por: Nafees Muhammad
El fichero fileid se utiliza para los id de las ofensas. Hay que crearlo manualmente y tiene
que estar vacío si se ejecuta la primera vez.
Tras la ejecución de dicho fichero, se comprueba desde TheHive que se han creado las
ofensas que habían en Qradar:
P á g i n a 105 | 215
TFM elaborado por: Nafees Muhammad
Una vez realizado el cambio hay que configurar para que envíe dichos logs al SIEM. Para
ello, modificar el fichero /etc/rsyslog.conf:
P á g i n a 107 | 215
TFM elaborado por: Nafees Muhammad
Una vez que vemos que se reciben los eventos hay que crear un DSM de Suricata para
que Qradar sea capaz de entender dichos eventos.
P á g i n a 108 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.1 Date_Time
El formato de los eventos que se envían al SIEM es JSON y Qradar permite normalizar los
eventos JSON. Para ello simplemente hay que seleccionar el campo que se quiere parsear,
en este caso Date_Time:
P á g i n a 109 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.2 Event_type
Para el campo Event_type de Suricata, Qradar no posee un campo por defecto. Por lo que,
hay que crear un nuevo campo:
P á g i n a 110 | 215
TFM elaborado por: Nafees Muhammad
Por último, seleccionar JSON y el escribir el valor correspondiente para que coja el Event
Type del evento.
P á g i n a 111 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.3 Source IP
En este campo hay que indicar la dirección IP de origen que está en el evento. Dicho campo
hay que configurar como la siguiente imagen:
P á g i n a 112 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.5 Destination IP
En este campo hay que indicar la dirección IP de destino que está en el evento. Dicho
campo hay que configurar como la siguiente imagen:
P á g i n a 113 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.7 Protocol
En este campo hay que indicar el protocolo utilizado en el evento. Dicho campo hay que
configurar como la siguiente imagen:
9.2.5.2.1.8 Action
En este campo hay que indicar la acción realizado durante la comunicación. Si la petición
ha sido permitida o denegada. Para ello, hay que crear un nuevo campo. Como se muestra
a continuación:
P á g i n a 114 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.9 Signature
Este campo muestra una descripción de la alerta. Para que Qradar entienda dicho campo
hay que crear un nuevo campo en el DSM.
P á g i n a 115 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.10 Event ID
El campo Event ID se ha decidido que siempre sea el mismo para que a la hora de mapear
los eventos no tengamos ningún problema. Se observa que los eventos de las alertas
contienen siempre el GID que es siempre un 1. Por lo que, para las alertas se ha utilizado
el GID como su Event ID.
Para los eventos que no tienen el GID o que no son de alertas se ha utilizado el valor 166
que viene al comienza de todos los eventos.
Se puede utilizar este valor tanto para los eventos que no son alertas como los eventos de
las alertas. En este caso se ha decidido usarlo un Event ID diferente para cada uno. La
configuración del campo tiene que ser como la siguiente:
P á g i n a 116 | 215
TFM elaborado por: Nafees Muhammad
Estos Event ID se van a utilizar más tarde a la hora de mapear los QID.
P á g i n a 117 | 215
TFM elaborado por: Nafees Muhammad
Por lo tanto, se va a proceder a generar una alerta por cada categoría para que Suricata
pueda entender todas las alertas generadas. La regla de Suricata que se va a utilizar para
estas pruebas es la siguiente:
Para que se genere un evento de cada categoría, se ha realizado un ping para cada
classtype y se han obtenido los siguientes eventos:
<166>suricata[2123]: {"timestamp":"2021-05-
16T22:36:13.790309+0200","flow_id":413220988387510,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.1.2","src_port":0,"
dest_ip":"192.168.0.20","dest_port":0,"proto":"ICMP","icmp_type":3,"icmp_code":1,"alert":{"action":"allowed","gid":1,"signature_id":0,"
rev":0,"signature":"Test ICMP","category":"Generic Protocol Command
Decode","severity":3},"flow":{"pkts_toserver":2,"pkts_toclient":1,"bytes_toserver":132,"bytes_toclient":94,"start":"2021-05-
16T22:36:10.786614+0200"}}
<166>suricata[7187]: {"timestamp":"2021-05-
22T21:25:09.367201+0200","flow_id":1820721908390202,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0
,"dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":
0,"rev":0,"signature":"Test ICMP","category":"Not Suspicious
Traffic","severity":3},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:25:09.366906+0200"}}
<166>suricata[7261]: {"timestamp":"2021-05-
22T21:28:18.729312+0200","flow_id":244432415891680,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0,"
dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,
"rev":0,"signature":"Test ICMP","category":"Unknown
Traffic","severity":3},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:28:18.729312+0200"}}
<166>suricata[7333]: {"timestamp":"2021-05-
22T21:30:36.643316+0200","flow_id":925180446429428,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port":
0,"dest_ip":"192.168.0.1","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0
,"rev":0,"signature":"Test ICMP","category":"Potentially Bad
Traffic","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T21:30:36.643316+0200"}}
<166>suricata[7395]: {"timestamp":"2021-05-
22T21:32:16.568747+0200","flow_id":1363801840593988,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0
,"dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":
0,"rev":0,"signature":"Test ICMP","category":"Attempted Information
Leak","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:32:16.568388+0200"}}
<166>suricata[7468]: {"timestamp":"2021-05-
22T21:35:41.985250+0200","flow_id":339602477612999,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.1.2","src_port":0,"
dest_ip":"192.168.0.20","dest_port":0,"proto":"ICMP","icmp_type":3,"icmp_code":1,"alert":{"action":"allowed","gid":1,"signature_id":0,"
rev":0,"signature":"Test ICMP","category":"Information
Leak","severity":2},"flow":{"pkts_toserver":2,"pkts_toclient":1,"bytes_toserver":132,"bytes_toclient":94,"start":"2021-05-
22T21:35:38.982983+0200"}}
<166>suricata[7567]: {"timestamp":"2021-05-
22T21:38:17.656256+0200","flow_id":1294959980904738,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0
,"dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":
0,"rev":0,"signature":"Test ICMP","category":"Large Scale Information
P á g i n a 118 | 215
TFM elaborado por: Nafees Muhammad
Leak","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:38:17.655650+0200"}}
<166>suricata[7722]: {"timestamp":"2021-05-
22T21:41:07.691902+0200","flow_id":201128458554874,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0,"
dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,
"rev":0,"signature":"Test ICMP","category":"Attempted Denial of
Service","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:41:07.691706+0200"}}
<166>suricata[7792]: {"timestamp":"2021-05-
22T21:44:15.986380+0200","flow_id":572123450903587,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0,"
dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,
"rev":0,"signature":"Test ICMP","category":"Denial of
Service","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:44:15.986147+0200"}}
<166>suricata[7863]: {"timestamp":"2021-05-
22T21:47:28.278666+0200","flow_id":1216939788615486,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0
,"dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":
0,"rev":0,"signature":"Test ICMP","category":"Attempted User Privilege
Gain","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:47:28.278334+0200"}}
<166>suricata[7927]: {"timestamp":"2021-05-
22T21:49:25.611729+0200","flow_id":997469114946961,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0,"
dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,
"rev":0,"signature":"Test ICMP","category":"Unsuccessful User Privilege
Gain","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:49:25.611729+0200"}}
<166>suricata[8050]: {"timestamp":"2021-05-
22T21:53:10.467581+0200","flow_id":1737092562821521,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.1","src_port":0
,"dest_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":
0,"rev":0,"signature":"Test ICMP","category":"Attempted Administrator Privilege
Gain","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:53:10.467345+0200"}}
<166>suricata[8115]: {"timestamp":"2021-05-
22T21:55:18.926093+0200","flow_id":318600164811149,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port":
0,"dest_ip":"8.8.8.8","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev"
:0,"signature":"Test ICMP","category":"Successful Administrator Privilege
Gain","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T21:55:18.926093+0200"}}
<166>suricata[8175]: {"timestamp":"2021-05-
22T21:57:40.120996+0200","flow_id":1793560663080953,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Decode of an RPC
Query","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T21:57:40.114681+0200
<166>suricata[8244]: {"timestamp":"2021-05-
22T22:00:17.190119+0200","flow_id":301935711341872,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Executable code was
detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:00:17.183600+0200"}}
P á g i n a 119 | 215
TFM elaborado por: Nafees Muhammad
<166>suricata[8316]: {"timestamp":"2021-05-
22T22:02:29.651853+0200","flow_id":149992661965066,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"A suspicious string was
detected","severity":3},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:02:29.645386+0200"}}
<166>suricata[8379]: {"timestamp":"2021-05-
22T22:04:23.928239+0200","flow_id":1999865148542742,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"A suspicious filename was
detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:04:23.921366+0200"}}
<166>suricata[8443]: {"timestamp":"2021-05-
22T22:06:52.382724+0200","flow_id":1858880709377332,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"An attempted login using a suspicious username was
detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:06:52.376116+0200"}}
<166>suricata[8506]: {"timestamp":"2021-05-
22T22:08:11.600539+0200","flow_id":2055366878367001,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"A system call was
detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:08:11.593177+0200"}}
<161>suricata[8700]: {"timestamp":"2021-05-
22T22:12:45.217542+0200","flow_id":1602189864554950,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port
":0,"dest_ip":"8.8.8.8","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"A TCP connection was
detected","severity":4},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T22:12:45.217542+0200"}}
<166>suricata[8868]: {"timestamp":"2021-05-
22T22:16:47.626590+0200","flow_id":1891921931761057,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"A Network Trojan was
detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:16:47.619937+0200"}}
<166>suricata[9053]: {"timestamp":"2021-05-
22T22:33:29.782131+0200","flow_id":1372840839992819,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"A client was using an unusual
port","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:33:29.775667+0200"}}
<166>suricata[9117]: {"timestamp":"2021-05-
22T22:35:42.823479+0200","flow_id":82007755031581,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.1.2","src_port":0,"d
est_ip":"192.168.0.20","dest_port":0,"proto":"ICMP","icmp_type":3,"icmp_code":1,"alert":{"action":"allowed","gid":1,"signature_id":0,"r
ev":0,"signature":"Test ICMP","category":"Detection of a Network
Scan","severity":3},"flow":{"pkts_toserver":3,"pkts_toclient":1,"bytes_toserver":198,"bytes_toclient":94,"start":"2021-05-
22T22:35:39.820253+0200"}}
<166>suricata[9176]: {"timestamp":"2021-05-
22T22:37:27.403025+0200","flow_id":1730257296493695,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
P á g i n a 120 | 215
TFM elaborado por: Nafees Muhammad
v":0,"signature":"Test ICMP","category":"Detection of a Denial of Service
Attack","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:37:27.396415+0200"}}
<166>suricata[9322]: {"timestamp":"2021-05-
22T22:39:11.915908+0200","flow_id":525645678371373,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Detection of a non-standard protocol or
event","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:39:11.909869+0200"}}
<166>suricata[9378]: {"timestamp":"2021-05-
22T22:42:37.051541+0200","flow_id":252266728507733,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port":
0,"dest_ip":"8.8.8.8","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev"
:0,"signature":"Test ICMP","category":"access to a potentially vulnerable web
application","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T22:42:37.051541+0200"}}
<166>suricata[9452]: {"timestamp":"2021-05-
22T22:44:12.378267+0200","flow_id":970836238183392,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Web Application
Attack","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:44:12.371680+0200"}}
<166>suricata[9540]: {"timestamp":"2021-05-
22T22:46:24.864555+0200","flow_id":1933473709299843,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Misc
activity","severity":3},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:46:24.858243+0200"}}
<166>suricata[9604]: {"timestamp":"2021-05-
22T22:48:15.115633+0200","flow_id":143702862308749,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Misc
Attack","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:48:15.107917+0200"}}
<166>suricata[9671]: {"timestamp":"2021-05-
22T22:51:43.384650+0200","flow_id":683513693062808,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Generic ICMP
event","severity":3},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:51:43.378520+0200"}}
<166>suricata[9734]: {"timestamp":"2021-05-
22T22:53:07.238998+0200","flow_id":1372828032272748,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Inappropriate Content was
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:53:07.231788+0200"}}
<166>suricata[9796]: {"timestamp":"2021-05-
22T22:55:27.257202+0200","flow_id":1816201810400742,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Potential Corporate Privacy
Violation","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:55:27.251366+0200"}}
P á g i n a 121 | 215
TFM elaborado por: Nafees Muhammad
<166>suricata[9858]: {"timestamp":"2021-05-
22T22:57:29.265806+0200","flow_id":861205102719971,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Attempt to login by a default username and
password","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:57:29.259043+0200"}}
<166>suricata[9923]: {"timestamp":"2021-05-
22T22:59:10.930764+0200","flow_id":1222121948582039,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Targeted Malicious Activity was
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T22:59:10.921751+0200"}}
<166>suricata[9977]: {"timestamp":"2021-05-
22T23:00:49.779689+0200","flow_id":805342623676518,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Exploit Kit Activity
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:00:49.768102+0200"}}
<166>suricata[10042]: {"timestamp":"2021-05-
22T23:02:57.767391+0200","flow_id":845794781535262,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Device Retrieving External IP Address
Detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:02:57.760862+0200"}}
<166>suricata[10117]: {"timestamp":"2021-05-
22T23:04:23.426686+0200","flow_id":1408804870121823,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Domain Observed Used for C2
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:04:23.420191+0200"}}
<166>suricata[10178]: {"timestamp":"2021-05-
22T23:06:15.218790+0200","flow_id":748687731414694,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port":
0,"dest_ip":"8.8.8.8","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev"
:0,"signature":"Test ICMP","category":"Possibly Unwanted Program
Detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T23:06:15.218790+0200"}}
<166>suricata[10244]: {"timestamp":"2021-05-
22T23:08:56.410389+0200","flow_id":1059203140037299,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Successful Credential Theft
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:08:56.404147+0200"}}
<166>suricata[10378]: {"timestamp":"2021-05-
22T23:10:10.331425+0200","flow_id":1037799175360161,"in_iface":"enp0s8","event_type":"alert","src_ip":"192.168.0.107","src_port
":0,"dest_ip":"8.8.8.8","dest_port":0,"proto":"ICMP","icmp_type":8,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
v":0,"signature":"Test ICMP","category":"Possible Social Engineering
Attempted","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":98,"bytes_toclient":0,"start":"2021-05-
22T23:10:10.331425+0200"}}
<166>suricata[10470]: {"timestamp":"2021-05-
22T23:12:56.740025+0200","flow_id":1733268208098792,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"des
t_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"re
P á g i n a 122 | 215
TFM elaborado por: Nafees Muhammad
v":0,"signature":"Test ICMP","category":"Crypto Currency Mining Activity
Detected","severity":2},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:12:56.728552+0200"}}
<166>suricata[10523]: {"timestamp":"2021-05-
22T23:13:16.084410+0200","flow_id":601071880516617,"in_iface":"enp0s8","event_type":"alert","src_ip":"8.8.8.8","src_port":0,"dest
_ip":"192.168.0.107","dest_port":0,"proto":"ICMP","icmp_type":0,"icmp_code":0,"alert":{"action":"allowed","gid":1,"signature_id":0,"rev
":0,"signature":"Test ICMP","category":"Malware Command and Control Activity
Detected","severity":1},"flow":{"pkts_toserver":1,"pkts_toclient":1,"bytes_toserver":98,"bytes_toclient":98,"start":"2021-05-
22T23:13:16.078857+0200"}}
Esto se configura, de manera que, cuando se genere una alerta en Suricata también se
genere en Qradar. Para ello, se ha procedido a mapear todas las categorías de las alertas
y cada una de ellas con su criticidad correspondiente.
P á g i n a 123 | 215
TFM elaborado por: Nafees Muhammad
Por otra parte, los eventos que no pertenezcan a dichas categorías, es decir, los eventos
normales que no sean alertas, Qradar debe ser capaz de entenderlo. Esto también se
explica en los siguientes pasos como se ha realizado.
A continuación, se procede a crear el Event Mapping para cada una de las categorías:
Es importante tener en cuenta que el Event ID tiene que coincidir con los eventos que se
van a parsear. En caso contrario no se va a mapear dicho evento. Lo mismo para el campo
Event Category. Por otra parte, a la hora de crear el Event Mapping hay que crear/utilizar
un QID para dicho mapeo:
P á g i n a 124 | 215
TFM elaborado por: Nafees Muhammad
En la imagen anterior, se puede observar que se ha creado un QID únicamente para esa
categoría y que es únicamente para el Log Source Suricata. Y el dicho QID se ha
categorizado como MISC.
P á g i n a 125 | 215
TFM elaborado por: Nafees Muhammad
Con esto ya hemos creado el Event Mapping para dicha categoría. En la siguiente imagen,
podemos observar que el campo Event Name se cambia automáticamente:
P á g i n a 126 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 127 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 128 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 129 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 130 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 131 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 132 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 133 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 134 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 135 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 136 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 137 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 138 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 139 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 140 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 141 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.12.13 Unknown
Para crear el mapeo de esta categoría se siguen los mismos pasos que la categoría
anterior. Se crea un nuevo QID.
P á g i n a 142 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 143 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 144 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 145 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 146 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 147 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 148 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 149 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 150 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 151 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 152 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 153 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 154 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 155 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 156 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 157 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 158 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 159 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 160 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 161 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 162 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 163 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 164 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 165 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 166 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 167 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 168 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 169 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 170 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 171 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 172 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 173 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 174 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 175 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 176 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 177 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 178 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 179 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 180 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 181 | 215
TFM elaborado por: Nafees Muhammad
Para ello, se crea un nuevo QID mapeando con el Event ID 166. Este valor lo tienen todos
los eventos de Suricata (Incluidos los de alertas). Solamente que en este caso se va a
aplicar cuando no corresponda a ninguna de las categorías anteriores.
P á g i n a 182 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 183 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.13.1 Action
P á g i n a 184 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.13.2 Date_Time
P á g i n a 185 | 215
TFM elaborado por: Nafees Muhammad
9.2.5.2.1.13.4 Signature
1. 192.168.0.108
2. 192.168.0.107
Procedemos a crear el log source en Qradar para cada una de las direcciones IP:
P á g i n a 186 | 215
TFM elaborado por: Nafees Muhammad
Una vez configurado con los parámetros correctos hay que guardarlo y desplegar los
cambios.
P á g i n a 187 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 188 | 215
TFM elaborado por: Nafees Muhammad
Asignar el nombre del Log Source y habilitar las opciones seleccionadas mostradas en la
imagen siguiente:
P á g i n a 189 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 190 | 215
TFM elaborado por: Nafees Muhammad
En los eventos donde pone el origen 192.168.0.100 (Esta dirección anteriormente era
192.168.0.107) y el destino este mismo, indica que es un evento de IPv6 y el DSM no es
capaz de parsear dicho valor.
En este caso se elije la opción uno. A continuación, se explica como se ha creado dicha
regla:
1. Se procede a crear la consulta AQL que únicamente muestra las alertas generadas
de Suircata.
Se puede observar en la imagen anterior que hay dos eventos de alertas Suricata en
Qradar.
P á g i n a 191 | 215
TFM elaborado por: Nafees Muhammad
2. Se crea la regla:
Es importante tener en cuenta que en el AQL de las reglas únicamente hay que poner
el texto que va después de Where.
P á g i n a 192 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 193 | 215
TFM elaborado por: Nafees Muhammad
Podemos observar en la imagen siguiente que se han recibido los eventos de alerta.
Además, podemos observar un icono en rojo que indica que hay una ofensa
relacionado a dicho evento.
P á g i n a 194 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 195 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 196 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 197 | 215
TFM elaborado por: Nafees Muhammad
Una vez que finalice el proceso del despliegue, habremos finalizado la instalación.
9.3.2 Configuración
Tras finalizar nos habrá aparecido otra pestaña en Qradar con el nombre “Use Case
Manager”. Accedemos a dicha pestaña y nos aparecerá la siguiente ventana de que la
aplicación no está configurada:
P á g i n a 198 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 199 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 200 | 215
TFM elaborado por: Nafees Muhammad
4. Una vez desplegado los cambios, volver a acceder a Use Case Manager y pegar el
token:
P á g i n a 201 | 215
TFM elaborado por: Nafees Muhammad
NOTA: En caso de que dé un error de permisos, hay que borrar la cache del navegador.
P á g i n a 202 | 215
TFM elaborado por: Nafees Muhammad
9.4.1 Instalación
En la página web de Exchange Force se puede descargar Use Case Manager
https://exchange.xforce.ibmcloud.com/hub/extension/8169c48dc992961acb8f963cdcf56fa
a
P á g i n a 203 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 204 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 205 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 206 | 215
TFM elaborado por: Nafees Muhammad
Para acceder a la aplicación, hay que ir a la sección de Qradar Log Source Management
dentro de admin.
P á g i n a 207 | 215
TFM elaborado por: Nafees Muhammad
La aplicación consolida datos históricos por host de: estado, tiempo de actividad,
notificaciones, eventos y tasas de flujo, métricas de rendimiento del sistema, métricas
específicas de QRadar y más.
9.5.1 Instalación
Se puede descargar la aplicación desde el siguiente enlace
https://exchange.xforce.ibmcloud.com/hub/extension/a154264f905e4d407d8d2dbf20737c
09
P á g i n a 208 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 210 | 215
TFM elaborado por: Nafees Muhammad
9.6.1 Instalar
Una vez descargado, hay que instalar desde Extension Managment:
P á g i n a 211 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 212 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 213 | 215
TFM elaborado por: Nafees Muhammad
P á g i n a 214 | 215
TFM elaborado por: Nafees Muhammad
Con esto ya se puede acceder a Caldera vía web con el usuario red:
P á g i n a 215 | 215