Módulo 7 de 12

Módulo 7: Forense de Windows II — autenticación y movimiento lateral

Módulo 7: Forense de Windows II — autenticación y movimiento lateral

Aviso ético y legal: las técnicas de análisis forense y las herramientas descritas en este módulo (wevtutil, EvtxECmd, Chainsaw, Hayabusa, DeepBlueCLI, PsExec, WMI, WinRM) deben usarse exclusivamente en sistemas y máquinas virtuales de laboratorio propias o con autorización expresa por escrito del propietario. Simular movimiento lateral o analizar logs de producción sin permiso puede constituir un delito de acceso ilícito a sistemas informáticos (art. 197 bis y ss. del Código Penal español) y una infracción grave de las políticas de tu organización. Este contenido tiene fines exclusivamente educativos dentro de un entorno de laboratorio controlado (por ejemplo, un dominio Active Directory desechable en VMware/VirtualBox).

Qué aprenderás

Este módulo profundiza en la segunda gran fuente de evidencia en un incidente sobre Windows: los registros de seguridad relacionados con autenticación. Al terminar serás capaz de:

  • Reconstruir la cadena completa de un inicio de sesión a partir del Event ID 4624 y clasificar correctamente el Logon Type (interactivo, red, RDP, servicio, batch, etc.), que es el dato que más se ignora y el que más cambia la interpretación del incidente.
  • Diferenciar un fallo de autenticación por contraseña incorrecta de uno por cuenta bloqueada, caducada o deshabilitada usando el SubStatus del 4625.
  • Leer los eventos Kerberos (4768, 4769, 4771) para detectar peticiones de TGT/TGS anómalas, Kerberoasting y golden/silver tickets.
  • Correlacionar 4688 (creación de proceso) con línea de comandos para reconstruir qué ejecutó un atacante tras autenticarse.
  • Reconocer la huella forense específica de cada técnica de movimiento lateral: PsExec, WMI, WinRM/PowerShell Remoting, RDP, pass-the-hash y pass-the-ticket.
  • Detectar la creación y modificación de cuentas privilegiadas (4720, 4728, 4732, 4738) como indicador de persistencia.
  • Extraer y triar EVTX a escala con wevtutil, EvtxECmd, Chainsaw, Hayabusa y DeepBlueCLI.

1. El ciclo de vida de un logon: 4624, 4625, 4634, 4647

Todo el análisis de autenticación en Windows gira en torno al canal Security del Visor de eventos, generado por el subsistema LSASS y auditado mediante las directivas Audit Logon y Audit Logoff (categoría Logon/Logoff dentro de Advanced Audit Policy Configuration). El evento estrella es el 4624 (An account was successfully logged on), pero su utilidad depende por completo de un campo que muchos analistas pasan por alto: el Logon Type.

Event ID Nombre Logon Type Significado forense
4624 Logon exitoso 2 – Interactive Inicio de sesión local, teclado y pantalla físicos o consola directa de la VM.
4624 Logon exitoso 3 – Network Acceso a recurso compartido (SMB/\hostshare), autenticación contra un servicio remoto. Es el tipo más común en movimiento lateral con PsExec, WMI y ataques pass-the-hash.
4624 Logon exitoso 4 – Batch Ejecución de una tarea programada (Scheduled Task) con credenciales almacenadas.
4624 Logon exitoso 5 – Service Arranque de un servicio de Windows con una cuenta de servicio. Clave para detectar PsExec y servicios maliciosos persistentes.
4624 Logon exitoso 7 – Unlock Desbloqueo de una sesión de escritorio previamente bloqueada.
4624 Logon exitoso 8 – NetworkCleartext Autenticación de red con la contraseña viajando en claro hacia LSASS (típico de IIS con Basic Auth). Alta prioridad si aparece sin justificación.
4624 Logon exitoso 9 – NewCredentials Uso de runas /netonly: la sesión local no cambia, pero las credenciales nuevas se usan para conexiones salientes. Frecuente en post-explotación con Cobalt Strike/Mimikatz.
4624 Logon exitoso 10 – RemoteInteractive Conexión RDP (Escritorio remoto) o Terminal Services. Núcleo de la detección de RDP lateral.
4624 Logon exitoso 11 – CachedInteractive Logon interactivo usando credenciales cacheadas cuando no hay controlador de dominio disponible (portátiles fuera de red corporativa).
4625 Logon fallido (igual clasificación que 4624) Intento de autenticación rechazado. El SubStatus indica la causa exacta (ver tabla siguiente).
4634 Logoff Cierre de sesión estándar; hay que emparejarlo con el 4624 correspondiente por Logon ID para calcular duración de sesión.
4647 Logoff iniciado por el usuario Cierre de sesión explícito (el usuario pulsa «Cerrar sesión»), a diferencia del 4634 que puede ser forzado por el sistema.
4648 Logon con credenciales explícitas Se usó runas o una conexión especificando usuario/contraseña distintos de la sesión actual. Aparece en el equipo origen, antes de que en el destino se genere el 4624 Type 3 o 10.
4672 Asignación de privilegios especiales Se concede al token de la sesión un privilegio administrativo (SeDebugPrivilege, SeBackupPrivilege…). Se dispara junto al 4624 cuando la cuenta es administradora; su ausencia tras un 4624 de una cuenta que debería ser admin es también un indicador.

