Los Windows Event IDs que todo SOC debería vigilar
Windows genera cientos de tipos de evento y casi nadie los lee todos. La buena noticia: no hace falta. Un puñado de IDs cuenta, en orden, la historia de casi cualquier intrusión — desde el primer intento de contraseña hasta el borrado de los logs para tapar el rastro. Estos son los que de verdad importan, agrupados por lo que revelan.
¿Prefieres verlo como una historia visual, fase a fase? Recorre la Anatomía de un ataque: la misma cadena, del phishing al anti-forense, con la herramienta que caza cada paso.
1. Autenticación: el primer ruido de un ataque
- 4625 (fallo de logon): el rey para detectar fuerza bruta y password spraying. Un pico de 4625 con una sola contraseña contra muchas cuentas es spraying de manual.
- 4624 (logon correcto): mira el
Logon Type(3 = red, 10 = RDP) y la IP de origen. Un logon tras muchos 4625 = fuerza bruta que funcionó. - 4740 (cuenta bloqueada) y 4771 (pre-auth Kerberos fallida): el eco de esos ataques en el DC.
2. Privilegios y ejecución
- 4672 (privilegios especiales): marca cada logon administrativo. Vigila su uso fuera de lo normal.
- 4688 (creación de proceso): con la auditoría de línea de comandos activada, es oro puro — detecta LOLBins (
certutil,mshta), PowerShell ofuscado y cadenas padre-hijo anómalas (Word lanzandocmd).
3. Escalada y movimiento lateral
- 4728 / 4732 (alta en grupo privilegiado): añadir a alguien a
Domain Adminso aAdministradoreslocales es escalada de libro. Alerta inmediata. - 4769 (ticket de servicio Kerberos): el evento central para cazar Kerberoasting (muchas peticiones con cifrado RC4).
- 5140 / 4648: acceso a shares administrativos y uso de credenciales explícitas — huellas del movimiento lateral.
4. Persistencia
- 7045 (servicio instalado): una de las señales más fiables de persistencia y de ejecución remota (PsExec crea un servicio temporal).
- 4698 (tarea programada creada): mecanismo clásico de persistencia; desconfía de tareas que lanzan PowerShell codificado.
5. Anti-forense: cuando intentan borrar el rastro
- 1102 (registro de auditoría borrado): salvo mantenimiento planificado, es una señal casi inequívoca de destrucción de evidencia. Alerta de máxima prioridad.
- 4719 (política de auditoría cambiada): apagar categorías de auditoría para dejar de generar eventos comprometedores es evasión silenciosa.
6. PowerShell y Sysmon: la visibilidad de verdad
- 4104 (script block logging): registra el bloque de script ya desofuscado. La mejor visibilidad sobre PowerShell malicioso. ¿Solo tienes el
-enc <base64>del 4688? Léelo con el decodificador de PowerShell. - Sysmon 1 (proceso, con hashes y línea de comandos), 3 (conexión de red, ideal para C2) y 10 (acceso a LSASS = volcado de credenciales).
Convierte la señal en detección
Vigilar el evento correcto es la mitad; la otra mitad es escribir la regla. Con Sigma la escribes una vez y la conviertes a KQL, SPL, Elastic o Wazuh. Un ejemplo para el punto 3 (alta en un grupo privilegiado):
title: Alta en grupo privilegiado del dominio
logsource:
product: windows
service: security
detection:
selection:
EventID: 4728
TargetUserName: 'Domain Admins'
condition: selection
level: high
Antes de cazar: asegúrate de estar registrando
Muchos de estos eventos no salen por defecto: la auditoría de línea de comandos (4688), el script block logging (4104) y Sysmon hay que activarlos. Una detección sobre un evento que no registras es una detección que nunca dispara. Revisa tu política de auditoría antes de escribir reglas.
Checklist
- ✅ Activa lo que no sale por defecto: 4688 con línea de comandos, 4104, Sysmon.
- ✅ Autenticación: pico de 4625 → 4624 sospechoso; 4740/4771 en el DC.
- ✅ Escalada: alerta inmediata en 4728/4732 sobre grupos privilegiados.
- ✅ Persistencia: 7045 y 4698 con binarios/scripts raros.
- ✅ Anti-forense: 1102 y 4719 → máxima prioridad.
- ✅ Convierte la señal en regla Sigma y mídela antes de subirla.
No se trata de leerlo todo, sino de vigilar lo que cuenta la historia. Con estos IDs, un intruso deja huellas en cada fase — solo hay que estar mirando.