DISEÑO Y PROFUNDIZACIÓN DEL MANUAL DE INVESTIGACIÓN EN WAZUH
🔥 FASE 1 – RECEPCIÓN Y FILTRADO CONSCIENTE
Objetivo: Filtrar el ruido y enfocar el lente en señales de valor.
1.1 La importancia del nivel de alerta
No todas las alertas merecen tu tiempo. Al trabajar en Wazuh, los niveles (rule.level) del 0 al 15 son asignados por el motor de reglas de forma jerárquica:
-
0-3: ruido casi siempre (ping, conexiones normales)
-
4-6: advertencias leves (reintentos fallidos, pequeños cambios)
-
7-10: actividades potencialmente maliciosas (movimientos laterales, accesos raros)
-
11-15: comportamientos típicos de ataque en ejecución
Evolución:
Aprende a identificar lo que no se ve. Si siempre filtras por >= 7, puedes perder patrones sutiles que se gestan en niveles más bajos. Crea dashboards separados para nivel bajo + correlación temporal.
🧠 FASE 2 – ANÁLISIS PROFUNDO Y ANATÓMICO DEL EVENTO
Objetivo: Entender la anatomía completa del evento, no solo su síntoma.
2.1 JSON no es solo texto
En el campo full_log, muchas veces se esconden trazas valiosas: comandos ejecutados, rutas modificadas, procesos nuevos. Aprende a:
-
Extraer los campos: process.name, process.ppid, hash.md5, registry.key, fim.hash_after
-
Correlacionarlos con MITRE ATT&CK: si ves una escritura en HKCU\Software\Microsoft\Windows\CurrentVersion\Run, eso es T1547.001 - Registry Run Keys.
2.2 Analiza en contexto sistémico
Una alerta es una parte del todo. Pregúntate:
-
¿Ese host es parte de un clúster o tiene funciones críticas?
-
¿Esa cuenta debería tener esos permisos?
-
¿Es normal este comportamiento a esta hora?
Evolución:
Agrega visualización temporal en Kibana (gráficos por hora/día). Si una IP genera eventos dispersos a lo largo de días, podrías estar frente a un APT de bajo ruido.
🔍 FASE 3 – INVESTIGACIÓN CONTEXTUAL Y PIVOTING AVANZADO
Objetivo: Reconstruir la narrativa del atacante.
3.1 ¿Cómo pivotar bien?
No busques solo "más del mismo tipo de alerta", sino:
-
¿Qué hizo el usuario antes y después?
-
¿Se ejecutó algún script o binario raro?
-
¿Se abrieron sockets de red inusuales?
3.2 Pivoting lateral
Conéctate con otras fuentes:
-
Logs de Azure AD o Google Workspace
-
Firewalls perimetrales (Cloudflare, FortiGate)
-
EDR (Kaspersky, Defender, Crowdstrike)
Evolución:
Construye una línea de tiempo de incidente (timeline) con:
-
Hora
-
Host
-
Comportamiento
-
Acción del analista
Esto no solo estructura tu caso, sino que entrena tu mente para pensar como atacante.
⚔️ FASE 4 – CORRELACIÓN INTELIGENTE E INTUICIÓN DE CAZADOR
Objetivo: Cruzar señales técnicas con patrones conocidos de amenazas.
4.1 Correlación no es sumar eventos, es contar una historia
No se trata de que haya 5 errores de login. Se trata de:
-
3 errores → éxito → movimiento lateral → enumeración → persistencia.
Usa MITRE para guiar la detección:
-
T1078: uso de cuentas válidas
-
T1059: ejecución de comandos/script
-
T1027: ofuscación
-
T1003: volcado de credenciales
4.2 Threat Intelligence real
IP, dominio, hash, user-agent. No mires solo si es "malicioso". Pregúntate:
-
¿Pertenece a un rango sospechoso?
-
¿Se conecta a Tor?
-
¿Ha sido reportado en campañas conocidas de malware o APT?
Evolución:
Crea tu propio "Threat Intel notebook" con patrones y TTPs observados. Si documentas bien, luego puedes automatizar detecciones.
🛡️ FASE 5 – RESPUESTA Y DECISIONES DE CONTENCIÓN
Objetivo: Evitar el daño, sin pánico.
5.1 Validación: ¿alerta real o no?
Usa lógica de exclusión:
-
¿Es usuario administrador?
-
¿Hay cambios recientes en el sistema?
-
¿Está documentado el comportamiento?
Usa lógica de inclusión:
-
¿Coincide con patrones de amenaza conocidos?
-
¿El comportamiento encaja con MITRE?
-
¿Ha pasado en más de un host?
5.2 Remediación consciente
No todo se aísla. Hay que saber cuándo contener, cuándo observar.
-
Cuarentena si ves exfiltración o malware en ejecución.
-
Monitorización reforzada si aún no hay certeza.
-
Bloqueo por firewall si hay tráfico saliente malicioso.
Evolución:
Conecta Wazuh con SOAR (como TheHive o Cortex) para respuestas semi o totalmente automatizadas. Si no lo tienes, crea scripts para acciones rápidas (PowerShell, Bash, Ansible).
🗂️ FASE 6 – DOCUMENTACIÓN Y APRENDIZAJE CONTINUO
Objetivo: Transformar cada caso en conocimiento vivo.
6.1 Documentación no es castigo, es sabiduría
Guarda:
-
Hashes
-
IPs
-
Logs clave
-
TTP
-
Mitigación aplicada
6.2 Retroalimentación de reglas
¿Falló la alerta? Modifica la regla.
¿Fue demasiado ruidosa? Ajusta thresholds.
Evolución:
Crea tu propia librería de reglas Sigma/Wazuh. Esa es tu huella como threat hunter.
🧬 CONEXIÓN TOTAL: DE ALERTA A SABIDURÍA OPERATIVA
Este manual no es solo un "proceso". Es una forma de pensar como atacante, actuar como defensor y evolucionar como estratega.
Un Threat Hunter no reacciona a lo que ve. Intuye lo que debería haber ocurrido pero no ocurrió. Escucha el silencio, interpreta la ausencia, y anticipa el siguiente movimiento.
Manual de Investigación de Alertas en Wazuh
Nivel: Avanzado – Threat Hunting & SOC Analyst Tier 2/3
✅ FASE 1: RECEPCIÓN Y FILTRADO DE LA ALERTA
-
Accede al panel de Wazuh
-
Ve a: https://<IP-WAZUH>:5601 → Inicia sesión.
-
Dirígete al Dashboard de alertas.
-
-
Filtra por severidad (por defecto: de 0 a 15)
-
Comienza con alertas de nivel ≥ 7 (indicador de riesgo medio-alto).
-
Filtro Kibana:
kql:rule.level >= 7
-
-
Clasifica la alerta por tipo:
-
Auth, Malware, Network, File Integrity, Rootcheck, etc.
-
Aplica un filtro adicional:
kql:rule.groups: "authentication_failed"
-
-
Valida la fuente (host/usuario/IP):
-
¿A qué activo afecta? ¿Es crítico? ¿Es producción o entorno de pruebas?
-
¿Es un usuario privilegiado?
-
🔎 FASE 2: ANÁLISIS TÉCNICO DETALLADO
-
Abre el evento completo
-
Haz clic en el icono de expansión (>) para abrir el JSON.
-
-
Extrae los campos clave:
-
agent.name
-
data.srcip y data.dstip
-
data.user o data.account_name
-
rule.description
-
syscheck.path (si es una alerta de integridad)
-
full_log
-
-
Determina si es un falso positivo o no:
-
¿Hay justificación para la acción observada?
-
¿Hay ticket de cambio abierto?
-
¿Se repite esta actividad frecuentemente en este host?
-
🧭 FASE 3: INVESTIGACIÓN CONTEXTUAL (Pivoting)
-
Busca más eventos del mismo host o IP
-
Usa filtros como:
kql:agent.name: "host-afectado" data.srcip: "IP-sospechosa"
-
-
Revisa historial de ese usuario o IP en las últimas 24h
-
¿Fallos de autenticación?
-
¿Accesos desde ubicaciones no habituales?
-
¿Cambios en el sistema? (instalaciones, servicios, etc.)
-
-
Haz pivoting cruzado:
-
Consulta logs relacionados:
-
auth.log
-
syslog
-
osquery
-
fim (File Integrity Monitoring)
-
-
Busca patrones como:
-
Acceso RDP + instalación de software
-
Escaneo de puertos + cambios de privilegios
-
Modificación de binarios del sistema
-
🧰 FASE 4: CORRELACIÓN E INTELIGENCIA
-
Correlación con Threat Intelligence
-
Wazuh puede estar integrado con VirusTotal, MISP o AlienVault OTX.
-
Si no lo está, consulta IP/hashes manualmente en:
-
VirusTotal
-
AbuseIPDB
-
OTX
-
-
Revisa si la IP o el hash aparecen en campañas conocidas
-
Usa la regla MITRE ATT&CK como referencia.
-
Clasifica la TTP: Ej. Credential Access → T1110 (Brute Force)
🛡️ FASE 5: RESPUESTA
-
Aísla el host si hay peligro real (manual o con SOAR):
-
En entornos integrados: cuarentena desde EDR o firewall.
-
Manualmente: deshabilita la interfaz de red o usuario.
-
Notifica al equipo de respuesta o al superior
-
Documenta:
-
IPs implicadas
-
Usuarios afectados
-
Línea de tiempo (timeline del incidente)
-
Archivos modificados o extraídos
-
-
Escala o cierra:
-
Si es incidente → genera incidente en Jira/GLPI.
-
Si es falso positivo → etiqueta como tal, ajusta la regla.
📊 FASE 6: DOCUMENTACIÓN Y MEJORA CONTINUA
-
Actualiza tu wiki interna o cuaderno de hunting:
-
Añade: tipo de alerta, regla correlacionada, pasos seguidos.
-
Archiva IOC útiles.
-
Ajusta reglas para reducir falsos positivos:
-
Por ejemplo: agrega exclusión por hostname, IP segura o tipo de usuario.
-
Sugiere nuevas reglas si descubriste un nuevo patrón
-
Ejemplo: múltiples conexiones SSH de usuario sin privilegios seguidas de modificación de /etc/shadow.
🧪 Herramientas complementarias para usar junto a Wazuh:
- Kibana Dev Tools Consultas avanzadas en lenguaje Lucene o DSL
- Osquery Query sobre el sistema desde Wazuh
- MITRE ATT&CK Navigator Mapear técnicas observadas
- Sigma rules Proponer detecciones futuras
- Wireshark + PCAP Revisar tráfico si se captura
- YARA Análisis de malware en archivos extraídos
🧠 Como Threat Hunter
No te quedes solo en lo que ves. Pregunta siempre:
¿Qué me está ocultando esta alerta?
¿Qué no se registró pero debió haber ocurrido?
Wazuh es solo la linterna. El cazador eres tú.