El Logon ID (Target Logon ID, campo hexadecimal) es la clave de correlación más importante de todo el módulo: es único por sesión y permite unir el 4624 inicial con todos los 4688 (procesos), 4672 (privilegios) y el 4634/4647 (cierre) que ocurren dentro de esa misma sesión. Sin dominar el Logon ID no se puede reconstruir una línea temporal fiable.

1.1 Los campos que importan de verdad en un 4624

  • Subject vs Target: Subject es quién inició la petición (a menudo SYSTEM o ANONYMOUS en logons de red); Target es la cuenta que efectivamente inicia sesión. En movimiento lateral, el Subject casi siempre es NULL/ANONYMOUS y solo el Target aporta información.
  • Logon Process y Authentication Package: NtLmSsp indica NTLM (más sospechoso en redes con Kerberos habilitado); Kerberos es lo esperable en un dominio sano.
  • Workstation Name e Source Network Address: origen de la conexión. Un Source Network Address interno inesperado (un servidor de bajo privilegio autenticándose contra un controlador de dominio) es una señal fuerte de lateral movement.
  • Key Length: 0 en logons NTLM que no usan cifrado de clave completa suele acompañar a pass-the-hash.

1.2 SubStatus del 4625: por qué falló el logon

SubStatus Significado
0xC000006A Nombre de usuario correcto, contraseña incorrecta. El indicador clásico de fuerza bruta/password spraying cuando se repite con múltiples SamAccountName.
0xC0000064 El nombre de usuario no existe. Útil para detectar enumeración de cuentas.
0xC0000234 Cuenta bloqueada (account lockout) — consecuencia de fuerza bruta previa.
0xC0000072 Cuenta deshabilitada.
0xC0000193 Cuenta caducada.
0xC0000071 Contraseña caducada.
0xC0000224 Se requiere cambio de contraseña en el próximo logon.
0xC0000133 Desincronización de reloj entre cliente y KDC (relevante en fallos Kerberos, no NTLM).

Un patrón de 0xC000006A repetido contra decenas de SamAccountName distintos desde el mismo origen en una ventana corta es la firma de un password spraying; el mismo SubStatus contra un único usuario cientos de veces es fuerza bruta dirigida.

2. Kerberos en los logs: 4768, 4769, 4771

En un dominio Active Directory, la mayoría de los logons interactivos y de red usan Kerberos, no NTLM. Los eventos Kerberos se registran en el controlador de dominio, no en la máquina destino, por lo que su ausencia en el DC durante una ventana de movimiento lateral sospechoso es en sí misma informativa (indicaría NTLM, más propio de pass-the-hash).

Event ID Nombre Uso en IR
4768 TGT solicitado (AS-REQ / Authentication Service) El cliente pide su Ticket Granting Ticket inicial. Un 4768 con Certificate Information vacío y Pre-Authentication Type 2 (contraseña) es lo normal. Múltiples 4768 para la misma cuenta desde IPs distintas en pocos minutos sugiere credenciales comprometidas usadas desde varios puntos.
4769 TGS solicitado (Service Ticket Request) El cliente ya tiene TGT y pide acceso a un servicio concreto (SPN). Es el evento clave para detectar Kerberoasting: múltiples 4769 con Ticket Encryption Type 0x17 (RC4) para SPNs de cuentas de servicio, solicitados en ráfaga por un mismo usuario que normalmente no accede a esos servicios.
4771 Fallo de pre-autenticación Kerberos Equivalente Kerberos del 4625. El campo Failure Code 0x18 indica contraseña incorrecta (fuerza bruta); 0x6 indica usuario desconocido; 0x25 indica reloj desincronizado.

