
DShield Sensor Log Collection with ELK
Este es un fork y una actualización significativa de la publicación inicial en el sitio web de ISC Storm Center por Scott Jensen como un documento BACS y los scripts publicados en Github.
https://github.com/fkadriver/Dshield-ELK
https://isc.sans.edu/diary/DShield+Sensor+Monitoring+with+a+Docker+ELK+Stack+Guest+Diary/30118
Esta es una buena referencia sobre cómo usar DShield-SIEM para análisis: https://isc.sans.edu/diary/30962/
Esto proporciona una descripción general de cómo se realiza la recopilación de registros con el sensor DShield.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png
Este docker está construido a medida para usarse con el DShield Honeypot para recopilar y analizar los registros y recolectar los datos para facilitar la búsqueda con fines de investigación. La instalación sugerida es instalar el sensor DShield en una Rasperry usando PI Raspbian OS o en un sistema con Ubuntu 24.04 LTS, ya sea en su red o en la nube de su elección.
Nota: Esto debe instalarse en un servidor separado según las instrucciones a continuación.
Nota: Para actualizar los componentes del servidor ELK, siga estos pasos:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update
Instale Docker con la cuenta de usuario ($):````
sudo apt-get install ca-certificates curl gnupg network-manager txt2html
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Note: You may need to take the next line, remove the backlash () and put everythin in a single line in Notepad to run this echo.
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt upgrade
sudo reboot (if update were applied)
sudo apt-get install -y jq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pip
sudo systemctl enable docker
sudo systemctl start docker.service
Confirma que el servicio de docker está en ejecución<br>````
sudo systemctl status docker.service
Añade el siguiente nombre de servidor ELK es01 kibana fleet-server heartbeat logstash filebeat filebeat01
a /etc/hosts después de la dirección IP y el nombre del servidor:
````
sudo vi /etc/hosts
Añade esto a /etc/hosts después de las direcciones IP del servidor ELK<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01
Edite el archivo sysctl.conf:
````
sudo vi /etc/sysctl.conf
Añade lo siguiente al final del archivo:<br>````
vm.max_map_count=262144
Agrégalo y guárdalo. Esto es para Elasticsearch cuando se usa Docker.
sudo iptables -nL

