# T1546.012 - Image File Execution Options Injection
> [!danger] Técnica de Persistência e Escalação de Privilégios - Windows
> Adversários manipulam chaves de Registro IFEO para interceptar a execução de programas legítimos, redirecionando para payloads maliciosos - incluindo acesso privilegiado via tela de login sem autenticação.
## Descrição
A técnica **T1546.012 - Image File Execution Options Injection** explora um recurso legítimo do Windows originalmente concebido para desenvolvedores: o **Image File Execution Options (IFEO)**. Este mecanismo, armazenado no Registro em `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\`, permite que um debugger sejá automaticamente anexado a qualquer executável quando ele é iniciado.
Adversários abusam desta funcionalidade de duas formas principais:
**1. Injeção de Debugger Malicioso**: Ao registrar um executável malicioso como "debugger" de um programa legítimo, qualquer tentativa de iniciar o programa legítimo resulta na execução do payload malicioso **em vez de** (ou antes de) o programa original.
**2. Silent Process Exit Monitoring**: Um mecanismo complementar que permite registrar um monitor a ser executado quando um processo específico é encerrado de forma silenciosa (sem código de saída normal). Configurado em `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\`.
O caso de abuso mais crítico envolve a substituição de **ferramentas de acessibilidade do Windows** (como `utilman.exe`, `sethc.exe`, `osk.exe`) por `cmd.exe` ou outro shell - técnica conhecida como **Accessibility Feature Backdoor** ou **Sticky Keys Backdoor**. Como essas ferramentas podem ser acionadas na tela de login (antes da autenticação), o adversário obtém um shell com privilégios **SYSTEM** sem precisar de credenciais.
Esta técnica é classificada pelo [[mitre-attack|MITRE ATT&CK]] como sub-técnica de [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] e é amplamente documentada em operações de APT, ransomware e malware financeiro.
## Como Funciona
### Vetor 1 - Debugger IFEO (Persistência Genérica)
O adversário modifica ou cria uma entrada no Registro:
```
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\alvo.exe
Debugger = "C:\caminho\payload.exe"
```
Quando qualquer usuário (ou processo) executa `alvo.exe`, o Windows lança `payload.exe` com `alvo.exe` como argumento. O payload malicioso é executado com o contexto de privilégio do processo que invocou o alvo.
Exemplos de alvos comuns escolhidos por adversários:
- Ferramentas de segurança: `MsMpEng.exe`, `procexp.exe`, `autoruns.exe`
- Processos do sistema: `svchost.exe`, `explorer.exe`
- Ferramentas de acessibilidade: `utilman.exe`, `sethc.exe`, `magnify.exe`
### Vetor 2 - Tela de Login (Escalação SYSTEM sem Credenciais)
O ataque mais impactante: registrar `cmd.exe` como debugger de `utilman.exe` (Central de Facilidade de Acesso) ou `sethc.exe` (Sticky Keys):
```
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe
Debugger = "C:\Windows\System32\cmd.exe"
```
Resultado: pressionar `Win+U` na tela de login - ou o atalho de Sticky Keys (Shift×5) - abre um prompt de comando com privilégios SYSTEM, **sem necessidade de senha**. Esta é uma das técnicas mais exploradas por atacantes que já têm acesso físico ou RDP ao sistema.
### Vetor 3 - Desabilitando Defesas (Impair Defenses)
Um uso menos óbvio: registrar um debugger inválido (ou `/dev/null`) para ferramentas de segurança, efetivamente impedindo que sejam executadas:
```
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\procmon.exe
Debugger = "C:\Windows\System32\svchost.exe"
```
O [[s0559-sunburst|SUNBURST]] e o [[s0461-sdbbot|SDBbot]] utilizam esta variante para desabilitar ferramentas de análise e monitoramento.
### Vetor 4 - Silent Process Exit
```
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\alvo.exe
MonitorProcess = "C:\payload.exe"
ReportingMode = 1
```
O `payload.exe` é executado automaticamente quando `alvo.exe` termina de forma silenciosa, garantindo persistência mesmo após tentativas de matar o processo malicioso original.
## Attack Flow
```mermaid
graph TB
A([Adversário - acesso administrativo ao sistema]) --> B{Objetivo da injeção}
B -->|Persistência genérica| C[Modifica IFEO de programa legítimo]
B -->|Escalação SYSTEM| D[Modifica IFEO de ferramenta de acessibilidade]
B -->|Desabilitar defesas| E[Modifica IFEO de software de segurança]
B -->|Persistência via exit| F[Configura SilentProcessExit monitor]
C --> G[Registra payload como Debugger]
D --> H[Registra cmd.exe como Debugger de utilman.exe]
E --> I[Registra binário inválido como Debugger]
F --> J[Payload invocado ao término do processo alvo]
G --> K[Próxima execução do programa alvo dispara payload]
H --> L[Acionamento via tela de login - Win+U ou Shift×5]
I --> M[Ferramenta de segurança deixa de funcionar]
L --> N[Shell SYSTEM sem autenticação]
K --> O[Código malicioso executado com contexto herdado]
J --> O
N --> P[Dump de credenciais - T1003]
O --> P
P --> Q([Comprometimento total - movimento lateral])
M --> R([Persistência não detectada])
style A fill:#c0392b,color:#fff
style N fill:#e74c3c,color:#fff
style Q fill:#27ae60,color:#fff
style R fill:#8e44ad,color:#fff
style H fill:#e67e22,color:#fff
```
## Exemplos de Uso
### SUNBURST (SolarWinds Supply Chain Attack)
O malware [[s0559-sunburst|SUNBURST]], utilizado no ataque de supply chain à SolarWinds em 2020 e atribuído ao [[g0016-apt29|APT29]] (Cozy Bear / SVR russo), empregou IFEO Injection como parte do seu arsenal de evasão e persistência. Específicamente, o SUNBURST registrava debuggers inválidos em chaves IFEO de ferramentas de análise e segurança para impedir que analistas detectassem sua presença - uma implementação do vetor 3 descrito acima.
O ataque à SolarWinds comprometeu aproximadamente 18.000 organizações globalmente, incluindo agências governamentais dos EUA. No Brasil, clientes da plataforma Orion (SolarWinds) em setores de tecnologia e governo foram potencialmente expostos.
### SDBbot (TA505 / Evil Corp)
O [[s0461-sdbbot|SDBbot]] é um RAT (Remote Access Trojan) desenvolvido e operado pelo grupo [[ta505|TA505]] (também conhecido como Evil Corp), responsável por campanhas de distribuição massiva de malware incluindo [[s0384-dridex|Dridex]] e [[clop|Cl0p ransomware]]. O SDBbot utiliza IFEO Injection como mecanismo de persistência primário, registrando-se como debugger de processos do sistema Windows para garantir execução a cada reinicialização.
O TA505 tem histórico de campanhas no Brasil, especialmente contra o setor financeiro - tornando o SDBbot diretamente relevante para o contexto LATAM.
### Sticky Keys Backdoor - Ataques a RDP Expostos
A variante de tela de login (Vetor 2) é amplamente documentada em ataques a servidores Windows com RDP exposto. Esta é uma das técnicas mais usadas por grupos de ransomware para garantir acesso persistente após comprometimento inicial:
1. Adversário acessa servidor via RDP com credenciais roubadas (ou força bruta)
2. Modifica IFEO de `sethc.exe` para apontar para `cmd.exe`
3. Credenciais são alteradas ou conta é bloqueada
4. Adversário acessa a tela de login via RDP e pressiona Shift cinco vezes
5. Obtém shell SYSTEM - acesso total sem credenciais
Grupos de ransomware que operam no Brasil, como afiliados do [[lockbit|LockBit]] e [[conti|Conti]], documentadamente utilizam esta técnica para manter acesso entre fases de um ataque.
### Acessibilidade + RDP (Cenário Específico LATAM)
No contexto latino-americano, onde muitas PMEs e órgãos públicos expõem RDP diretamente à Internet sem autenticação multifator, a combinação de IFEO Injection com [[t1021-001-remote-desktop-protocol|T1021.001 - Remote Desktop Protocol]] representa um vetor de ataque crítico. O [[sources|CERT.br]] reporta consistentemente que RDP exposto é o principal vetor de intrusão em incidentes reportados no Brasil.
## Detecção
### Sigma Rule - IFEO Debugger Injection via Registry
```yaml
title: Image File Execution Options Debugger Injection
id: c9d3e567-8901-23fg-bcde-345678901cde
status: stable
description: >
Detecta a criação ou modificação de chaves de Registro IFEO com valor Debugger,
indicando possível persistência ou escalação via T1546.012.
author: RunkIntel
daté: 2026-03-24
references:
- https://attack.mitre.org/techniques/T1546/012/
tags:
- attack.persistence
- attack.privilege_escalation
- attack.defense_evasion
- attack.t1546.012
logsource:
category: registry_set
product: windows
detection:
selection_ifeo:
TargetObject|startswith:
- 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\'
- 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\'
TargetObject|endswith: '\Debugger'
selection_accessibility:
TargetObject|contains:
- 'utilman.exe\Debugger'
- 'sethc.exe\Debugger'
- 'osk.exe\Debugger'
- 'magnify.exe\Debugger'
- 'narrator.exe\Debugger'
- 'displayswitch.exe\Debugger'
filter_legitimate:
Details|contains:
- 'C:\Program Files\Windows Kits\'
- 'C:\Program Files (x86)\Microsoft Visual Studio\'
- 'vsjitdebugger.exe'
condition: (selection_ifeo and not filter_legitimate) or selection_accessibility
falsepositives:
- Instalação de Visual Studio e ferramentas de debug legítimas
- Ferramentas de análise de crash (Dr. Watson configurado corretamente)
level: high
fields:
- TargetObject
- Details
- Image
- User
```
### Sigma Rule - Silent Process Exit Monitor
```yaml
title: Silent Process Exit Monitor Registration
id: d0e4f678-9012-34gh-cdef-456789012def
status: experimental
description: >
Detecta registro de monitor para Silent Process Exit - variante IFEO
usada para persistência via T1546.012.
author: RunkIntel
daté: 2026-03-24
tags:
- attack.persistence
- attack.t1546.012
logsource:
category: registry_set
product: windows
detection:
selection:
TargetObject|startswith:
- 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\'
TargetObject|contains:
- '\MonitorProcess'
condition: selection
falsepositives:
- Ferramentas de monitoramento legítimas de crash reporting
level: medium
```
### Fontes de Dados Recomendadas
| Fonte | O que monitorar |
|-------|----------------|
| Sysmon Event ID 13 | Modificações em `HKLM\...\Image File Execution Options\*\Debugger` |
| Sysmon Event ID 1 | Processos-pai incomuns ao iniciar ferramentas de acessibilidade |
| Windows Event Log 4688 | Criação de processo com linhagem suspeita |
| EDR (comportamental) | `cmd.exe` ou `powershell.exe` com parent `winlogon.exe` |
| Sysmon Event ID 7 | Carga de DLL incomum em processos de acessibilidade |
> [!warning] Indicador Crítico
> Qualquer processo filho de `winlogon.exe` que não sejá um dos processos legítimos esperados (como `userinit.exe`, `LogonUI.exe`) é um forte indicador de comprometimento via IFEO nas ferramentas de acessibilidade. Especialmente `cmd.exe`, `powershell.exe` ou qualquer binário fora de `C:\Windows\System32\`.
## Mitigação
| ID | Mitigação | Descrição | Prioridade |
|----|-----------|-----------|------------|
| - | Monitoramento IFEO | Alertar sobre qualquer escrita em `HKLM\...\Image File Execution Options\*\Debugger` | Crítica |
| - | Integridade de arquivos de acessibilidade | Verificar que `utilman.exe`, `sethc.exe` não foram substituídos | Alta |
| - | Restrição de Registro via GPO | Bloquear escrita em chaves IFEO para usuários não administradores | Alta |
| - | Windows Defender Credential Guard | Impede dump de credenciais mesmo com shell SYSTEM | Média |
| - | NLA para RDP | Exigir Network Level Authentication no RDP - impede acesso à tela de login sem credenciais | Alta |
| - | MFA em contas administrativas | Proteger contra uso indevido de credenciais administrativas para modificar IFEO | Alta |
| - | Windows Defender Application Control (WDAC) | Restringir quais binários podem ser registrados como debuggers | Média |
> [!tip] Verificação Rápida de Comprometimento
> Para verificar se ferramentas de acessibilidade foram comprometidas via IFEO, execute no PowerShell:
> ```powershell
> Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" |
> Where-Object { $_.PSChildName -match "utilman|sethc|osk|magnify|narrator" } |
> Get-ItemProperty -Name Debugger -ErrorAction SilentlyContinue
> ```
> Qualquer resultado indica comprometimento.
## Contexto Brasil/LATAM
### RDP Exposto - Vetor de Entrada Dominante
O [[sources|CERT.br]] e relatórios da [[_crowdstrike|CrowdStrike]] e [[kaspersky|Kaspersky]] LATAM consistentemente apontam o RDP exposto como o principal vetor de intrusão em organizações brasileiras. Grupos de ransomware que operam na região - incluindo afiliados do [[lockbit|LockBit]], [[blackcat|BlackCat]] e [[hive|Hive]] (descontinuado) - utilizam IFEO Injection em ferramentas de acessibilidade como backdoor persistente em servidores Windows comprometidos via RDP.
O cenário típico no Brasil envolve:
1. Scan de IPs brasileiros em busca de RDP exposto (porta 3389)
2. Acesso via credenciais compradas em mercados de acesso inicial (ex: Genesis Market, Russian Market)
3. Instalação de backdoor IFEO para manter acesso persistente
4. Planejamento e execução do ransomware em momento posterior
### Setor Público e LGPD
Órgãos públicos brasileiros - que operam sistemas Windows em larga escala e frequentemente têm equipes de segurança limitadas - são alvos recorrentes. A IFEO Injection é particularmente perigosa nesses ambientes por ser uma técnica "living off the land" que não requer download de ferramentas adicionais e passa despercebida por soluções de antivírus tradicionais.
Com a implementação da [[lgpd|LGPD (Lei Geral de Proteção de Dados)]], incidentes envolvendo acesso não autorizado a dados governamentais ganham dimensão legal adicional no Brasil.
### APT29 e Espionagem no Brasil
O [[g0016-apt29|APT29]] (Cozy Bear / SVR), responsável pelo ataque SolarWinds que empregou IFEO via [[s0559-sunburst|SUNBURST]], tem documentado interesse em organizações brasileiras - especialmente no contexto diplomático e em empresas do setor de energia. O Brasil como membro do BRICS e sede de infraestrutura crítica global torna-o alvo estratégico para espionagem de nação-estado.
> [!info] Relação com T1546.008 - Accessibility Features
> A IFEO Injection em ferramentas de acessibilidade é funcionalmente idêntica à técnica [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]], com a diferença técnica de que T1546.008 substitui diretamente o binário em disco, enquanto T1546.012 usa o mecanismo de Registro IFEO como intermediário. O resultado prático - shell SYSTEM na tela de login - é o mesmo.
## Referências
- [MITRE ATT&CK - T1546.012](https://attack.mitre.org/techniques/T1546/012/)
- [FireEye - SUNBURST Technical Analysis](https://www.mandiant.com/resources/sunburst-additional-technical-details)
- [Proofpoint - SDBbot Technical Analysis](https://www.proofpoint.com/us/threat-insight/post/ta505-distributes-new-sdbbot-remote-access-trojan-get2-downloader)
- [Microsoft - Image File Execution Options](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/image-file-execution-options)
- [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] (técnica pai)
- [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]] (técnica relacionada)
- [[t1021-001-remote-desktop-protocol|T1021.001 - Remote Desktop Protocol]] (vetor combinado comum)
- [[t1055-process-injection|T1055 - Process Injection]] (técnica relacionada)
- [[t1562-impair-defenses|T1562 - Impair Defenses]] (uso secundário de IFEO)
- [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]] (objetivo pós-escalação)
- [[s0559-sunburst|SUNBURST]] (malware associado)
- [[s0461-sdbbot|SDBbot]] (malware associado)
- [[g0016-apt29|APT29]] (ator associado via SUNBURST)
- [[ta505|TA505]] (ator associado via SDBbot)