Dos anomalías Kerberos que todo analista de FOR500/FOR508 debe saber leer:

  • Golden Ticket: un 4768/4769 con un tiempo de vida del ticket (Ticket Options) anormalmente largo, o cuentas cuyo RID no corresponde a ningún objeto real de AD, o ausencia total del 4768 previo esperado (el ticket se forjó offline con el hash krbtgt y nunca hubo petición de AS-REQ legítima).
  • Silver Ticket: aparece un 4624 Type 3 con Kerberos válido para acceder a un servicio, pero no existe el 4769 correspondiente en el controlador de dominio — porque el ticket de servicio se forjó con el hash de la cuenta de servicio sin pasar por el KDC. Esta ausencia de correlación 4769→4624 es la huella principal.

3. Creación de procesos: el 4688 como pegamento de la línea temporal

El Event ID 4688 (A new process has been created) requiere habilitar Audit Process Creation y, para que sea realmente útil, la directiva Include command line in process creation events (GPO: Administrative Templates → System → Audit Process Creation), que añade el campo Process Command Line. Sin esta línea de comandos, el 4688 solo dice qué ejecutable corrió, no con qué parámetros — y en el 90% de los incidentes lo decisivo está en los parámetros.

Campos clave del 4688:

  • New Process Name y Creator Process Name: permiten reconstruir el árbol de procesos (¿quién es el padre de powershell.exe? Si es wmiprvse.exe o services.exe, es indicativo de ejecución remota).
  • Process Command Line: aquí aparecen los comandos ofuscados, flags -enc de PowerShell, rutas UNC a ADMIN$, nombres de servicios temporales de PsExec, etc.
  • Token Elevation Type: indica si el proceso corrió con un token completo (TokenElevationTypeFull) propio de una sesión administrativa ya elevada, coherente con un 4672 previo.

La correlación de oro es: 4624 (Logon ID X) → 4672 (mismo Logon ID, privilegios especiales) → 4688 (mismo Logon ID, proceso hijo del logon). Si ves un 4688 con línea de comandos sospechosa pero no puedes encontrar su Logon ID en un 4624 reciente, el proceso puede venir de una sesión ya cerrada, de una tarea programada (Logon Type 4) o de una técnica que evita el logon estándar (inyección, WMI sin nueva sesión visible).

4. Movimiento lateral: técnica por técnica

Cada herramienta de movimiento lateral deja una combinación de artefactos característica. Memorizar esta tabla es, junto con los Logon Types, el contenido más rentable de todo el módulo.

