Ir al contenido
10 · Auditoría y registroParte 4 de 4Básico

Los ID de eventos de seguridad de Windows que importan

Referencia práctica de los ID de eventos de Windows que conviene recopilar y alertar: inicios de sesión, errores, Kerberos, cuentas, persistencia y manipulación.

Florian Amette11 min de lectura

Windows registra cientos de ID de evento. Unas pocas decenas responden a casi todas las preguntas de una investigación. Esta referencia enumera esos eventos, qué significa cada uno, los campos que importan y los errores que confunden a los analistas. Complementa la línea base de directiva de auditoría y Sysmon, que explica qué subcategorías de auditoría activar. Aquí el foco está en leer y aprovechar lo que producen.

Salvo que se indique lo contrario, los eventos están en el registro Security. Los eventos de controladores de dominio van marcados con DC.

Tipos de inicio de sesión

El evento 4624 (y el 4625) incluye un Logon Type que indica cómo inició sesión alguien. Apréndelos antes que nada:

TipoNombreCausa típica
2InteractiveInicio de sesión en consola, incluido RunAs
3NetworkRecurso compartido SMB, WinRM, ejecución remota al estilo PsExec, la mayoría de la administración remota
4BatchTarea programada
5ServiceServicio iniciado con una cuenta
7UnlockDesbloqueo de la estación de trabajo
8NetworkCleartextCredenciales enviadas en claro al servidor, por ejemplo con la autenticación básica de IIS
9NewCredentialsrunas /netonly; la identidad local no cambia, se usan credenciales nuevas en la red
10RemoteInteractiveRDP
11CachedInteractiveInicio de sesión de dominio con credenciales en caché, sin DC accesible

Los inicios de sesión de tipo 3 de cuentas de administración en estaciones de trabajo, los de tipo 10 en servidores desde equipos que no son de administración y los de tipo 9 en cualquier lugar fuera de las estaciones de administración merecen una segunda mirada.

Autenticación y sesiones

IDSignificadoCampos que leer
4624Inicio de sesión correctoLogon Type, Account, Source Network Address, Workstation, Authentication Package, Elevated Token, Logon ID
4625Inicio de sesión fallidoStatus y Sub Status, Logon Type, dirección de origen
4634 / 4647Cierre de sesión / cierre iniciado por el usuarioLogon ID para relacionarlo con el 4624
4648Inicio de sesión con credenciales explícitasProceso, servidor de destino, cuenta usada
4672Privilegios especiales asignados al nuevo inicio de sesiónSesión equivalente a administrador; Logon ID
4740Cuenta bloqueada (DC)Caller Computer Name: de dónde vinieron los intentos fallidos
4767Cuenta desbloqueadaQuién la desbloqueó
4778 / 4779Sesión reconectada / desconectadaRDP o cambio rápido de usuario, nombre y dirección del cliente

Relaciona el 4624 y el 4672 por Logon ID: así ves qué inicios de sesión fueron privilegiados. Un Authentication Package NTLM con Package Name NTLM V1 no debería existir en una red moderna. Audítalo y elimínalo como parte de tu trabajo de restricción de NTLM.

Para el 4625, el Sub Status te dice el motivo:

Sub StatusSignificado
0xC0000064La cuenta no existe
0xC000006AContraseña incorrecta
0xC0000234Cuenta bloqueada
0xC0000072Cuenta deshabilitada
0xC0000193Cuenta caducada
0xC0000071Contraseña caducada
0xC0000224La contraseña debe cambiarse en el siguiente inicio de sesión
0xC000006F / 0xC0000070Fuera del horario de inicio de sesión / restricción de estación de trabajo
0xC000015BTipo de inicio de sesión no concedido (asignación de derechos de usuario)

Muchos errores 0xC0000064 desde un mismo origen significan que alguien está adivinando nombres de cuenta. Muchos errores 0xC000006A en cuentas distintas desde un mismo origen significan password spraying. Los 0xC000015B repetidos de cuentas de administración en estaciones de trabajo suelen ser tus restricciones por niveles funcionando según lo previsto.

Controladores de dominio: Kerberos y NTLM

IDSignificadoQué buscar
4768TGT de Kerberos solicitadoPre-Authentication Type 0: la cuenta no requiere autenticación previa (vulnerable a AS-REP roasting)
4769Vale de servicio de Kerberos solicitadoTicket Encryption Type 0x17 (RC4) para cuentas de servicio que admiten AES: patrón de Kerberoasting
4771Error en la autenticación previa de KerberosCódigo de error 0x18 contraseña incorrecta, 0x12 cuenta deshabilitada/bloqueada/caducada, 0x17 contraseña caducada, 0x25 desfase de reloj
4776Validación de credenciales NTLMError 0xC000006A / 0xC0000064; en un servidor miembro, significa que se usó una cuenta local

