# DET0455 — Abuse of PowerShell for Arbitrary Execution
## Descrição
O PowerShell é um dos interpreters de script mais abusados em ataques modernos devido à sua integração profunda com o Windows, capacidade de reflexão .NET, acesso direto a APIs do sistema operacional e presença onipresente em ambientes corporativos. Adversários utilizam PowerShell para download e execução de payloads em memória (fileless malware), enumeração de sistema, movimento lateral, dumping de credenciais e evasão de controles de segurança.
Técnicas comuns incluem execução com `-ExecutionPolicy Bypass` para contornar políticas de execução, uso de `Invoke-Expression` (IEX) com strings codificadas em Base64 para obfuscar comandos, execução de código diretamente da memória via `[System.Reflection.Assembly]::Load()`, e uso de PowerShell v2 (`-version 2`) para contornar logging avançado disponível em versões mais recentes. O framework PowerSploit, Empire e scripts de BloodHound são exemplos de ferramentas maliciosas que dependem fortemente de PowerShell.
A detecção deve cobrir múltiplas camadas: ScriptBlock Logging (evento 4104) para capturar código desofuscado, Module Logging (evento 4103) para comandos executados, e Transcription Logging para registro de sessões. A análise de argumentos de linha de comando para padrões de ofuscação e comandos suspeitos é fundamental para detecção eficaz.
## Indicadores de Detecção
- Argumento `-EncodedCommand` ou `-enc` na linha de comando de `powershell.exe`
- Evento 4104 (ScriptBlock) contendo `IEX`, `Invoke-Expression`, `DownloadString`, `Net.WebClient`, `[Convert]::FromBase64String`
- PowerShell invocado com `-ExecutionPolicy Bypass` e `-WindowStyle Hidden` simultaneamente
- Processo `powershell.exe` com processo pai incomum (Word, Excel, Outlook, navegador)
- Execução de PowerShell v2 (`-version 2`) em ambiente com versões mais recentes disponíveis
- Uso de `Add-Type` ou `[Reflection.Assembly]::LoadWithPartialName` para carregar assemblies .NET em memória
## Técnicas Relacionadas
- [[T1059001-powershell|T1059.001 — PowerShell]]
- [[t1059-command-and-scripting-interpreter|T1059 — Command and Scripting Interpreter]]
- [[t1027-obfuscated-files-or-information|T1027 — Obfuscated Files or Information]]
- [[t1105-ingress-tool-transfer|T1105 — Ingress Tool Transfer]]
- [[t1003-os-credential-dumping|T1003 — OS Credential Dumping]]
- [[t1562-001-disable-or-modify-tools|T1562.001 — Disable or Modify Tools]]
## Analytics Relacionadas
- [[an1252-analytic-1252|AN1252 — Analytic 1252]]
---
*Fonte: [MITRE ATT&CK — DET0455](https://attack.mitre.org/detectionstrategies/DET0455)*