Parte: 8 — Blue Team, detección y SOC · Fuente: Applied Network Security Monitoring — Chris Sanders y Jason Smith ⏱️ Duración estimada: 120 min · Nivel: Intermedio
Desplegar y operar un SIEM open source con Elastic Stack (Elasticsearch, Kibana, Beats) y Wazuh. Aprenderás a ingerir telemetría, escribir consultas KQL/EQL, y usar las reglas y el motor de detección de Wazuh como alternativa gratuita a soluciones comerciales, ideal para laboratorios y organizaciones con presupuesto limitado.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Arquitectura Elastic (ES, Kibana, Beats) | Entender el flujo de datos |
| 2 | ECS: esquema común | Normalización para detección portable |
| 3 | KQL y EQL | Consultas y correlación de secuencias |
| 4 | Elastic Detection Rules | Detecciones listas mapeadas a ATT&CK |
| 5 | Wazuh: manager, indexer, agente | SIEM+HIDS integrado y gratuito |
| 6 | Reglas y decoders de Wazuh | Cómo se generan las alertas |
| 7 | FIM y detección de rootkits | Capacidades de HIDS de Wazuh |
| 8 | Dashboards en Kibana | Visualización operativa |
En laboratorio aislado:
docker-compose oficial de Elastic) o la instalación de Elastic Security.Todo dentro de tu red de pruebas; el FIM y la detección se prueban con cambios que tú mismo provocas.
docker compose up -d con el stack oficial. Accede a Kibana y crea el usuario de kibana.sysmon y verifica en Discover que llegan eventos ECS (process.command_line).event.code:1 and process.parent.name:"WINWORD.EXE" and process.name:("powershell.exe" or "cmd.exe").sequence by host.id [process where process.name=="powershell.exe"] [network where destination.port==443]/etc/passwd o una carpeta bajo vigilancia) y observa la alerta con su nivel y regla.Despliega ambos stacks y demuestra una detección en cada uno: una regla EQL en Elastic que capture una secuencia proceso→red, y una alerta de Wazuh (FIM o regla) con su técnica ATT&CK. Criterio de aceptación: ambas alertas se disparan con tu actividad simulada y puedes mostrar en Kibana/Wazuh el evento, la regla que lo detectó y la técnica ATT&CK asociada.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
Kibana no arranca / max_map_count |
Falta vm.max_map_count=262144; ajústalo en el host |
| Beats no envía datos | Certificados/usuario mal configurados; revisa output.elasticsearch |
| EQL no encuentra secuencias | Falta by field común o datos sin ECS; normaliza primero |
| Agente Wazuh "Never connected" | Puerto 1514/1515 bloqueado o clave no registrada; re-registra el agente |
| Índice rojo en ES | Disco lleno o shards sin asignar; libera espacio o ajusta réplicas |
❓ ¿Elastic o Wazuh para empezar? Wazuh trae reglas, agente y mapeo ATT&CK listos, ideal para arrancar rápido. Elastic da más flexibilidad de consulta (EQL) y un ecosistema de detección amplio. En laboratorio, prueba ambos.
❓ ¿Wazuh usa Elasticsearch? Las versiones recientes incluyen su propio Wazuh Indexer (fork de OpenSearch/Elasticsearch), así que funciona de forma autónoma sin depender de Elastic.
❓ ¿EQL sustituye a las reglas Sigma? No. Sigma es un formato portable de reglas (clase 186) que puedes convertir a EQL, KQL o SPL. EQL es el lenguaje nativo de Elastic al que Sigma se traduce.
Clase 184 — Splunk para detección