Threat Hunting con Sysmon en Windows: Eventos Clave y Consultas Practicas
Guia practica de threat hunting con Sysmon en Windows. Eventos esenciales (ID 1, 3, 7, 8, 10, 11, 13, 22), configuracion optima, consultas de caza para detectar ejecucion sospechosa, inyeccion de procesos, persistencia y C2.
Por Que Sysmon es Esencial para el Hunting
System Monitor (Sysmon) es un servicio y driver de Windows desarrollado por Mark Russinovich (Sysinternals, Microsoft) que registra actividad del sistema con un nivel de detalle que los logs nativos de Windows no proporcionan. Para el threat hunter, Sysmon es la fuente de datos de endpoint mas valiosa en el ecosistema Windows.
Los logs nativos de Windows Security tienen limitaciones significativas para el hunting. El Event ID 4688 (Process Creation) puede registrar la linea de comandos si se habilita mediante Group Policy, pero no incluye hashes del ejecutable, no registra el parent process de forma fiable y no captura carga de DLLs, accesos a procesos ni actividad de registro con el mismo detalle que Sysmon.
Sysmon llena esos gaps con 29 Event IDs que cubren desde la creacion de procesos hasta la manipulacion del clipboard, pasando por conexiones de red, accesos a memoria de otros procesos y modificaciones de WMI.
Configuracion Optima para Hunting
Una configuracion por defecto de Sysmon genera un volumen excesivo de eventos. Las configuraciones comunitarias proporcionan un punto de partida equilibrado entre visibilidad y volumen.
Configuraciones de referencia
SwiftOnSecurity/sysmon-config. La configuracion mas popular de la comunidad. Enfocada en reducir el ruido manteniendo visibilidad sobre actividad sospechosa. Buena para despliegues iniciales.
olafhartong/sysmon-modular. Configuracion modular que permite activar o desactivar bloques de reglas por categoria. Ideal para equipos que quieren control granular.
Instalacion y despliegue
# Instalacion con configuracion de referencia
sysmon64.exe -accepteula -i sysmon-config.xml
# Actualizacion de configuracion sin reinstalar
sysmon64.exe -c sysmon-config-updated.xml
# Verificar que Sysmon esta corriendo
Get-Service Sysmon64
# Ver configuracion actual
sysmon64.exe -c
Los eventos de Sysmon se registran en Microsoft-Windows-Sysmon/Operational en el Event Viewer de Windows.
Los 8 Event IDs Clave para Hunting
De los 29 Event IDs de Sysmon, 8 son especialmente relevantes para el threat hunting.
Event ID 1: Process Creation
El evento mas importante. Registra cada creacion de proceso con datos criticos que el Event ID 4688 nativo no incluye de forma fiable.
Campos clave para hunting:
Image: ruta completa del ejecutableCommandLine: linea de comandos completa con argumentosParentImage: proceso padre que lanzo este procesoParentCommandLine: linea de comandos del proceso padreUser: usuario que ejecuto el procesoHashes: hashes MD5/SHA256/IMPHASH del ejecutableCurrentDirectory: directorio de trabajoIntegrityLevel: nivel de integridad (System, High, Medium, Low)
Ejemplo de hunting: ejecucion sospechosa de PowerShell
Buscar: Event ID 1 donde Image contiene powershell.exe
Y CommandLine contiene -enc, -encodedcommand, -e (base64)
O CommandLine contiene -nop, -noprofile, -w hidden
O CommandLine contiene downloadstring, invoke-expression, iex
O CommandLine tiene longitud superior a 500 caracteres
Consulta KQL para Elastic:
event.code: "1" AND
process.name: "powershell.exe" AND (
process.command_line: (*-enc* OR *-encodedcommand* OR *downloadstring* OR *invoke-expression* OR *iex*) OR
process.command_line: (*-nop* AND *-w* AND *hidden*)
)
Ejemplo de hunting: LOLBins (Living Off the Land)
Los adversarios usan binarios legitimos de Windows para ejecutar codigo malicioso. Los LOLBins mas abusados son:
Buscar Event ID 1 donde Image es uno de:
- certutil.exe con argumentos -urlcache, -split, -decode
- mshta.exe ejecutando URLs o scripts
- regsvr32.exe con /s /u /i y URL remota (Squiblydoo)
- rundll32.exe con URL o DLL en ruta temporal
- bitsadmin.exe con /transfer y URL remota
- wmic.exe con process call create
Event ID 3: Network Connection
Registra conexiones TCP/UDP salientes con el proceso que las origina. Esencial para identificar C2 y exfiltracion a nivel de endpoint.
Campos clave:
Image: proceso que inicio la conexionDestinationIp: IP de destinoDestinationPort: puerto de destinoDestinationHostname: hostname de destino (si hay resolucion)User: usuario del proceso
Ejemplo de hunting: procesos inusuales con conexiones de red
Buscar Event ID 3 donde Image es un proceso que normalmente
no deberia hacer conexiones de red salientes:
- notepad.exe
- calc.exe
- mspaint.exe
- svchost.exe con puertos no estandar
- procesos en %TEMP% o %APPDATA%
Event ID 7: Image Loaded (DLL)
Registra la carga de DLLs por procesos. Fundamental para detectar DLL sideloading, DLL injection y uso de DLLs maliciosas.
Ejemplo de hunting: DLL sideloading
Buscar Event ID 7 donde:
- ImageLoaded apunta a una DLL en directorio temporal
- Image es un ejecutable firmado y legitimo
- La DLL no esta firmada (Signed: false)
- La combinacion ejecutable + DLL no es habitual
La deteccion de DLL sideloading requiere conocer las cargas de DLL normales de cada proceso. Herramientas como DLL Hijack Auditor pueden generar este baseline.
Event ID 8: CreateRemoteThread
Registra cuando un proceso crea un thread en otro proceso. Es la tecnica clasica de inyeccion de codigo (T1055).
Ejemplo de hunting: inyeccion de procesos
Buscar Event ID 8 donde:
- SourceImage NO es un proceso conocido por crear threads remotos
(excluir: csrss.exe, services.exe, svchost.exe, lsass.exe,
WerFault.exe, taskmgr.exe)
- TargetImage es un proceso de alto valor
(explorer.exe, svchost.exe, lsass.exe)
Event ID 10: ProcessAccess
Registra cuando un proceso accede a la memoria de otro proceso. Critico para detectar dumping de credenciales (acceso a lsass.exe).
Ejemplo de hunting: acceso a LSASS
Buscar Event ID 10 donde:
- TargetImage contiene lsass.exe
- GrantedAccess incluye 0x1010 o 0x1FFFFF (acceso completo a memoria)
- SourceImage NO es un proceso legitimo conocido
(excluir: MsMpEng.exe, csrss.exe, svchost.exe, WerFault.exe)
Consulta KQL:
event.code: "10" AND
winlog.event_data.TargetImage: "*lsass.exe" AND
winlog.event_data.GrantedAccess: ("0x1010" OR "0x1FFFFF" OR "0x1F1FFF" OR "0x1F3FFF") AND
NOT winlog.event_data.SourceImage: (*MsMpEng* OR *csrss* OR *WerFault*)
Event ID 11: FileCreate
Registra la creacion de archivos. Util para detectar staging de herramientas, drops de malware y creacion de artefactos de persistencia.
Ejemplo de hunting: creacion de archivos en rutas sospechosas
Buscar Event ID 11 donde:
- TargetFilename esta en %PUBLIC%, %TEMP%, %APPDATA%
- Extension es .exe, .dll, .ps1, .bat, .vbs, .hta, .js
- El proceso creador (Image) es un navegador, Office, o PowerShell
Event ID 13: RegistryEvent (Value Set)
Registra modificaciones de valores en el registro de Windows. Esencial para detectar persistencia via registry keys.
Ejemplo de hunting: persistencia en Run keys
Buscar Event ID 13 donde TargetObject contiene:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Y Details apunta a rutas no estandar o ejecutables desconocidos
Event ID 22: DNSEvent (DNS Query)
Registra las consultas DNS realizadas por cada proceso. Invaluable para detectar DNS tunneling, DGA (Domain Generation Algorithms) y comunicacion C2 via DNS.
Ejemplo de hunting: DNS tunneling
Buscar Event ID 22 donde:
- QueryName tiene subdominios largos (mas de 50 chars)
- Volumen alto de queries al mismo dominio base
- QueryType es TXT (usado para exfiltracion)
- Image no es un navegador ni un servicio DNS conocido
Patrones de Hunting con Cadenas de Procesos
Una de las tecnicas de hunting mas poderosas con Sysmon es analizar las cadenas de procesos (process trees). Los adversarios generan cadenas de ejecucion caracteristicas que difieren de la actividad legitima.
Cadenas sospechosas de Office
winword.exe -> cmd.exe -> powershell.exe
excel.exe -> wscript.exe -> cmd.exe
outlook.exe -> mshta.exe
Regla: las aplicaciones de Office no deberian lanzar
interpretes de comandos ni scripts en uso normal.
Cadenas sospechosas de servicios
services.exe -> cmd.exe (servicio creado via linea de comandos)
wmiprvse.exe -> powershell.exe (ejecucion remota via WMI)
wsmprovhost.exe -> powershell.exe (PowerShell Remoting)
Regla: servicios y WMI que lanzan interpretes de comandos
merecen investigacion si no estan documentados.
Cadena de ataque tipica de phishing
outlook.exe -> chrome.exe -> [descarga .zip]
explorer.exe -> [abre .lnk del zip]
cmd.exe -> powershell.exe -enc [payload base64]
powershell.exe -> [descarga stage 2]
rundll32.exe -> [carga DLL maliciosa]
Cada transicion en esta cadena genera un Event ID 1 en Sysmon. El hunter busca estas cadenas correlacionando los ParentProcessGuid con los ProcessGuid para reconstruir el arbol completo.
Enriquecimiento y Correlacion
Los eventos de Sysmon son mas valiosos cuando se correlacionan entre si y con otras fuentes.
Correlacion intra-Sysmon
Un unico incidente genera multiples Event IDs. El ProcessGuid de Sysmon permite correlacionarlos:
- Event ID 1: PowerShell se ejecuta con parametros sospechosos (ProcessGuid: X)
- Event ID 3: el mismo PowerShell (ProcessGuid: X) conecta a una IP externa
- Event ID 11: PowerShell (ProcessGuid: X) crea un archivo .dll en %TEMP%
- Event ID 7: rundll32.exe carga la DLL creada
- Event ID 8: rundll32.exe inyecta un thread en svchost.exe
Correlacion con otras fuentes
- Cruzar IPs de destino (Event ID 3) con feeds de CTI (MalwareIntel, OTX, ThreatFox)
- Cruzar hashes (Event ID 1) con MalwareBazaar para identificar malware conocido
- Correlacionar tiempos de logon (Windows 4624) con ejecucion de procesos sospechosos
- Cruzar dominios DNS (Event ID 22) con listas de dominios de DGA conocidos
Limitaciones de Sysmon
Sysmon no es una solucion completa. Tiene limitaciones que el hunter debe conocer:
No ve actividad de kernel avanzada. Rootkits que operan a nivel de kernel pueden evadir la deteccion de Sysmon. Drivers maliciosos que se cargan antes que Sysmon pueden manipular los registros.
Puede ser deshabilitado. Un adversario con privilegios de administrador puede detener el servicio de Sysmon, eliminar sus reglas o descargar su driver. El Event ID 4 (Sysmon Service State Changed) detecta estos cambios, pero requiere que haya otro mecanismo de monitoreo.
No analiza contenido. Sysmon registra que PowerShell ejecuto un comando codificado en Base64, pero no decodifica el contenido. El hunter debe decodificar manualmente los payloads.
Impacto en volumen de logs. Una configuracion agresiva en un entorno con miles de endpoints puede generar terabytes de logs diarios. La configuracion de exclusiones es critica.
Checklist de Hunting con Sysmon
Para cada sesion de hunting con Sysmon, el hunter deberia revisar sistematicamente:
- Ejecucion de procesos desde rutas temporales (Event ID 1, Image en %TEMP%, %APPDATA%)
- PowerShell con parametros de encoding u ofuscacion (Event ID 1)
- LOLBins con parametros de descarga o ejecucion (Event ID 1)
- Procesos de Office lanzando interpretes de comandos (Event ID 1, cadena de procesos)
- Accesos a LSASS (Event ID 10)
- CreateRemoteThread entre procesos no relacionados (Event ID 8)
- DLLs sin firma cargadas por procesos firmados (Event ID 7)
- Conexiones de red desde procesos inusuales (Event ID 3)
- Persistencia via claves de registro Run (Event ID 13)
- DNS anomalo: subdominios largos, alto volumen, TXT queries (Event ID 22)
Conclusion
Sysmon transforma la capacidad de hunting en endpoints Windows. Con una configuracion adecuada y un buen SIEM para centralizar y consultar los datos, Sysmon proporciona la visibilidad necesaria para detectar la mayoria de las tecnicas que usan los adversarios en la fase de post-explotacion.
Los 8 Event IDs cubiertos en este articulo no son exhaustivos, pero representan el 80% del valor de hunting que Sysmon ofrece. Un hunter que domine la interpretacion de estos eventos y sus correlaciones estara equipado para detectar inyeccion de procesos, movimiento lateral, persistencia, exfiltracion y comunicacion con C2.
Preguntas frecuentes
Libros recomendados
Artículos relacionados
Hunting de Movimiento Lateral: Detectar PsExec, WMI, RDP y Pass-the-Hash
Hunting de Mecanismos de Persistencia: Registry, Scheduled Tasks, Services y WMI
Hunting de Acceso a Credenciales: LSASS, Kerberoasting, Password Spraying y DCSync
ELK Stack para Threat Hunting: KQL, Dashboards y Reglas de Deteccion
Herramientas DFIR Open Source: Guia Completa 2026
Cobertura ATT&CK: DeTT&CT, Gap Analysis y Priorización de Detecciones
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.