Tipos de cifrado en 4768/4769: 0x11 es AES128, 0x12 es AES256, 0x17 es RC4. A medida que los dominios abandonan RC4, cualquier vale 0x17 que quede señala cuentas o servicios que hay que corregir. En Windows Server 2019 y posteriores, y en Server 2016 desde la actualización acumulativa de enero de 2025, los eventos 4768 y 4769 incluyen además MSDS-SupportedEncryptionTypes, Available Keys, Advertized Etypes (lo que ofreció el cliente) y Session Encryption Type. Estos campos muestran si una cuenta o un cliente puede usar AES antes de que deshabilites RC4.

Cambios en el directorio y en las cuentas

IDSignificado
4720 / 4726Cuenta de usuario creada / eliminada
4722 / 4725Cuenta de usuario habilitada / deshabilitada
4723 / 4724Intento de cambio de contraseña por el usuario / restablecimiento de contraseña por otra persona
4738Cuenta de usuario modificada (marcas UAC, cambios relacionados con SPN, la contraseña nunca caduca)
4728 / 4729Miembro agregado a / quitado de un grupo de seguridad global
4732 / 4733Miembro agregado a / quitado de un grupo de seguridad local o local de dominio
4756 / 4757Miembro agregado a / quitado de un grupo de seguridad universal
4741 / 4742Cuenta de equipo creada / modificada (DC)
4794Intento de establecer la contraseña del administrador de DSRM (DC)
5136Objeto del directorio modificado (DC, requiere Directory Service Changes y SACL)
4662Operación realizada sobre un objeto del directorio (DC, requiere Directory Service Access y SACL)
4798 / 4799Enumeración de la pertenencia a grupos locales (reconocimiento, ruidoso)

Alerta sobre el 4728, el 4732 y el 4756 cuando el grupo sea privilegiado: Domain Admins, Enterprise Admins, Administrators, Account Operators, Backup Operators, DnsAdmins, Group Policy Creator Owners y tus propios grupos de Tier 0.

DCSync aparece como un 4662 en un DC cuyas propiedades incluyen los GUID de los derechos de replicación 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 (Get-Changes) y 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 (Get-Changes-All), solicitados por una cuenta que no es un controlador de dominio.

Ejecución y persistencia

IDRegistroSignificado
4688SecurityProceso creado (habilita la captura de la línea de comandos)
4697SecurityServicio instalado (subcategoría Security System Extension)
7045SystemServicio instalado (Service Control Manager, se registra siempre)
7040SystemTipo de inicio del servicio modificado
4698 / 4702SecurityTarea programada creada / actualizada
4699 / 4700 / 4701SecurityTarea programada eliminada / habilitada / deshabilitada
106 / 140 / 141Microsoft-Windows-TaskScheduler/OperationalTarea registrada / actualizada / eliminada (el registro suele estar deshabilitado de forma predeterminada; habilítalo)
4657SecurityValor del registro modificado (solo con una SACL en la clave)
5140SecurityAcceso a un recurso compartido de red (subcategoría File Share)

El XML de la tarea en el 4698 incluye el comando que ejecuta: léelo, no te limites a contar eventos. Para un detalle a nivel de proceso más allá del 4688, consulta despliegue y ajuste de Sysmon.

Manipulación y cambios de directiva

IDRegistroSignificado
1102SecurityRegistro de seguridad borrado
104SystemOtro registro de eventos borrado
4719SecurityDirectiva de auditoría del sistema modificada
4616SecurityHora del sistema modificada
4907SecurityConfiguración de auditoría (SACL) de un objeto modificada
5001Microsoft-Windows-Windows Defender/OperationalProtección en tiempo real deshabilitada
5007Microsoft-Windows-Windows Defender/OperationalConfiguración de Defender modificada (incluidas las exclusiones)
5013Microsoft-Windows-Windows Defender/OperationalLa protección contra alteraciones bloqueó un cambio
1116 / 1117Microsoft-Windows-Windows Defender/OperationalMalware detectado / acción realizada

Todos estos deberían ser raros. El 1102, el 104 y el 4719 fuera de una ventana de cambios son indicadores sólidos por sí solos. Los eventos de Defender se tratan con más detalle en endurecimiento de Microsoft Defender Antivirus.

Acceso remoto y PowerShell

IDRegistroSignificado
1149Microsoft-Windows-TerminalServices-RemoteConnectionManager/OperationalAutenticación de red RDP correcta, con dirección de origen
21 / 24 / 25Microsoft-Windows-TerminalServices-LocalSessionManager/OperationalInicio de sesión / desconexión / reconexión de una sesión RDP
4104Microsoft-Windows-PowerShell/OperationalBloque de script registrado
400Windows PowerShellMotor iniciado, con versión del host y del motor

RDP deja rastro en tres lugares (Security 4624 de tipo 10, 1149 y 21). Si falta uno, aún tienes los otros. Endurece el propio servicio con la guía de endurecimiento de RDP. Para patrones de búsqueda en PowerShell, consulta detección de PowerShell malicioso.

Consultar los eventos

Get-WinEvent con una tabla hash de filtro es rápido, porque el filtrado se hace en el servicio de registro de eventos:

PowerShell
# Inicios de sesión fallidos en las últimas 24 horas, agrupados por cuenta, origen y motivo
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4625; StartTime = (Get-Date).AddDays(-1) } |
  ForEach-Object {
    $d = @{}; ([xml]$_.ToXml()).Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }
    [pscustomobject]@{ Account = $d.TargetUserName; Source = $d.IpAddress; SubStatus = $d.SubStatus }
  } | Group-Object Account, Source, SubStatus | Sort-Object Count -Descending | Select-Object -First 20 Count, Name

Para filtrar por campos de datos del evento, usa XPath:

PowerShell
# Inicios de sesión RDP
Get-WinEvent -LogName Security -MaxEvents 50 `
  -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']='10']]"

# Vales de servicio RC4 en un DC
Get-WinEvent -LogName Security -MaxEvents 100 `
  -FilterXPath "*[System[EventID=4769] and EventData[Data[@Name='TicketEncryptionType']='0x17']]"

Las consultas locales sirven para investigar y probar. Para la detección, envía estos eventos a un almacén central con Windows Event Forwarding o con un agente.

Qué se rompe

  • Los eventos que faltan suelen significar que la subcategoría está desactivada, que el registro se sobrescribió o que falta una SACL. auditpol /get /category:* muestra la directiva efectiva.
  • Volumen: el 4624, el 4634, el 4688, el 4769 y el 5140 tienen mucho volumen en servidores y DC. Recopílalos, pero alerta sobre agregados y anomalías, no sobre eventos individuales.
  • Campos mal interpretados: el 4624 en un servidor refleja la visión del servidor; la dirección de origen puede ser un NAT, un proxy o estar vacía en inicios de sesión locales. El 4740 aparece en los controladores de dominio, no en el cliente.
  • Mensajes localizados: extrae los campos del XML del evento, no del texto del mensaje, que cambia con el idioma del sistema operativo.

Verificación

En una máquina de prueba y en un DC de prueba, genera algunos eventos y confirma que se registran y se reenvían: un inicio de sesión fallido con una contraseña incorrecta (4625, 0xC000006A), un usuario de prueba agregado a un grupo de prueba (4732 o 4728), una tarea programada creada con Register-ScheduledTask (4698) y un servicio creado con New-Service (7045, 4697). Elimina después los objetos de prueba. Si un evento no aparece, corrige la directiva de auditoría antes de construir detecciones sobre él. Encontrarás más sobre la cadena de registro en la página temática de auditoría y registro.

Lista de comprobación

  • Todos los analistas conocen los tipos de inicio de sesión y los códigos de subestado del 4625
  • Subcategorías de auditoría y SACL implantadas para que cada evento de la lista pueda producirse
  • Alertas sobre 1102, 104, 4719, 7045/4697, cambios en grupos privilegiados y Defender 5001/5013
  • Supervisión de Kerberos en los DC: vales RC4, autenticación previa deshabilitada, picos de 4771
  • Detección de DCSync mediante los GUID de replicación del 4662 desde cuentas que no son DC
  • Registro Task Scheduler Operational habilitado; registros de RDP recopilados
  • Las consultas analizan los campos XML del evento, no los mensajes representados
  • Eventos de prueba generados y confirmados de principio a fin tras cada cambio de directiva

Preguntas frecuentes

¿Por qué no veo algunos de estos eventos en mis equipos?

La mayoría de los eventos del registro de seguridad solo aparecen cuando está habilitada la subcategoría correspondiente de la directiva de auditoría avanzada, y algunos necesitan además una entrada de auditoría (SACL) en el objeto, como una clave del registro o la raíz del dominio. Comprueba la directiva efectiva con auditpol /get /category:* y compárala con la línea base antes de suponer que no ha pasado nada.

¿Sobre qué eventos debería alertar primero?

Empieza por eventos raros y de alta señal: registro de seguridad borrado (1102), otros registros borrados (104), servicios nuevos (7045 y 4697), incorporaciones a grupos privilegiados (4728, 4732, 4756 para grupos de administración), protección de Defender deshabilitada (5001) y derechos de replicación usados por cuentas que no son DC (4662). Se producen rara vez y casi siempre merecen una revisión.

¿Basta el evento 4625 para detectar password spraying?

Es la señal principal, pero hay que agregarla. El spraying aparece como muchas cuentas distintas que fallan desde un mismo origen con el subestado de contraseña incorrecta, repartidas en el tiempo para evitar bloqueos. En los controladores de dominio, vigila también el 4771 con el código de error 0x18 y el 4776 con 0xC000006A, porque el intento puede usar Kerberos o NTLM en lugar de un inicio de sesión interactivo.

Los ID de eventos de seguridad de Windows que importan

Guías relacionadas

Auditoría y registro

Desplegar y ajustar Sysmon a escala

Elige una configuración de Sysmon, reduce el ruido sin crear puntos ciegos, despliega actualizaciones con seguridad en miles de equipos y supervisa el propio Sysmon.

Intermedio