Event ID 4624 explicado: logon exitoso de Windows y referencia LogonType
Qué contiene realmente un registro 4624, por qué el campo LogonType importa más que el evento en sí, y cómo leerlos a escala.
El event ID 4624, "Una cuenta se ha iniciado sesión correctamente", aterriza en el canal Security cada vez que Windows autentica una identidad. Es el registro de mayor tráfico en la mayoría de workstations y la espina dorsal de casi cada investigación IR. Saber cómo leer uno no es opcional.
Qué hay dentro de un registro 4624
Las partes interesantes viven en <EventData>:
<Data Name="SubjectUserSid">S-1-5-18</Data>
<Data Name="TargetUserName">alice</Data>
<Data Name="TargetDomainName">CORP</Data>
<Data Name="LogonType">3</Data>
<Data Name="LogonProcessName">NtLmSsp</Data>
<Data Name="AuthenticationPackageName">NTLM</Data>
<Data Name="WorkstationName">LAPTOP-01</Data>
<Data Name="IpAddress">10.0.0.42</Data>
<Data Name="LogonGuid">{...}</Data>
Los campos Subject* son el contexto de seguridad que solicitó el logon (a menudo S-1-5-18 para SYSTEM durante arranques de servicio). Los campos Target* son la identidad que terminó autenticada. Confundir los dos cuesta horas a los analistas. He visto un analista senior escalar sobre un Subject que resultó ser SYSTEM ejecutando un servicio interno. Lee ambos, dos veces, antes de hacer la llamada.
LogonType es el campo que decide
Windows trae diez tipos de logon. En la práctica solo un puñado conducen el triaje:
- 2 Interactivo. Logon físico o de consola.
- 3 Red. SMB, RPC, WinRM, cualquier cosa por el cable. La vasta mayoría del tráfico normal.
- 4 Batch. Tareas programadas corriendo como usuario.
- 5 Servicio. Un servicio iniciado bajo una cuenta específica.
- 7 Unlock. Workstation desbloqueada tras bloqueo de pantalla.
- 8 NetworkCleartext. Raro y sospechoso. Credenciales enviadas en texto plano (Basic auth en IIS, impresoras antiguas, simple bind LDAP mal configurado).
- 9 NewCredentials.
runas /netonly. A menudo usado por atacantes llevando credenciales de dominio a una máquina sobre la que solo tienen derechos locales. - 10 RemoteInteractive. RDP. Empareja con
IpAddresspara atribución de origen. - 11 CachedInteractive. Cuenta de dominio logueada con credenciales en caché. Sin DC alcanzable.
Un 4624 con LogonType 10 desde una IP externa a las 03:00 de un domingo cuenta una historia muy diferente a 50 registros LogonType 3 desde un servidor de backup a las 02:00.
Con qué encadenarlo
Un 4624 exitoso solo rara vez es un hallazgo. Se vuelve uno cuando se empareja con:
- 4625 precediéndolo desde la misma fuente. Un éxito tras una ráfaga de fallos es la firma de libro de texto brute-force-luego-éxito.
- 4672. Marca logons que otorgaron privilegios como
SeDebugPrivilege. - 4648 (logon con credenciales explícitas). Captura
runasy otros patrones de pasaje de credenciales. La mayoría de defensores lo subutilizan. - 7045 siguiéndolo con LogonType 3. Instalación de servicio tras un logon de red es la firma de PsExec.
Los cinco patrones
Los que realmente disparan alertas en un SOC real, en orden aproximado de cuán a menudo se ganan su utilidad:
- Brute-force-luego-éxito. Una ráfaga de 4625 desde una IP fuente seguida en minutos por un 4624 desde la misma IP para el mismo
TargetUserName. El atacante encontró una credencial funcional. La captura más barata en el catálogo de auditoría. - RDP fuera de horario. 4624 con
LogonType=10desde IP externa fuera de horas de oficina. Etiqueta IPs de egress VPN admin conocidas. Todo lo demás es una pista real. runas /netonly. 4624 conLogonType=9. El uso legítimo es raro (herramientas admin usando credenciales de dominio foráneo). El uso de atacante es un patrón de pivote de credenciales tras capturar credenciales de un host en el que no quieren aparecer.- NetworkCleartext (LogonType=8). Credenciales en texto plano por el cable. Causas reales son apps IIS Basic-auth antiguas, impresoras ancestrales o simple bind LDAP mal configurado. Cada una es una responsabilidad de fuga de credenciales.
- Drift de LogonType en cuentas de servicio. Una cuenta de servicio que históricamente solo dispara LogonType 3 produciendo de repente LogonType 10 o LogonType 2. Casi siempre significa que alguien está usando la cuenta de servicio interactivamente. Señal fuerte de credenciales robadas.
Sigma: logon exitoso tras ráfaga de fallos
title: Successful Logon Following Failed Logon Burst
id: 8f3a1c20-8b1d-4c7c-8a2f-1c3d4f5a6b7c
status: stable
description: A 4624 success record for an account that just generated multiple 4625 failures from the same source. Brute-force-then-success.
references:
- https://attack.mitre.org/techniques/T1110/
logsource:
product: windows
service: security
detection:
fail_burst:
EventID: 4625
success:
EventID: 4624
LogonType:
- 3
- 10
timeframe: 10m
condition: ( fail_burst | count() by IpAddress,TargetUserName > 10 ) and success
falsepositives:
- Users repeatedly typing passwords after a recent password change
- SSO endpoints with retry behavior on first auth
level: high
tags:
- attack.credential_access
- attack.t1110
KQL: RDP fuera de horario desde IPs externas
SecurityEvent
| where EventID == 4624
| where LogonType == 10
| where IpAddress !startswith "10."
and IpAddress !startswith "192.168."
and not (IpAddress startswith "172." and toint(split(IpAddress, ".")[1]) between (16 .. 31))
| extend Hour = datetime_part("Hour", TimeGenerated)
| where Hour < 7 or Hour > 20
| project TimeGenerated, Account, IpAddress, WorkstationName, Computer
| order by TimeGenerated desc
Splunk: drift de LogonType en cuenta de servicio
index=wineventlog EventCode=4624 TargetUserName="svc_*"
| stats values(LogonType) AS LogonTypes count BY TargetUserName
| where mvcount(LogonTypes) > 1 OR LogonTypes!="3"
Las cuentas de servicio deberían producir un LogonType único y estable (usualmente 3 o 5). Múltiples tipos bajo la misma cuenta es la alerta.
Mapeo ATT&CK
- T1078 Valid Accounts (y sub-técnicas
.001Default,.002Domain,.003Local). Cada logon exitoso por una credencial comprometida se mapea aquí. 4624 es la evidencia de la técnica. - T1110 Brute Force. Combinado con ráfagas de 4625.
- T1021 Remote Services (
.001RDP,.002SMB,.006WinRM). El grueso del tráfico 4624 LogonType=3/10 lado-red. - T1550 Use Alternate Authentication Material.
.002Pass the Hash (4624 con paquete NTLM desde fuente inesperada),.003Pass the Ticket (4624 con paquete Kerberos sin 4769 coincidente en ningún DC).
Falsos positivos que se ven exactamente como ataques
- Los escáneres de vulnerabilidad (Tenable, Qualys, Rapid7) generan tráfico denso 4624 LogonType=3 desde un conjunto estable de IPs scanner. Etiqueta y excluye.
- Los check-ins de cliente SCCM e Intune producen tráfico 4624 recurrente a endpoints de gestión.
- Los agentes de backup se autentican a muchos hosts en un calendario. Parece propagación. No lo es.
- Las cajas Citrix y RDS multi-sesión ven legítimamente LogonType=10 desde muchas IPs internas. Filtra por rango de origen.
- UX de cambio de contraseña. Los usuarios que acaban de cambiar una contraseña y re-tipearon la antigua dos veces producen 4625 / 4625 / 4624. Eso no es brute force, es memoria muscular.
La señal es recurrencia inesperada o combinaciones novel, no volumen crudo.
Lo que 4624 no te dice
- Sin información de proceso. Ves el logon, no qué corrió en la sesión resultante. Pivota
LogonIda 4688 o Sysmon 1 para ver actividad de proceso. - Sin proceso fuente para el logon en sí. Sabes que se usó NTLM o Kerberos, pero no qué app cliente lo inició.
IpAddresspuede estar vacío o-para logons NTLM desde un DC. El campo no es confiable en cada registro.- Los logons interactivos en caché (Type 11) suceden cuando el DC es inalcanzable. Confirman que una credencial funcionó localmente, no que la cuenta viva esté habilitada en el DC.
Leer a escala
El parser de navegador en este sitio extrae estos campos directamente del XML del registro y los expone en la tabla. Filtra por LogonType vía los buckets de timeline y el filtro de texto, tira el conjunto filtrado como CSV, luego pivota en SubjectUserSid e IpAddress en tu herramienta de elección. El XML completo de cada registro está a un clic. Empareja con artefactos de caché RDP, tracking de archivo reciente, e historial de navegador cuando la cuenta de usuario en cuestión es un usuario real, no un servicio.