Técnica Artefactos / Event IDs clave Detalle
PsExec (Sysinternals) 4624 Type 3 (SMB a ADMIN$) → 7045 (nuevo servicio) → 4697 (instalación de servicio, si se audita) → 4688 (PSEXESVC.exe) → 4624 Type 3 adicional para el pipe con nombre \pipepsexecsvc PsExec copia el binario PSEXESVC.exe vía SMB a \hostADMIN$, crea un servicio temporal (visible en 7045 con Service Name = PSEXESVC por defecto, aunque puede renombrarse con -r), lo arranca (Logon Type 5) y se comunica por una named pipe. El artefacto más citado en cursos SANS es precisamente el 7045 con nombre de servicio efímero e Image Path apuntando a una ruta temporal en %SystemRoot%.
WMI (wmic / Invoke-WmiMethod / Impacket wmiexec) 4624 Type 3 → proceso hijo de WmiPrvSE.exe en 4688 → eventos ETW de WMI-Activity (Microsoft-Windows-WMI-Activity/Operational, ID 5857-5861) No crea servicio ni copia binario a disco (fileless en muchos casos), lo que la hace más sigilosa que PsExec. El indicador principal es un proceso inusual (cmd.exe, powershell.exe) cuyo Creator Process Name es WmiPrvSE.exe combinado con un logon de red inmediatamente anterior sin sesión interactiva.
WinRM / PowerShell Remoting (Enter-PSSession, Invoke-Command) 4624 Type 3 (puertos 5985/5986) → Microsoft-Windows-PowerShell/Operational 4103 (ejecución de pipeline) y 4104 (Script Block Logging) → 4688 de wsmprovhost.exe El tráfico va sobre WS-Management (HTTP 5985 / HTTPS 5986). El proceso host wsmprovhost.exe como padre de comandos es la firma de PSRemoting. El 4104 con contenido de script completo es la evidencia más valiosa si el nivel de Script Block Logging captura bloques marcados como sospechosos.
RDP (Remote Desktop / Terminal Services) 4624 Type 10 en el destino → logs Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational (ID 1149, conexión de red aceptada) y Microsoft-Windows-TerminalServices-LocalSessionManager/Operational (ID 21 inicio de sesión, ID 24 desconexión, ID 25 reconexión) El 1149 registra el intento de conexión RDP con IP origen antes de que se complete la autenticación, por lo que aparece incluso si el logon falla después. El ID 21/24/25 del LocalSessionManager permite reconstruir la duración exacta de la sesión gráfica remota.
Pass-the-Hash 4624 Type 3 con Authentication Package = NtLmSsp, Key Length = 0, sin 4768/4769 Kerberos correspondiente en el DC El atacante nunca conoce la contraseña en texto claro, solo el hash NTLM, así que el logon siempre usa NTLM y nunca Kerberos, aunque el entorno lo soporte. Es un patrón anómalo cuando el resto del tráfico de la organización es mayoritariamente Kerberos.
Pass-the-Ticket 4624 Type 3 o 10 con Kerberos válido, pero el 4769 previo en el DC no coincide en tiempo, IP origen o número de veces esperado; tickets reutilizados en máquinas distintas en ventanas de tiempo imposibles para un usuario humano Se exporta un ticket Kerberos legítimo (con Mimikatz sekurlsa::tickets o Rubeus) y se inyecta en otra sesión/máquina. La anomalía se detecta por incoherencia entre el origen físico esperado del usuario y el origen real de las peticiones TGS, o por el mismo Logon ID/ticket apareciendo en hosts distintos casi simultáneamente.

5. Persistencia sobre cuentas: 4720, 4728, 4732, 4738

Tras moverse lateralmente, el atacante a menudo crea o modifica cuentas para asegurar el acceso futuro sin depender de la vulnerabilidad inicial.

Event ID Nombre Relevancia
4720 Cuenta de usuario creada Nueva cuenta local o de dominio. Revisar quién la creó (Subject) y si el nombre imita convenciones legítimas (cuentas de servicio falsas, nombres con typosquatting de IT).
4728 Miembro añadido a grupo global habilitado para seguridad Escalado a grupos como Domain Admins. Correlacionar con el Subject para saber quién ejecutó el cambio y si su sesión venía de un 4624 sospechoso.
4732 Miembro añadido a grupo local habilitado para seguridad Añadir una cuenta al grupo local Administradores de una máquina concreta — persistencia local típica tras PsExec/WMI.
4738 Cuenta de usuario modificada Cambios de atributos (habilitar cuenta deshabilitada, quitar expiración, cambiar SID History). Buscar el patrón «cuenta legacy deshabilitada que de repente se modifica y se usa».

6. Extracción y triaje de EVTX a escala

En un incidente real no se revisan eventos uno a uno desde el Visor de eventos: se exportan y se procesan con herramientas de línea de comandos. A continuación, el flujo de trabajo estándar en un FOR500/FOR508.

6.1 wevtutil — extracción nativa sin instalar nada

# Exportar el canal Security completo a un archivo EVTX en otra ubicación
wevtutil epl Security C:IRSecurity_export.evtx

# Consultar en vivo solo los logons interactivos y RDP exitosos (Type 2 y 10)
wevtutil qe Security /q:"*[System[(EventID=4624)] and EventData[Data[@Name='LogonType']='10' or Data[@Name='LogonType']='2']]" /f:text /c:50

