Back to hub

Basic Detection of PowerShell Encoded Command Execution

Beginner-level query to detect PowerShell executions with base64 encoding or profile suppression parameters, a fundamental technique used by attackers to obfuscate malicious scripts in Windows environments

EDRpowershellencoded-commandobfuscationwindowslotlT1059.001T1027
FDR Beginnerby darkreitor 1 min read

Query

#repo="base_sensor" #event_simpleName=ProcessRollup2
| FileName=/(?i)(powershell\.exe|pwsh\.exe)$/
| CommandLine=/(?i)(-enc|-encodedcommand|-ec\s)/
| groupBy([ComputerName, UserName, CommandLine], function=count(as=exec_count))
| sort(exec_count, order=desc)

Explanation

PipeDescripción
#repo="base_sensor" #event_simpleName=ProcessRollup2Filtra eventos de creación de procesos desde telemetría FDR
`FileName=/(?i)(powershell\.exe\pwsh\.exe)$/`Apunta a ambas versiones de PowerShell (clásica y Core)
`CommandLine=/(?i)(-enc\-encodedcommand\-ec\s)/`Detecta el uso del parámetro de comando codificado en base64, indicador de ofuscación
groupBy([ComputerName, UserName, CommandLine], function=count(as=exec_count))Agrupa resultados por host, usuario y línea de comando completa para identificar patrones
sort(exec_count, order=desc)Ordena por frecuencia para priorizar las ejecuciones más repetidas

Adjustable Variables

Añade -nop, -noprofile, -w hidden o -bypass a la regex si quieres ampliar la cobertura. Filtra por UserName para excluir cuentas de servicio con uso legítimo documentado de PowerShell codificado.