# T1218 - System Binary Proxy Execution
## Descrição
Adversários abusam de binários legítimos e **assinados digitalmente pelo sistema operacional** para executar código malicioso indiretamente - uma estratégia amplamente conhecida como **LOLBins** (Living Off the Land Binaries).
A lógica central da técnica é simples e poderosa: se a execução de um payload ocorre no contexto de um binário confiável (assinado pela Microsoft, Apple ou pelo fabricante do sistema), muitas soluções de segurança baseadas em lista de permissões ou em reputação de assinatura não irão bloquear a execução. O binário legítimo atua como **proxy** - um intermediário confiável que carrega ou executa conteúdo arbitrário.
### Por que essa técnica é tão eficaz?
- **Assinatura digital válida:** binários como `rundll32.exe`, `mshta.exe`, `regsvr32.exe` e `msiexec.exe` são assinados pela Microsoft - passam por controles de aplicação baseados em assinatura
- **Presença garantida:** esses binários estão presentes em práticamente todas as instalações do Windows, eliminando a necessidade de dropar ferramentas externas
- **Comportamento ambíguo:** o uso legítimo desses binários é frequente em ambientes corporativos, gerando alto volume de falsos positivos se bloqueados sem critério
- **Bypass de AppLocker/WDAC:** em configurações incompletas, muitos desses binários operam em zonas autorizadas por padrão
- **Dificulta atribuição:** o uso de ferramentas nativas reduz rastros forenses e dificulta a distinção entre atividade legítima e maliciosa
No Linux e macOS, adversários também abusam de binários de sistema confiáveis - como utilitários de shell, interpretadores de script nativos e ferramentas administrativas - para executar código arbitrário sob o guarda-chuva de processos legítimos.
## Sub-técnicas
- [[t1218-001-compiled-html-file|T1218.001 - Compiled HTML File]]
- [[t1218-002-control-panel|T1218.002 - Control Panel]]
- [[t1218-003-cmstp|T1218.003 - CMSTP]]
- [[t1218-004-installutil|T1218.004 - InstallUtil]]
- [[t1218-005-mshta|T1218.005 - Mshta]]
- [[t1218-007-msiexec|T1218.007 - Msiexec]]
- [[t1218-008-odbcconf|T1218.008 - Odbcconf]]
- [[Regasm]]
- [[t1218-010-regsvr32|T1218.010 - Regsvr32]]
- [[t1218-011-rundll32|T1218.011 - Rundll32]]
- [[t1218-012-verclsid|T1218.012 - Verclsid]]
- [[t1218-013-mavinject|T1218.013 - Mavinject]]
- [[t1218-014-mmc|T1218.014 - MMC]]
- [[t1218-015-electron-applications|T1218.015 - Electron Applications]]
## Como Funciona
O padrão geral de ataque segue três etapas independente da sub-técnica utilizada:
**Etapa 1 - Preparação do payload:** o adversário cria o artefato malicioso no formato aceito pelo binário-alvo (DLL, script HTA, pacote MSI, arquivo CHM, assembly .NET, etc.).
**Etapa 2 - Invocação do proxy:** o adversário chama o binário legítimo com argumentos que apontam para o artefato malicioso. Isso pode ocorrer via linha de comando, script, tarefa agendada ou exploit de outro processo.
**Etapa 3 - Execução proxy-mediada:** o binário legítimo processa o artefato e executa o código malicioso em seu contexto de processo - herdando sua reputação, assinatura e permissões.
### Padrões de Invocação Documentados (Windows)
Os padrões abaixo refletem comportamentos observados em campo e documentados pelo MITRE:
- `rundll32.exe` invocado com DLL de path temporário e entry point não-padrão
- `regsvr32.exe` com argumento `/i:` apontando para URL remota (técnica Squiblydoo)
- `mshta.exe` com URL HTTP como argumento direto
- `msiexec.exe` com flag de instalação silenciosa e URL remota como fonte do pacote
- `hh.exe` abrindo arquivo CHM de origem externa (Zone.Identifier = 3)
## Attack Flow
```mermaid
graph TB
A["Acesso Inicial<br/>(Phishing / Exploit / Supply Chain)"] --> B["Entrega do Artefato<br/>(DLL, HTA, MSI, CHM, Script)"]
B --> C["Invocação do Binário Proxy<br/>(rundll32 / mshta / regsvr32 / msiexec / hh)"]
C --> D["Bypass de Controle<br/>de Aplicação e AV"]
D --> E["Execução do Payload<br/>no Contexto do Binário Legítimo"]
E --> F1["Download de C2<br/>(Ingress Tool Transfer)"]
E --> F2["Injeção em Processo<br/>(Process Injection)"]
E --> F3["Persistência<br/>(Registry / Scheduled Task)"]
F1 --> G["Operação Pós-Exploração<br/>(Coleta, Exfiltração, Lateral)"]
F2 --> G
F3 --> G
style A fill:#2d2d2d,color:#fff
style B fill:#8b1a1a,color:#fff
style C fill:#8b4513,color:#fff
style D fill:#8b6914,color:#fff
style E fill:#8b6914,color:#fff
style F1 fill:#1a4a1a,color:#fff
style F2 fill:#1a4a1a,color:#fff
style F3 fill:#1a4a1a,color:#fff
style G fill:#1a1a8b,color:#fff
```
## Exemplos de Uso
### Lazarus Group - Operações de Espionagem e Crime Financeiro
O [[g0032-lazarus-group|Lazarus Group]] (Coreia do Norte) emprega LOLBins extensivamente em suas operações. Em campanhas documentadas contra exchanges de criptomoedas e bancos, o grupo utilizou `mshta.exe` e `rundll32.exe` para executar payloads iniciais entregues via [[t1566-phishing|spear-phishing]], evitando detecção por EDRs que monitoram apenas executáveis não assinados.
### Volt Typhoon - Espionagem de Infraestrutura Crítica
O [[g1017-volt-typhoon|Volt Typhoon]] (China) é um exemplo paradigmático de operação puramente LOL (Living off the Land): o grupo opera quase exclusivamente com ferramentas nativas do Windows sem dropar malware customizado. O uso de T1218 complementa essa estratégia ao permitir execução de comandos arbitrários sem binários externos.
### APT41 - Dupla Missão
O [[g0096-apt41|APT41]] utiliza `msiexec.exe` para instalar pacotes maliciosos via URL remota - técnica documentada em campanhas contra empresas de tecnologia e saúde. O pacote remoto permite atualizar o payload sem re-infectar as vítimas.
### FIN7 - Setor Financeiro
O [[g0046-fin7|FIN7]] tem histórico extenso de uso de `mshta.exe` com arquivos HTA maliciosos em campanhas de spear-phishing contra varejistas e empresas de hospedagem de dados de pagamento. Os HTAs executavam JScript que baixava e executava o framework de ataque CARBANAK.
### Astaroth/Guildma - Brasil
O trojan bancário [[s0373-astaroth|Astaroth]] empilha múltiplos LOLBins em sequência para máxima evasão: `hh.exe` → `wmic.exe` → `certutil.exe` → `regsvr32.exe`. Cada estágio usa um binário diferente referênciado em T1218, tornando a detecção baseada em regras individuais insuficiente - é necessária correlação de comportamento.
## Detecção
### Regra Sigma - Processo Filho Suspeito de LOLBin
```yaml
title: Processo Filho Suspeito Originado de LOLBin Conhecido
id: d7e8f9a0-b1c2-4d3e-a4f5-6b7c8d9e0f1a
status: stable
description: >
Detecta LOLBins conhecidos gerando processos filhos suspeitos como
cmd, powershell ou wscript. Alta fidelidade para atividade maliciosa
quando o processo pai é um LOLBin do Windows.
references:
- https://attack.mitre.org/techniques/T1218/
author: RunkIntel
daté: 2026-03-25
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\rundll32.exe'
- '\mshta.exe'
- '\regsvr32.exe'
- '\msiexec.exe'
- '\odbcconf.exe'
- '\installutil.exe'
- '\regasm.exe'
- '\regsvcs.exe'
- '\cmstp.exe'
- '\hh.exe'
- '\mavinject.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\whoami.exe'
- '\net.exe'
condition: selection_parent
falsepositives:
- Instaladores legítimos que invocam scripts durante setup - válidar com mudança de gestão
- Ferramentas de gerenciamento que usam msiexec para deploy
level: high
tags:
- attack.defense_evasion
- attack.t1218
```
### Regra Sigma - Conexão de Rede por LOLBin
```yaml
title: Conexão de Rede Iniciada por LOLBin
id: e8f9a0b1-c2d3-4e5f-b6a7-8c9d0e1f2a3b
status: stable
description: >
LOLBins iniciando conexões de rede são indicador de alta fidelidade
para download de payload remoto ou comúnicação C2 via proxy.
logsource:
category: network_connection
product: windows
detection:
selection:
Image|endswith:
- '\rundll32.exe'
- '\mshta.exe'
- '\regsvr32.exe'
- '\msiexec.exe'
- '\odbcconf.exe'
- '\installutil.exe'
- '\hh.exe'
- '\cmstp.exe'
Initiated: 'true'
DestinationPort:
- 80
- 443
- 8080
- 8443
condition: selection
falsepositives:
- msiexec.exe pode fazer conexões legítimas a servidores de licença - correlacionar com destino
- Atualizações de software via msiexec durante horário de manutenção
level: high
tags:
- attack.defense_evasion
- attack.t1218
```
### Indicadores Comportamentais por Sub-técnica
| Binário | Indicador de Abuso | Nível |
|---------|-------------------|-------|
| `rundll32.exe` | Processo sem argumentos ou com DLL de path suspeito | Alto |
| `mshta.exe` | Argumento com URL (`http://`, `https://`) | Alto |
| `regsvr32.exe` | Argumento `/i:` com URL (Squiblydoo) | Alto |
| `msiexec.exe` | Argumento `/i` com URL remota | Alto |
| `hh.exe` | Processo filho gerado (cmd, powershell) | Alto |
| `installutil.exe` | Execução fora de contexto de setup | Médio |
| `odbcconf.exe` | Argumento REGSVR com DLL suspeita | Alto |
| `mavinject.exe` | Injeção em processo não-Microsoft | Alto |
## Mitigação
| ID | Mitigação | Descrição |
|----|-----------|-----------|
| [[m1038-execution-prevention\|M1038]] | [[m1038-execution-prevention\|Execution Prevention]] | Implementar AppLocker ou WDAC com políticas que restrinjam quais argumentos LOLBins podem receber. Bloquear execução de LOLBins desnecessários em workstations (ex.: `cmstp.exe`, `mavinject.exe`, `odbcconf.exe`). |
| [[m1042-disable-or-remove-feature-or-program\|M1042]] | [[m1042-disable-or-remove-feature-or-program\|Disable or Remove Feature or Program]] | Desabilitar ou remover binários não utilizados no ambiente. `cmstp.exe` e `mavinject.exe` raramente têm uso legítimo em workstations corporativas. |
| [[m1050-exploit-protection\|M1050]] | [[m1050-exploit-protection\|Exploit Protection]] | Habilitar políticas de mitigação de exploit via Windows Defender Exploit Guard para LOLBins específicos - bloquear carregamento de código não confiável. |
| [[m1021-restrict-web-based-content\|M1021]] | [[m1021-restrict-web-based-content\|Restrict Web-Based Content]] | Bloquear LOLBins de fazer conexões de rede via firewall de host ou proxy. `mshta.exe`, `hh.exe` e `regsvr32.exe` não devem acessar a internet em uso legítimo. |
| [[m1026-privileged-account-management\|M1026]] | [[m1026-privileged-account-management\|Privileged Account Management]] | Restringir o uso de LOLBins que requerem privilégios elevados (`mavinject.exe`, `installutil.exe`) a contas administrativas monitoradas. |
| [[m1037-filter-network-traffic\|M1037]] | [[m1037-filter-network-traffic\|Filter Network Traffic]] | Usar NGFW para identificar e bloquear conexões de saída originadas de LOLBins conhecidos - especialmente para domínios e IPs externos não categorizados. |
### Hardening Específico por Binário
- **`mshta.exe`:** bloquear via WDAC se não há uso legítimo; ou restringir para executar apenas arquivos locais assinados
- **`regsvr32.exe`:** habilitar a regra ASR para bloquear execução de scripts potencialmente ofuscados e criação de objetos COM por aplicações do Office
- **`rundll32.exe`:** monitorar via Sysmon todos os processos filhos - nunca deve gerar `cmd.exe` ou `powershell.exe` em workstations
- **`msiexec.exe`:** bloquear instalações remotas via GPO (`DisableMSI = 2`) para impedir pacotes MSI carregados de URL
- **`hh.exe`:** bloquear em workstations via AppLocker se não houver uso legítimo de arquivos CHM
## Contexto Brasil/LATAM
O uso de LOLBins é uma característica marcante do **ecossistema de malware bancário brasileiro**, que evoluiu significativamente na última década para maximizar a evasão de soluções de segurança amplamente adotadas no país.
### Cadeia LOLBin do Astaroth - Referência Nacional
O [[s0373-astaroth|Astaroth]] (Guildma) é possívelmente a implementação mais documentada de T1218 no Brasil, empilhando múltiplas sub-técnicas em sequência para construir uma cadeia de execução completamente baseada em binários nativos do Windows.
O CERT.br e a Microsoft públicaram análises detalhadas dessa cadeia, identificando o Brasil como o principal alvo. A sofisticação da cadeia - com cada anel usando um binário diferente e assinado - torna as regras de detecção individuais insuficientes e exige correlação comportamental.
### Grupos APT com Operações Documentadas em LATAM
- [[g0032-lazarus-group|Lazarus Group]]: ataques a exchanges de criptomoedas e bancos brasileiros, com uso documentado de `mshta.exe` e `rundll32.exe`
- [[g1017-volt-typhoon|Volt Typhoon]]: operações de espionagem em infraestrutura crítica de energia e telecomúnicações em países latino-americanos
### Recomendação Prioritária para SOCs Brasileiros
**Priorizar correlação de eventos, não regras individuais.** A detecção eficaz de T1218 no contexto brasileiro requer:
1. Regras de correlação que identifiquem cadeias de LOLBins no mesmo host em jánela de tempo curta (ex.: `hh.exe` → `wmic.exe` → `certutil.exe` em sequência em menos de 5 minutos)
2. Baseline de comportamento por grupo de máquinas - LOLBins com conexões de rede são raros em workstations corporativas típicas
3. Integração com feeds de inteligência de malware bancário brasileiro para IoCs específicos de campanhas ativas
## Referências
- [[t1218-001-compiled-html-file|T1218.001 - Compiled HTML File]] (hh.exe)
- [[t1218-005-mshta|T1218.005 - Mshta]] (mshta.exe)
- [[t1218-010-regsvr32|T1218.010 - Regsvr32]] (Squiblydoo)
- [[t1218-011-rundll32|T1218.011 - Rundll32]] (rundll32.exe)
- [[t1218-007-msiexec|T1218.007 - Msiexec]] (instalação remota)
- [[g0032-lazarus-group|Lazarus Group]] · [[g1017-volt-typhoon|Volt Typhoon]] · [[g0096-apt41|APT41]] · [[g0046-fin7|FIN7]]
- [[s0373-astaroth|Astaroth]] (cadeia LOLBin brasileira)
- [[m1038-execution-prevention|M1038 - Execution Prevention]]
- [[m1042-disable-or-remove-feature-or-program|M1042 - Disable or Remove Feature or Program]]
- [[t1566-phishing|T1566 - Phishing]] (vetor de entrega mais comum)
*Fonte: MITRE ATT&CK - T1218*