# 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]]