# Configurar e instalar DShield ELK
Usando la cuenta de usuario ($), ejecute los siguientes comandos:<br>````
git clone https://github.com/bruneaug/DShield-SIEM.git
mkdir scripts
mv DShield-SIEM/AddOnScripts/*.sh scripts
chmod 754 scripts/*.sh
cd ~/DShield-SIEM
Nota: Antes de la instalación, puedes editar el archivo .env (ls -la para verlo) para realizar los cambios deseados.
- La contraseña predeterminada actual para elastic es student
Los límites de memoria en .env son la memoria máxima que docker asignará para cada uno de los contenedores ELK.
Por defecto son 3GB para Elasticsearch, pero se pueden ampliar si tienes los recursos
Edita el archivo .env y configúralo para tu propio ELK Stack
````
vi .env
- Actualice las siguientes variables en el archivo **.env** para que coincidan con la información DNS de su servidor ELK, nombre de host, IP y la contraseña predeterminada de Elastic si desea cambiarla: <br>
- HOSTNAME="ubuntu"
- DNS_SERVER="9.9.9.9"
- IPADDRESS="192.168.25.231"
- ELASTIC_PASSWORD=student
- ES_MEM = Elasticsearch -> 4g, KB_MEM = Kibana -> 2g
- Si desea cambiar la información del/los servidor(es) de nombres predeterminado(s) y la ubicación de su red privada local para la dirección de destino (es decir, el mapeo del sensor DShield, actualmente configurado para **Ottawa, Canadá**), edite los archivos en el siguiente directorio antes de cargar docker:<br>````
cd logstash/pipeline
Edita heartbeat.yml para cambiar la IP del sensor (llamada PI) por la IP de tu propio sensor. Kibana heartbeat comprueba el estado de tus servicios y determina si están disponibles.
Actualiza esta IP y el nombre de host para reflejar tu sensor.
Nota: Puedes copiar y añadir las mismas 5 líneas si tienes más de un sensor que quieras monitorear
Esto se puede ver en Observability -> Uptime Monitors

Esta línea es la dirección IP del sensor. Si no recibe una respuesta al conectarse a TCP 12222, lo marcará como caído en la interfaz.
Esto lo inicia el servidor ELK para comprobar la respuesta del sensor.
Actualiza esta línea: hosts: ["192.168.25.165"]
````
vi ~/DShield-SIEM/heartbeat/heartbeat.yml
El script **change_perms.sh** configurará algunos de los archivos antes de iniciar la instalación de los componentes docker.<br>
El script también actualizará la dirección IP utilizada en la consulta del dashboard con la IP de tu stack ELK.<br>````
~/scripts/change_perms.sh
~/scripts/get_researchers.sh
Ahora ejecuta docker compose para construir las aplicaciones del servidor ELK.
Esto construirá: Kibana, Elasticsearch, elastic-agent, Logstash y cargará los parsers de Cowrie, los archivos de configuración y el dashboard.
````
sudo docker compose up -d
Instalación completada
<img width="375" height="354" alt="image" src="https://assets.kitploit.com/production/public/readmes/50066/b192e2cc430ca7eaa43934ebde637400b29d23212dce39e81f521b0806df1bc0.png" />
# Añadir ca.crt al certificado de confianza del servidor
- Añade el ca.crt a la lista de certificados de confianza del servidor```
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /usr/local/share/ca-certificates/dshield.crt
```
- Actualizar los certificados de confianza ```
sudo update-ca-certificates
```
### Añadir paneles y firmas SIEM a Kibana
Esto carga los paneles SIEM de DShield y las firmas SIEM en Kibana.<br>```
~/scripts/dashboard-setup.sh
```
### Docker Directory Listing
Este comando muestra la lista de directorios de Docker en uso después de que todos los componentes de Elasticsearch hayan sido instalados.<br>
A medida que se añaden datos a Elasticsearch, también puedes monitorizar, ya sea con el comando siguiente o dentro de ELK, la cantidad de disco disponible para almacenamiento.<br>````
sudo du --human-readable --max-depth 1 --no-dereference --one-file-system /var/lib/docker

Usando netstat, estos 4 servicios deberían estar ahora a la escucha.
```
netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'
This should be the output you should see:<br>
<pre>
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN ---> Local CyberChef
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN ---> Kibana Web Access
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN ---> Local Attack Navigator
tcp 0 0 0.0.0.0:8220 0.0.0.0:* LISTEN ---> elastic-agent Service
tcp 0 0 0.0.0.0:9200 0.0.0.0:* LISTEN ---> Elasticsearch Service
tcp 0 0 0.0.0.0:9300 0.0.0.0:* LISTEN ---> Elasticsearch Cluster Service
tcp 0 0 0.0.0.0:5044 0.0.0.0:* LISTEN ---> Logstash Data Collection
tcp 0 0 0.0.0.0:5066 0.0.0.0:* LISTEN ---> Metricbeat Stack Node Information
tcp 0 0 0.0.0.0:5067 0.0.0.0:* LISTEN ---> Filebeat Stack Node Information
tcp 0 0 0.0.0.0:5068 0.0.0.0:* LISTEN ---> Filebeat Stack Node Information (Process ISC Threat Intel to Logstash)
tcp 0 0 0.0.0.0:9600 0.0.0.0:* LISTEN ---> Logstash Stack Node and Pipeline Information
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::5601 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
tcp6 0 0 :::8220 :::* LISTEN
tcp6 0 0 :::9200 :::* LISTEN
tcp6 0 0 :::9300 :::* LISTEN
tcp6 0 0 :::5044 :::* LISTEN
tcp6 0 0 :::5066 :::* LISTEN
tcp6 0 0 :::5067 :::* LISTEN
tcp6 0 0 :::5068 :::* LISTEN
tcp6 0 0 :::9600 :::* LISTEN
</pre>
# Cargando plantillas predeterminadas de Filebeat en Kibana
Esto instalará las plantillas y dashboards predeterminados que pueden usarse para almacenar datos netflow de sensores remotos DShield.<br>
Para que Logstash comience a almacenar datos, deben ejecutarse los siguientes comandos. El primer paso es iniciar sesión en filebeat:````
sudo docker exec -ti filebeat bash
A continuación, ejecute este comando de Filebeat para cargar las plantillas en Kibana:
````
./filebeat setup -e
# Access Kibana Interface
Después de que docker termine de instalar todos los componentes docker de ELK, ahora es el momento de iniciar sesión en el stack ELK usando la IP de tu servidor Ubuntu.<br>
- Inicia sesión en Kibana con el nombre de usuario: **elastic** y la contraseña predeterminada _si no ha sido cambiada_: **student**<br>
Acceso web: https://serverIP

# Configurando la gestión de ELK Stack
Para ver el estado de salud del stack ELK, es necesario configurar la monitorización del stack navegando a: Management -> Stack Monitoring<br>
- Este paso solo es necesario si la instalación no configuró automáticamente Stack Monitoring<br>
- Selecciona "_Or, set up with self monitoring_"<br>
- Monitoring is currently off -> Selecciona: _Turn on monitoring_<br>


# Configurando el fleet-agent
El fleet-agent (un elastic-agent que se ejecuta en el stack ELK) se utilizará para ingerir inteligencia de amenazas.<br>
- En el menú desplegable, selecciona Management → Fleet →Settings → Edit Outputs (Actions)<br>
- Inicia sesión en el servidor por SSH<br>
- Copia el certificado ca.crt a /tmp<br>````
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /tmp
- La salida se verá así:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844
- Obtén el contenido del certificado CA de Elasticsearch para aplicarlo a la configuración avanzada de YAML. Escribe el comando porque no se copia bien<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/ \1/g'
Siga el ejemplo de la guía Troubleshooting fleet-server-examples de la URL anterior para el formato correcto.
sed añadirá los 4 espacios con el comando anterior contra el certificado de CA
Después de agregar la información del certificado, guarde y aplique estos ajustes.
Luego, Guardar y desplegar

En Configuración, configure los hosts de Fleet Server editándolos o agregando un Fleet Server configurado como se indica a continuación:

La siguiente fase es seleccionar Política de Agente → Agregar Agente → Inscribir en Fleet → Agregar Fleet Server

Vamos a necesitar esta información para configurar nuestro fleet server.
Inicie sesión por SSH en el fleet-server y asegúrese de que el fleet-server esté en ejecución antes de configurar nuestro agente:
````
sudo docker exec -ti fleet-server bash
./elastic-agent status (check it is running)
./elastic-agent restart (if it doesn't appear to be running, force a restart, and recheck the status)
Este es un ejemplo de lo que debe copiarse al servidor fleet. Asegúrate de que el servidor fleet ES sea: https://es01:9200<br>
Añade la sección en negrita después de port=8220 porque nuestros certificados son autogenerados. Esto asegurará que el agente tome la actualización.<br>
El token y la huella digital serán diferentes de este ejemplo<br>
Copia el agente elastic-enrol a continuación y reemplaza estas 2 líneas tomadas de tu propio servidor; todo lo demás permanece igual.<br>
<pre>
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
</pre>
Mientras estés conectado al fleet-agent, inscribe el elastic-agent en tu fleet-agent:
Usa esta plantilla para instalar tu certificado y asegúrate de reemplazarlos con los tuyos propios<br>
fleet-server-service-token y fleet-server-es-ca-trusted-fingerprint<br>````
elastic-agent enroll \
--url=https://fleet-server:8220 \
--fleet-server-es=https://es01:9200 \
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca=/certs/es01/es01.crt \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
--fleet-server-port=8220 \
--certificate-authorities=/certs/ca/ca.crt \
--fleet-server-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-cert-key=/certs/fleet-server/fleet-server.key \
--elastic-agent-cert=/certs/fleet-server/fleet-server.crt \
--elastic-agent-cert-key=/certs/fleet-server/fleet-server.key \
--fleet-server-es-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-es-cert-key=/certs/fleet-server/fleet-server.key
Esto reemplazará tu configuración actual. ¿Quieres continuar? [Y/n]: Y

El Elastic Agent se ha inscrito correctamente.
Desde tu ubicación actual, verifica que se haya instalado correctamente
````
./elastic-agent status
./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

Ahora que el Fleet Server está conectado, cierre esta ventana y continuemos con el siguiente paso.

En Elastic Management → Fleet, actualice Agents y esto es lo que aparece:

El servidor ya está listo para instalar los agentes de Threat Intel que se usarán en Security (la parte de SIEM) contra los registros del honeypot.<br>
El siguiente paso es seleccionar Agent policies → Fleet Server Policy → Add integration:<br>
Use este Dashboard para ver las métricas recopiladas por elastic-agent:<br>

- Seleccione y añada AlienVault OTX (necesita una clave API)<br>
- Seleccione AbuseCH (necesita una clave API)<br>
- Seleccione Threat Intelligence Utilities<br>
- Elasticsearch<br>
- Seleccione Kibana<br>
- Seleccione Docker<br>

# Ejemplo de política de Fleet Server

- En Elastic Management → Installed Integration<br>
- Seleccione cada integración instalada y, a continuación, seleccione Settings y active la pestaña para _mantener la política actualizada_:<br>

## Configuración de Security → Rules
- Seleccione Rules → Detection rules (SIEM) → Add Elastic rules
- En Search Tags: Rule Type: Threat Intel (añada como mínimo esas 4 reglas)
- Instale y habilite esas 4 reglas
- Threat Intel Indicator Match - Cowrie (regla personalizada cargada y habilitada cuando Docker carga todos los componentes de la pila ELK)
- Threat Intel Windows Registry Indicator Match
- Threat Intel Hash Indicator Match
- Threat Intel URL Indicator Match
- Puede revisar las reglas y habilitar otras que quiera probar con los datos de su honeypot.<br>

## Revisar la actividad capturada por las reglas en Alert trend
Si alguno de los Threat Intel anteriores se añadió a elastic-agent, y se añadió cowrie* a Management -> Advanced Settings durante la instalación inicial, ahora puede rastrear las reglas que coinciden en las tendencias de alertas de la parte SIEM de la pila ELK.<br>
Esta es la salida de Management → Stack Management → Advanced Settings<br>

Si alguna amenaza de Threat Intel coincide, el SIEM mostrará la siguiente actividad que ahora puede investigarse:<br>


# Configurar Filebeat en DShield Sensor - Logs hacia ELK
El siguiente paso es añadir el paquete Filebeat al DShield Sensor para enviar los registros a Elasticsearch.<br>
Utilice los siguientes pasos para instalar Filebeat usando los siguientes comandos tomados de esta referencia [3]: <br>````
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update
Después de la instalación, colocamos un hold en filebeat para que pueda actualizar el sensor sin cambiar la versión de filebeat. La versión de filebeat
siempre debe coincidir con la versión de docker de Elasticsearc/Kibana.
Linux - X86_64```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-amd64.deb
sudo apt install ./filebeat-8.19.15-amd64.deb
sudo apt-mark hold filebeat
<ins>PI - aarch64</ins>```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-arm64.deb
sudo apt install ./filebeat-8.19.15-arm64.deb
sudo apt-mark hold filebeat
Para actualizar filebeat, cuando llegue el momento, deberás eliminar el bloqueo. Comprueba primero si hay un bloqueo en filebeat antes de eliminarlo
```
sudo apt-mark showhold
sudo apt-mark unhold filebeat
Si deseas usar Zeek en tu sensor DShield, revisa estos [pasos](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Configure_Zeek_DShield_Sensor.md) de instalación.
### Configuración de Sensor en la Nube - Filebeat -> Router Doméstico -> Logstash
Para conectarte desde un sensor en la nube a tu ELK Stack local, necesitas hacer lo siguiente:
- Configurar el router doméstico para hacer NAT a la dirección IP local de tu ELK Stack<br>
- Usar la dirección IP del router (recomiendo añadir un hostname a tu IP doméstica en caso de que cambie) desde tu sensor para conectarte a tu router doméstico<br>
- La conexión final debería verse así: sensor -> IP del Router NAT -> ELK Stack
### Transferir todos los Archivos del Sensor al DShield Sensor
Sigue esta URL para descargar todos los archivos relacionados con el DShield Sensor<br>
https://github.com/bruneaug/DShield-Sensor````
git clone https://github.com/bruneaug/DShield-Sensor.git
sudo cp ~/DShield-Sensor/filebeat/filebeat.yml /etc/filebeat/filebeat.yml
output.logstash:<br>
hosts: ["192.168.25.23:5044"]<br>
#hosts: ["logstash.com:5044"]<br>
### Solución de problemas de Filebeat````
sudo su -
filebeat test config
Salida esperada: Config OK
````
filebeat test output
<pre>
logstash: 192.168.25.231:5044...
connection...
parse host... OK
dns lookup... OK
addresses: 192.168.25.231
dial up... OK
TLS... WARN secure connection disabled
talk to server... OK
</pre>
## Iniciar Filebeat````
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat
Filebeat realiza un seguimiento de los eventos que ha procesado con un archivo llamado log.json; si se elimina, todos los eventos que se enviaron previamente a Elasticsearch se volverán a procesar cuando se reinicie filebeat.
La ubicación de este archivo:
sudo su -````
cd /var/lib/filebeat/registry/filebeat
Si planea reenviar todos los registros porque su servidor ELK fue reconstruido, _detenga filebeat, elimine log.json y reinicie filebeat_.
Esto suele tardar un tiempo en ponerse al día en el panel de la ELK Stack. Si desea comprobar que está enviando los registros a la ELK Stack, puede<br>
- tail -f log.json
- Buscar los últimos 30 días en el panel mientras se pone al día
# Interfaz - Logs DShield Sensor Overview
Para acceder al panel, seleccione Analytics -> Dashboard -> **[Logs DShield Sensor] Overview**<br>

## Agregar ca.crt al navegador de la estación de trabajo
Siga los pasos de esta [Página](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Workstation_Browser_CA_Certificate.md) para agregar a Kibana el ca.crt utilizado por el servidor ELK.<br>

# Comandos útiles de Docker
Consulte esta página para obtener una lista de comandos útiles de Docker.<br>
https://github.com/bruneaug/DShield-SIEM/edit/main/Troubleshooting/docker_useful_commands..md
# Información sobre Elastic con la consola
Estos comandos se ejecutan desde Dev Tool -> Console<br>
GET _nodes/http?pretty (Obtenga una lista e información de todos los nodos)<br>
GET _security/_authenticate<br>
GET /_cat/nodes?v=true<br>
# Scripts y código de análisis DShield de estudiantes
Esta es una lista de scripts y código que estudiantes del programa BACS han escrito para ayudar con el análisis de registros.<br>
Jesse La Grew [cowrieprocessor](https://github.com/jslagrew/cowrieprocessor)<br>
jrjobe [DShield-Cowrie-json-Parser](https://github.com/jrjobe/DShield-Cowrie-json-Parser)<br>
ham-sauce [vt_cowrie](https://github.com/ham-sauce/vt_cowrie)<br>
NickTheSecurityDude [dshield-honeypot-scripts](https://github.com/NickTheSecurityDude/dshield-honeypot-scripts/tree/main) y [Publicación de LinkedIn](https://www.linkedin.com/pulse/how-i-used-honeypot-track-analyze-cyberattacks-nicholas-gilbert-jcste)<br>
Josh Gilman [DShieldKickStarter](https://github.com/iamjoshgilman/DShieldKickStarter)<br>
kcustom11 [dshield-azure](https://github.com/kcustom11/dshield-azure) Azure Terraform<br>
Boggby [ec2-honeypot-template](https://github.com/Boggby/ec2-honeypot-template)<br>
amelete11235
[homelab](https://github.com/amelete11235/homelab/blob/main/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM.md) DShiel SIEM Raspberry 5<br>
William Constantino [Cowrie logfile_investigation with Python](https://github.com/JJWCons/log-scripts/blob/main/logfile_investigation.py)<br>
William Constantino [Cowrie single_multi_IP with Python](https://github.com/JJWCons/log-scripts/blob/main/single_multi_IP.py)<br>
Steven C. Peterson [DShield Model Context Protocol](https://github.com/datagen24/dsheild-mcp)<br>
Nathan Smisson [dshield-tooling](https://github.com/neurohypophysis/dshield-tooling)<br>
# Referencias
[1] https://isc.sans.edu/tools/honeypot/<br>
[2] https://www.elastic.co/downloads/beats/filebeat<br>
[3] https://www.elastic.co/guide/en/beats/filebeat/8.8/setup-repositories.html#_apt<br>
[4] https://isc.sans.edu/diary/DShield+Honeypot+Activity+for+May+2023/29932<br>
[5] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+to+Elasticsearch/29458<br>
[6] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+Analysis/29412<br>
[7] https://github.com/jslagrew/cowrieprocessor/blob/main/submit_vtfiles.py<br>
[8] https://handlers.sans.edu/gbruneau/elastic.htm<br>
[9] https://www.elastic.co/guide/en/fleet/current/secure-connections.html<br>
[10] https://www.docker.elastic.co/<br>
[11] https://github.com/gchq/CyberChef<br>
[12] https://github.com/mitre-attack/attack-navigator/pkgs/container/attack-navigator