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.
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.
- 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.