Una tarea programada lanza powershell -enc cada hora
Señales
- Tarea programada nueva que ejecuta «powershell -enc <base64>» cada hora
- La estación abrió ayer un adjunto de un correo de phishing
- El proceso hace conexiones salientes a una IP no catalogada
- El antivirus no ha saltado
¿Qué haces primero para confirmar el compromiso?
▸ Ver la resolución (razonamiento, evidencia, MITRE, detección)
- A) Reimaginar borra la evidencia y no te dice el alcance: ¿movimiento lateral? ¿qué C2? Contienes a ciegas.
- B) ✅ Correcto. Decodificar el -enc (Base64 UTF-16LE) es la confirmación más rápida: revela la intención, el download cradle y los IOCs (C2, rutas) para acotar el resto de la red.
- C) Bloquear el dominio es útil después, pero sin decodificar no sabes qué dominios/IPs bloquear ni si hay más.
- D) Un análisis de disco es lento y el AV ya falló; no confirma la intención del script ni te da IOCs accionables ya.
La confirmación más rápida y de mayor señal es leer lo que el atacante quiso ejecutar. El -enc de PowerShell es Base64 de UTF-16LE; al decodificarlo ves el download cradle (IEX + descarga), el C2 y los IOCs. Con eso acotas (¿otros equipos hablan con el mismo C2?), y solo entonces contienes: matar la tarea (evento 4698), aislar el host y bloquear los IOCs. Reimaginar primero destruye la evidencia que necesitas para el resto de la investigación.
- Event 4698 (tarea programada creada) + 4688/Sysmon 1 con la línea de comandos
- El Base64 decodificado: IEX, Net.WebClient/Invoke-WebRequest, la URL del C2
- Conexiones salientes recurrentes (beacon) a la IP no catalogada
Regla Sigma/KQL para «powershell» con «-enc/-EncodedCommand» y padre sospechoso (Office → PowerShell), correlacionada con creación de tarea programada (4698). El decodificador del sitio te da los IOCs para pivotar.