# Filtrar únicamente eventos de movimiento lateral relevantes (4624, 4625, 4648, 4672, 4688) en una ventana concreta
wevtutil qe Security /q:"*[System[(EventID=4624 or EventID=4625 or EventID=4648 or EventID=4672 or EventID=4688) and TimeCreated[@SystemTime>='2026-06-28T00:00:00' and @SystemTime<='2026-06-30T23:59:59']]]" /f:text

# Ver los eventos de creación de servicios (7045) que suele dejar PsExec
wevtutil qe System /q:"*[System[(EventID=7045)]]" /f:text /c:20

6.2 EvtxECmd (Eric Zimmerman) — conversión a CSV/JSON para análisis masivo

# Convertir un EVTX a CSV con todos los mapas de campos conocidos (incluye Logon Type ya traducido)
EvtxECmd.exe -f Security.evtx --csv C:IRout --csvf security_parsed.csv

# Procesar un directorio completo de EVTX exportados de varios hosts
EvtxECmd.exe -d C:IRevtx_collected --csv C:IRout --csvf all_hosts.csv

# Generar además una línea temporal en formato JSON para importar en Timeline Explorer
EvtxECmd.exe -f Security.evtx --json C:IRout

El CSV de EvtxECmd resuelve automáticamente el Logon Type numérico a su nombre (Network, RemoteInteractive, etc.), lo que agiliza muchísimo el pivotaje en Timeline Explorer o Excel con tablas dinámicas por LogonType + TargetUserName + IpAddress.

6.3 Chainsaw — hunting dirigido por reglas Sigma

# Búsqueda genérica de eventos de logon interesantes con detección de reglas integradas
chainsaw hunt C:IRevtx_collected --sigma C:sigmarules --mapping C:chainsawmappingssigma-event-logs-all.yml -o C:IRchainsaw_results.csv

# Caza específica de movimiento lateral (PsExec, WMI, RDP) usando las reglas "lateral_movement" de Sigma
chainsaw hunt C:IRevtx_collected --sigma C:sigmaruleswindowslateral_movement -o C:IRlateral_hits.csv --csv

# Búsqueda de texto libre por línea de comandos sospechosa dentro de todos los EVTX
chainsaw search "psexec" -i C:IRevtx_collected --ignore-case

# Extraer solo los eventos de logon fallidos agrupados por IP de origen
chainsaw hunt C:IRevtx_collected --sigma C:sigmaruleswindowsbuiltinsecuritywin_security_susp_failed_logons_explicit_credentials.yml

6.4 Hayabusa — detección rápida orientada a Windows Event Log con reglas propias

# Análisis completo de un directorio de EVTX con salida de resultados por severidad
hayabusa.exe csv-timeline -d C:IRevtx_collected -o C:IRhayabusa_timeline.csv

# Filtrar solo alertas de nivel alto/crítico relacionadas con movimiento lateral y logons anómalos
hayabusa.exe csv-timeline -d C:IRevtx_collected -m high -o C:IRhayabusa_high.csv

# Generar un resumen de métricas (qué Event IDs y qué reglas se han disparado más)
hayabusa.exe metrics -d C:IRevtx_collected -o C:IRhayabusa_metrics.csv

6.5 DeepBlueCLI — módulo PowerShell centrado en el Security log

# Analizar el log Security en vivo del sistema local
.DeepBlue.ps1 -log security

# Analizar un EVTX exportado, mostrando específicamente anomalías de logon y creación de cuentas
.DeepBlue.ps1 -file C:IRSecurity_export.evtx

# Analizar el log de PowerShell operacional (útil para correlacionar 4103/4104 tras WinRM)
.DeepBlue.ps1 -log powershell

DeepBlueCLI está pensado para ejecutarse directamente en Windows sin dependencias externas, y su valor añadido es que ya trae heurísticas para detectar contraseñas largas/sospechosas en línea de comandos, uso de certutil para descargar payloads y patrones de fuerza bruta por volumen de 4625.

7. Laboratorio: detectar un PsExec simulado en la VM del curso

