# 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)*