# T1059 - Command and Scripting Interpreter ## Descrição O abuso de intérpretes de comandos e scripts é uma das técnicas de execução mais prevalentes no cenário de ameaças moderno. Adversários exploram shells nativos e interpretadores de linguagem de script - como PowerShell, cmd.exe, bash, Python e Visual Basic Script - para executar comandos arbitrários, baixar payloads secundários, modificar configurações do sistema e manter persistência. Por utilizarem ferramentas já presentes no sistema operacional, ataques baseados nesta técnica frequentemente evitam detecção por soluções antivírus tradicionais baseadas em assinatura. Esta é uma técnica pai que abrange diversas sub-técnicas, cada uma correspondendo a um interpretador específico. [[t1059-001-powershell|T1059.001 - PowerShell]] é particularmente relevante em ambientes Windows corporativos pela amplitude de suas capacidades e pela presença ubíqua do interpretador. A técnica é transversal a quase todos os estágios da cadeia de ataque: desde execução inicial até exfiltração de dados, passando por reconhecimento, movimentação lateral e persistência. **Contexto Brasil/LATAM:** No Brasil e na América Latina, intérpretes de script são o veículo primário de malware financeiro. Campanhas de banking malware que visam o setor financeiro brasileiro - um dos mais atacados globalmente - utilizam extensivamente VBScript e PowerShell para executar downloaders dropados via phishing. [[ta505|TA505]] historicamente usou scripts PowerShell ofuscados em ataques a bancos e fintechs brasileiras. Grupos de espionagem como [[g1017-volt-typhoon|Volt Typhoon]] adotam estratégia LOTL (Living off the Land), executando exclusivamente ferramentas nativas como cmd.exe, wmic e netsh para evitar deixar artefatos - uma abordagem especialmente eficaz contra o nível médio de maturidade de detecção em SOCs brasileiros. ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>Phishing / Exploit] --> B[Shell Obtido] B --> C{"T1059<br/>Command &<br/>Scripting Interpreter"}:::highlight C --> D[PowerShell<br/>VBScript / Python] C --> E[cmd.exe / bash<br/>LOTL - Volt Typhoon] D --> F[Download de<br/>Payload Secundário] E --> G[Reconhecimento<br/>e Movimentação] F --> H[Persistência / C2] classDef highlight fill:#e74c3c,color:#fff ``` ## Como Funciona **Preparação:** O adversário obtém acesso ao sistema via vetor inicial - exploit de vulnerabilidade pública, phishing com attachment malicioso ou credencial comprometida - e estabelece uma sessão de shell interativo ou executa um script de forma silenciosa. Nesta fase, a escolha do interpretador é estratégica: [[g0007-apt28|Fancy Bear]] prefere PowerShell por sua integração profunda com o Windows; grupos LATAM de banking malware optam por VBScript por sua disponibilidade em versões antigas do Windows ainda prevalentes no parque corporativo brasileiro. **Execução:** O interpretador selecionado executa o payload principal ou uma cadeia de comandos que realiza múltiplas ações em sequência: reconhecimento do ambiente (`whoami`, `ipconfig`, `net user`), download de ferramentas adicionais via `Invoke-WebRequest` ou `certutil`, modificação de chaves de registro para persistência e estabelecimento de canal de C2. Em ataques LOTL como os de [[g1017-volt-typhoon|Volt Typhoon]], esta fase usa exclusivamente binários nativos do Windows - wmic, netsh, msiexec - sem arquivos maliciosos em disco. **Pós-execução:** O adversário estabelece mecanismo de persistência para garantir re-execução do interpretador após reinicialização do sistema, geralmente via tarefas agendadas ou chaves de registro Run. Campanhas relacionadas como [[volt-typhoon-infrastructure-campaign|Volt Typhoon Infrastructure Campaign]] demonstram que o pós-execução foca em exfiltração silenciosa de credenciais e mapeamento de rede - tudo via ferramentas do SO, tornando a detecção dependente de análise comportamental e não de assinaturas. ## Detecção **Event IDs relevantes (Windows):** | Event ID | Fonte | Descrição | |----------|-------|-----------| | 4688 | Security | Criação de processo - monitorar powershell.exe, cmd.exe, wscript.exe, cscript.exe | | 4104 | PowerShell | Script Block Logging - captura conteúdo de scripts PowerShell | | 4103 | PowerShell | Module Logging - registra execução de módulos e parâmetros | | 1 | Sysmon | Criação de processo com linha de comando completa | | 3 | Sysmon | Conexão de rede iniciada por interpretador de script | **Sigma Rule:** ```yaml title: Suspicious Command Interpreter Execution id: 3c7a2b1e-5f6d-4a8c-9b0e-1d2f3e4a5c6b status: stable description: > Detecta execução suspeita de intérpretes de comandos com parâmetros de evasão ou download remoto - padrão comum em malware LATAM e grupos APT. logsource: category: process_creation product: windows detection: selection_powershell: Image|endswith: '\powershell.exe' CommandLine|contains: - '-EncodedCommand' - '-enc ' - '-w hidden' - 'IEX' - 'Invoke-Expression' - 'DownloadString' - 'WebClient' selection_cmd: Image|endswith: '\cmd.exe' CommandLine|contains: - '/c powershell' - '/c wscript' - '/c cscript' selection_wscript: Image|endswith: - '\wscript.exe' - '\cscript.exe' CommandLine|contains: - '.vbs' - '.js' condition: 1 of selection_* falsepositives: - Scripts legítimos de automação de TI - Ferramentas de deploy e provisionamento (Ansible, Chef) level: high tags: - attack.execution - attack.t1059 ``` ## Mitigação | Controle | Mitigação | Recomendação para Organizações Brasileiras | |----------|-----------|---------------------------------------------| | PowerShell Constrained Language Mode | Hardening | Ativar CLM via GPO em estações de trabalho; bloqueia classes .NET e COM objects - eficaz contra banking malware | | Script Block Logging | Monitoramento | Habilitar via GPO (Computer Config → Administrative Templates → Windows Components → PowerShell) | | AMSI (Antimalware Scan Interface) | Detecção | Garantir que soluções EDR tenham integração AMSI ativa - intercepta scripts antes da execução | | AppLocker / WDAC | Controle de execução | Bloquear execução de wscript.exe e cscript.exe por usuários não administrativos | | Execução de scripts assinados | Política | Exigir assinatura digital para scripts PowerShell (ExecutionPolicy AllSigned) | | Monitoramento de processos-filho | SIEM | Alertar quando Office (winword.exe, excel.exe) spawna cmd.exe ou powershell.exe - vetor clássico de phishing LATAM | ## Grupos que Utilizam Esta Técnica %% ```dataview TABLE WITHOUT ID link(file.link, title) AS "Ator", origin AS "Origem" FROM "cti/groups" WHERE contains(techniques, this.file.link) ``` %% <!-- QueryToSerialize: TABLE WITHOUT ID link(file.link, title) AS "Nota", title AS "Ator", origin AS "Origem" FROM "cti/groups" WHERE contains(techniques, this.file.link) --> <!-- SerializedQuery: TABLE WITHOUT ID link(file.link, title) AS "Nota", title AS "Ator", origin AS "Origem" FROM "cti/groups" WHERE contains(techniques, this.file.link) --> | Nota | Ator | Origem | | ---------------------------------------------- | ------------- | --------------- | | [[apt-tekir\|APT Tekir]] | APT Tekir | desconhecida | | [[citrine-sleet\|Citrine Sleet]] | Citrine Sleet | Coreia do Norte | | [[cti/groups/qilin.md\|Qilin]] | Qilin | Rússia | <!-- SerializedQuery END --> - [[g1017-volt-typhoon|Volt Typhoon]] - usa exclusivamente intérpretes nativos (cmd.exe, wmic, netsh) em sua estratégia LOTL para evitar artefatos detectáveis em infraestrutura crítica - [[g0007-apt28|Fancy Bear]] - emprega PowerShell extensivamente para execução de implants e exfiltração em campanhas de espionagem contra governos e defesa - [[ta505|TA505]] - utiliza scripts PowerShell fortemente ofuscados em ataques a instituições financeiras brasileiras e latinoamericanas ## Campanhas Relacionadas %% ```dataview TABLE WITHOUT ID link(file.link, title) AS "Campanha" FROM "cti/campaigns" WHERE contains(techniques, this.file.link) ``` %% <!-- QueryToSerialize: TABLE WITHOUT ID link(file.link, title) AS "Nota", title AS "Campanha" FROM "cti/campaigns" WHERE contains(techniques, this.file.link) --> <!-- SerializedQuery: TABLE WITHOUT ID link(file.link, title) AS "Nota", title AS "Campanha" FROM "cti/campaigns" WHERE contains(techniques, this.file.link) --> | Nota | Campanha | | ------------------------------------------------------------------------------------------- | ----------------------------------- | | [[accellion-fta-exploitation\|Accellion FTA Exploitation]] | Accellion FTA Exploitation | | [[dnc-hack-2016\|DNC Hack 2016]] | DNC Hack 2016 | | [[ghosthire-campaign-2025\|GhostHire Campaign 2025]] | GhostHire Campaign 2025 | | [[industroyer-apagao-ucraniano-2016\|Industroyer - Apagão Ucraniano 2016]] | Industroyer - Apagão Ucraniano 2016 | | [[interlock-cisco-fmc-campaign-2026\|Interlock Cisco FMC Campaign 2026]] | Interlock Cisco FMC Campaign 2026 | | [[operation-ghostmail-2026\|Operation GhostMail]] | Operation GhostMail | | [[operation-ghostmail-zimbra-2026\|Operation GhostMail Zimbra 2026]] | Operation GhostMail Zimbra 2026 | | [[operation-hankook-phantom\|Operation Hankook Phantom]] | Operation Hankook Phantom | | [[operation-parliament\|Operation Parliament]] | Operation Parliament | | [[operation-moonlight\|Operation Moonlight]] | Operation Moonlight | | [[operation-wilted-tulip\|Operation Wilted Tulip]] | Operation Wilted Tulip | | [[phobos-raas-campaign\|Phobos RaaS Campaign]] | Phobos RaaS Campaign | | [[sony-pictures-hack\|Sony Pictures Hack]] | Sony Pictures Hack | | [[transparent-tribe-india-campaigns\|Transparent Tribe India Campaigns]] | Transparent Tribe India Campaigns | | [[trivy-supply-chain-2026\|TeamPCP Supply Chain Campaign 2026]] | TeamPCP Supply Chain Campaign 2026 | <!-- SerializedQuery END --> ## 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]]