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
| Pipe | Descripción | ||||
|---|---|---|---|---|---|
#repo="base_sensor" event_simpleName=ProcessRollup2 | Filtra eventos de creación de procesos desde el sensor FDR de Falcon. | ||||
FileName = /^powershell(.exe)?$/i | Limita 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.