Back to hub

PowerShell Remote Download Cradle Detection

Identifies PowerShell executions containing typical remote download patterns (IEX, Net.WebClient, BitsTransfer), techniques used in early APT compromise stages to download and execute in-memory payloads without touching disk.

EDRpowershelldownload-cradlefilelessaptiexT1059.001T1105T1027
FDR Beginnerby darkreitor 1 min read

Query

#repo="base_sensor" event_simpleName=ProcessRollup2
| FileName = /^powershell(\.exe)?$/i
| CommandLine = /(?i)(IEX|Invoke-Expression|New-Object Net\.WebClient|DownloadString|DownloadFile|WebRequest|Start-BitsTransfer|Invoke-WebRequest)/
| groupBy([ComputerName, UserName, CommandLine], function=[count(as=executions)])
| sort(executions, order=desc)

Explanation

PipeDescripción
#repo="base_sensor" event_simpleName=ProcessRollup2Filtra eventos de creación de procesos desde el sensor FDR de Falcon.
FileName = /^powershell(.exe)?$/iLimita a procesos PowerShell, compatible con invocaciones con y sin extensión .exe.
`CommandLine = /(?i)(IEX\Invoke-Expression\Net.WebClient\DownloadString\...)/`Detecta métodos de descarga remota: IEX para ejecución en memoria, Net.WebClient para HTTP, Start-BitsTransfer para transferencias BITS (técnica de evasión frecuente).
groupBy([ComputerName, UserName, CommandLine], function=[count(as=executions)])Agrupa por host, usuario y línea de comando para detectar actividad repetida o automatizada.
sort(executions, order=desc)Muestra primero los casos más frecuentes para priorización del SOC.

Adjustable Variables

Extiende el regex añadiendo '-EncodedCommand', '-enc', '-nop', '-WindowStyle Hidden', 'FromBase64String'. Añade un filtro de umbral si el entorno tiene PowerShell legítimo frecuente.