«No tenemos un Splunk de millón. ¿Podemos hacer threat hunting?» Sí. Y mejor que la mayoría de organizaciones que sí tienen Splunk pero no han escrito una sola hipótesis en seis meses. Esta guía es para equipos pequeños, sin SIEM corporativo, con un EDR razonable y ganas de empezar.
Lo que necesitas (poco)
El kit mínimo que recomendamos a clientes que arrancan:
- Sysmon con la configuración de SwiftOnSecurity como base. Gratis, ligero, deja un Event Log riquísimo.
- Windows Event Forwarding (WEF) apuntando a un servidor de logs. Si no lo tienes, vale incluso un servidor con
Get-WinEventy carpetas compartidas. - EDR, sea cual sea. Defender for Endpoint, CrowdStrike, SentinelOne, Wazuh… La consola da capacidad de búsqueda histórica.
- Una hoja de cálculo. Para tracking de hipótesis, hallazgos, falsos positivos. No es broma.
Eso es todo lo que hace falta para escribir las primeras 20 cazas. SIEM dedicado y plataforma de hunting llegarán cuando los necesites; al principio, no.
El bucle de hunting en cuatro pasos
Cualquier caza, simple o compleja, sigue el mismo patrón. Si saltas pasos, hace falta volver atrás. Si los respetas, no hay caza imposible.
- Hipótesis. Una frase específica, comprobable. «Existen X en mi entorno que se comportan como Y».
- Datos. ¿Qué fuente de telemetría contesta? ¿La tengo? ¿Está completa? ¿Cuánto tiempo de retención?
- Análisis. La consulta. Filtrar baseline. Pivotar. Validar.
- Resultado. Confirmado, descartado o convertido en regla. Sin "lo dejamos para mañana".
Tres hipótesis para empezar esta semana
Hipótesis 1 — PowerShell con argumentos codificados
Es la caza más rentable en relación esfuerzo/hallazgo. Cualquier powershell.exe con -Enc o -EncodedCommand ejecutado por una cuenta no-IT es candidato a investigación. Sysmon evento 1 (Process Create):
# PowerShell sobre el log de Sysmon, sin SIEM
Get-WinEvent -LogName 'Microsoft-Windows-Sysmon/Operational' |
Where-Object { $_.Id -eq 1 } |
Where-Object { $_.Properties[10].Value -match 'powershell.exe' } |
Where-Object { $_.Properties[10].Value -match '-(Enc|EncodedCommand)' } |
Select-Object TimeCreated,
@{n='User'; e={ $_.Properties[6].Value }},
@{n='Cmd'; e={ $_.Properties[10].Value }} |
Sort-Object TimeCreated -Descending
Esperable: muchos resultados. Tu trabajo es construir el baseline (qué scripts internos legítimos usan -Enc) y quedarte con lo que sobra. La primera vuelta toma una tarde; la segunda, diez minutos.
Hipótesis 2 — Procesos hijos inesperados de Office
Excel, Word y Outlook nunca deberían ser padres de cmd.exe, powershell.exe, wscript.exe, mshta.exe ni regsvr32.exe. Si lo son, casi siempre es macro maliciosa.
Get-WinEvent -LogName 'Microsoft-Windows-Sysmon/Operational' |
Where-Object { $_.Id -eq 1 } |
Where-Object {
$parent = $_.Properties[20].Value
$child = $_.Properties[4].Value
($parent -match 'EXCEL|WINWORD|OUTLOOK|POWERPNT') -and
($child -match 'cmd|powershell|wscript|mshta|regsvr32')
}
Si esta consulta encuentra resultados positivos hoy en tu entorno, tienes algo activo. No es teoría: es lo más rentable del kit.
Hipótesis 3 — Programas en directorios de usuario
Binarios ejecutados desde %APPDATA%, %LOCALAPPDATA%\Temp o el escritorio del usuario son candidatos a stage-1 de malware. La mayoría del software legítimo no se ejecuta desde ahí.
Aplicar el mismo patrón: filtra Sysmon evento 1, condición sobre el campo Image, restar lo que conozcas (instaladores legítimos, scripts internos), investigar el resto.
Cómo evitar el cementerio de hipótesis
El error que más vemos en equipos que arrancan: empezar con cinco hipótesis muy ambiciosas, no terminar ninguna, y abandonar el programa de hunting. La regla práctica:
Una hipótesis por semana. Cierre dentro de la semana. Aunque sea descartar.
50 hipótesis al año, dejando huella en tu hoja de cálculo, son un programa de threat hunting real. 200 hipótesis comenzadas, ninguna terminada, no son nada.
Cuando deje de servirte
Vas a sentir el techo de este montaje cuando empieces a necesitar correlacionar fuentes (endpoint + identidad + red), retención más larga (90+ días) o búsquedas que tarden más de unos minutos en máquinas locales. Cuando llegue ese momento — no antes — toca subir un escalón: SIEM ligero (Wazuh, Elastic, Splunk Free para empezar) o, si tienes presupuesto, plataforma de hunting dedicada. Pero el orden importa: no compres antes de saber qué vas a preguntar. Las herramientas no escriben hipótesis solas.
El threat hunting no es un producto que compras. Es un hábito que arrancas. Sysmon, una hoja de cálculo y un viernes a la semana son suficiente para empezar. Cuando ese hábito esté en marcha, las herramientas empiezan a tener sentido. Antes, no.