Objetivo: en tu máquina virtual Windows Server del laboratorio (con Advanced Audit Policy activada para Logon/Logoff, Account Management y Process Creation, e idealmente Sysmon instalado), vas a simular un movimiento lateral con PsExec desde una segunda VM atacante y detectarlo únicamente a partir de los EVTX.

  1. Preparación: confirma en la VM víctima que auditpol /get /category:"Logon/Logoff","Account Management","Detailed Tracking" muestra Success and Failure en las subcategorías relevantes. Verifica también que la GPO Include command line in process creation events está habilitada (gpresult /r o revisando el registro en HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemAuditProcessCreationIncludeCmdLine_Enabled).
  2. Ataque simulado: desde la VM atacante, con credenciales de administrador de dominio de laboratorio, ejecuta PsExec.exe \VICTIMA -u LABadmin -p ******** cmd.exe /c whoami /all.
  3. Recolección: en la VM víctima, exporta Security y System con wevtutil epl Security C:IRSecurity.evtx y wevtutil epl System C:IRSystem.evtx.
  4. Triaje con EvtxECmd: convierte ambos EVTX a CSV y busca, en orden cronológico: un 4624 Type 3 desde la IP de la VM atacante, seguido de un 7045 en System.evtx con un Service Name de aspecto aleatorio o igual a PSEXESVC, seguido de un 4688 cuyo New Process Name sea cmd.exe y cuyo Creator Process Name sea PSEXESVC.exe.
  5. Verificación con Chainsaw: ejecuta chainsaw hunt C:IR --sigma C:sigmaruleswindowslateral_movement -o C:IRresultado.csv y confirma que al menos una regla de la familia «PsExec Service Installation» o «Suspicious Service Installation» se ha disparado.
  6. Entregable del laboratorio: documenta el Logon ID del 4624 inicial y demuestra, uniendo por ese Logon ID, la cadena completa 4624 → 7045 → 4688 → 4634/4647 de cierre, junto con la línea de comandos ejecutada (whoami /all) extraída del 4688.

8. Errores comunes al analizar autenticación

  • Ignorar el Logon Type: tratar todos los 4624 como «un usuario inició sesión» sin distinguir Type 2 de Type 3 o Type 10 lleva a falsos negativos graves (un Type 3 masivo hacia decenas de hosts en minutos es lateral movement, no actividad normal de usuario) y a falsos positivos (un Type 5 de servicio no es una persona conectándose).
  • No correlacionar 4624 con 4672: si no cruzas ambos eventos por Logon ID, no sabrás si la sesión obtuvo privilegios especiales, perdiendo la señal de que un atacante escaló durante esa misma sesión.
  • Analizar el Security log de la máquina destino sin revisar el controlador de dominio: los eventos Kerberos (4768/4769/4771) solo existen en el DC. Sin esa correlación cruzada, un Pass-the-Ticket o un Golden Ticket pasan desapercibidos.
  • No habilitar la línea de comandos en 4688: sin esta GPO, el 4688 solo confirma qué se ejecutó, no con qué parámetros — perdiendo justo la evidencia más incriminatoria en la mayoría de los casos.
  • Confundir 4634 con 4647 y asumir que su ausencia significa que la sesión sigue abierta: un logoff puede no registrarse limpiamente si el proceso termina abruptamente (crash, corte de red), así que la ausencia de cierre no es prueba concluyente de sesión activa.
  • Buscar solo el Event ID de PsExec y olvidar WMI/WinRM: cada herramienta de movimiento lateral tiene una firma distinta; construir la detección solo sobre 7045 deja ciego al analista frente a wmiexec o Invoke-Command.

9. Ejercicio

Se te entrega un export de Security.evtx de un host Windows Server que formaba parte de un dominio. Un usuario del equipo de operaciones reporta que el servidor de ficheros «se comportó raro» durante la noche. En el EVTX encuentras:

  • 23:14:02 — 4625, TargetUserName=svc-backup, SubStatus=0xC000006A, IpAddress=10.10.5.44 (repetido 6 veces entre 23:14 y 23:15)
  • 23:15:10 — 4624, LogonType=3, TargetUserName=svc-backup, AuthenticationPackage=NtLmSsp, IpAddress=10.10.5.44, Logon ID=0x3A9F21
  • 23:15:11 — 4672, Logon ID=0x3A9F21, privilegios: SeDebugPrivilege, SeBackupPrivilege
  • 23:15:14 — (System.evtx) 7045, Service Name=NqRstV, Image Path=%SystemRoot%NqRstV.exe
  • 23:15:15 — 4688, New Process Name=NqRstV.exe, Creator Process Name=services.exe, Logon ID=0x3A9F21
  • 23:15:16 — 4688, New Process Name=cmd.exe, Command Line=»cmd.exe /c whoami & net user hacker P@ssw0rd123! /add», Creator Process Name=NqRstV.exe
  • 23:15:17 — 4720, New Account=hacker, Subject=SYSTEM
  • 23:15:18 — 4732, Member Added, Group=Administradores, New Account=hacker

