Descripción de la Tecnica
CS Query: Detect and Decode Base64-Encoded PowerShell Commands - http es un patrón de ataque del MITRE ATT&CK que se enfoca en la detección de comandos de PowerShell codificados en Base64. Este método permite a los actores maliciosos evitar la detección al encriptar sus instrucciones, lo que requiere herramientas de análisis para descodificar y monitorear actividades anómalas.
Como Funciona
La técnica utiliza un query de detección que identifica procesos asociados a PowerShell.exe y analiza sus argumentos de línea de comandos. Los parámetros clave incluyen opciones como -e, --encoded, o --encodedcommand, que indican la presencia de un comando codificado. El query agrupa eventos por endpoints únicos y cuenta las ejecuciones, permitiendo detectar comportamientos recurrentes o anómalos.
Actores que la Utilizan
Este patrón está relacionado con actores de alto nivel, incluyendo APTs (Advanced Persistent Threats), grupos de ciberdelincuencia y amenazas de ransomware. Estos actores utilizan PowerShell como herramienta para ejecutar comandos en sistemas Windows sin dejar rastros visibles, aprovechando la capacidad de codificación en Base64.
Detección
La técnica detecta actividades sospechosas mediante análisis de procesos y argumentos de comandos. Los sistemas de detección como CrowdStrike Falcon analizan los patrones de uso de PowerShell, identificando ocurrencias de parámetros de codificación o ejecuciones repetidas en entornos no autorizados.
Indicadores de Compromiso (IOCs)
No hay Indicadores de Compromiso públicos disponibles.
Mitigación
Las organizaciones deben implementar soluciones de ciberseguridad avanzadas, como CrowdStrike Falcon o herramientas de análisis de comportamiento, para monitorear actividades anómalas en PowerShell. Se recomienda restringir el acceso a scripts no autorizados y validar todas las ejecuciones de comandos con privilegios elevados.
Query CrowdStrike Falcon
Consulta copiable para CrowdStrike Falcon LogScale/Event Search. Ajusta campos segun tu tenant y version de sensor.
#event_simpleName=/ProcessRollup2|CommandHistory|ScriptControlScanInfo|NetworkConnectIP4/
| CommandLine=/(powershell|cmd\.exe|mshta|wscript|cscript|rundll32|regsvr32|certutil|bitsadmin|curl|wget|net\s+use|\\webdav)/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, ImageFileName, CommandLine, SHA256HashData, RemoteAddressIP4])
| sort(@timestamp, order=desc)
FQL pivots
event_simpleName:ProcessRollup2 CommandLine:powershell
event_simpleName:CommandHistory CommandLine:certutil
event_simpleName:NetworkConnectIP4 RemoteAddressIP4:*