Preguntas: (1) ¿Qué SubStatus del 4625 indica que se trató de fuerza bruta contra una única cuenta, y por qué esa cuenta concreta (svc-backup) es un objetivo lógico para un atacante? (2) Clasifica la técnica de movimiento lateral empleada y justifica tu respuesta con al menos tres artefactos de la lista. (3) ¿Por qué el uso de NTLM en lugar de Kerberos, visible en AuthenticationPackage=NtLmSsp, es en sí mismo un indicador adicional en un dominio donde Kerberos está disponible? (4) Redacta, con estos datos, la línea temporal de persistencia final que dejó el atacante.

Preguntas frecuentes

¿Por qué el Event ID 4624 Type 3 aparece tantas veces en un servidor de ficheros aunque no haya ningún ataque?

Porque el Logon Type 3 (Network) es el que se genera de forma legítima cada vez que un usuario o un servicio accede a un recurso compartido SMB, imprime en una impresora de red o consulta un recurso vía RPC. En un servidor de ficheros esto ocurre miles de veces al día. La clave no es la presencia del Type 3, sino el volumen anómalo, el origen inesperado (una IP o cuenta que nunca antes había accedido) o su combinación inmediata con un 7045 o un 4688 sospechoso.

¿Se puede confiar en el campo IpAddress del 4624 si el atacante usa un proxy o pivota por varios saltos?

El IpAddress solo refleja el salto inmediatamente anterior, es decir, la IP de la máquina que estableció la conexión SMB/RDP/WinRM directamente contra el host auditado. Si el atacante pivota (por ejemplo, RDP a un host intermedio y desde ahí PsExec a un tercero), tendrás que reconstruir la cadena host por host, correlacionando el 4624 de salida en el host intermedio (visible como 4648 o como conexión saliente en el firewall/Sysmon Event ID 3) con el 4624 de entrada en el host final.

¿Qué diferencia hay entre auditar «Logon Events» y «Account Logon Events» en la política de auditoría clásica?

Es una confusión histórica de Windows: Logon/Logoff (categoría «Logon Events») registra los inicios y cierres de sesión en el propio equipo donde ocurre el acceso (los 4624/4625/4634 que hemos visto). Account Logon (a veces llamada «Account Logon Events») registra la validación de credenciales, que en un dominio ocurre en el controlador de dominio vía Kerberos (4768/4769/4771) o, en logons locales/legacy, vía NTLM. Para una investigación completa necesitas ambas categorías activas, tanto en los hosts finales como en los controladores de dominio.

¿Por qué Sysmon no sustituye a los Security Event Logs de Windows en este módulo?

Sysmon aporta detalle adicional excelente (Event ID 1 con hash del proceso, Event ID 3 de conexiones de red salientes, Event ID 8 de creación remota de hilos), pero no genera los eventos de autenticación nativos: el 4624, el 4625, el 4768 y el 4769 son generados exclusivamente por LSASS/Netlogon y auditados por la política nativa de Windows, no por Sysmon. En un caso real, Sysmon complementa —no reemplaza— la lectura del canal Security.

¿Es fiable el nombre del servicio en el 7045 para identificar siempre PsExec?

No de forma aislada. Herramientas como PsExec, y también sus imitaciones (Impacket psexec.py, CrackMapExec, Metasploit psexec) permiten renombrar el servicio y el ejecutable, así que basarse solo en el literal PSEXESVC genera falsos negativos frente a atacantes que cambian el nombre. Por eso el análisis robusto combina el 7045 con el patrón completo: Image Path apuntando a una carpeta temporal o poco habitual, el 4688 hijo del servicio recién creado y el 4624 Type 3/5 inmediatamente anteriores desde un origen de red.

«Logon type 3 – Network: A user or computer logged on to this computer from the network. […] This is the type of logon that occurs when accessing shared folders or printers, or via most types of logons to IIS.» — Microsoft Learn, «4624(S): An account was successfully logged on»