# T1546 - Event Triggered Execution
## Descrição
A técnica **T1546 - Event Triggered Execution** descreve como adversários exploram mecanismos nativos dos sistemas operacionais que executam código automaticamente em resposta a eventos específicos para estabelecer **persistência** e/ou elevar **privilégios**. Sistemas operacionais modernos oferecem uma ampla variedade de gatilhos baseados em eventos: logon de usuário, inicialização do sistema, abertura de tipos específicos de arquivo, ativação de screensaver, instalação de software, mudanças no registro, e até mesmo eventos de gerenciamento de hardware. Todos esses mecanismos foram projetados para facilitar a automação e a administração do sistema, mas podem ser subvertidos por atacantes para garantir execução persistente de código malicioso.
O principal atrativo desta técnica do ponto de vista do adversário é a **proxy de execução por contas privilegiadas**: em muitos casos, os gatilhos de eventos são processados por contas de serviço (SYSTEM, root, LocalService) ou pela conta do usuário com sessão ativa, independentemente de quem registrou o gatilho. Isso significa que um atacante com privilégios de usuário padrão pode registrar um handler malicioso que será executado com permissões elevadas quando o evento for disparado. Além disso, por utilizar mecanismos legítimos do sistema, a técnica oferece alta capacidade de evasão - o código malicioso aparece nos logs como parte de processos ou serviços do sistema.
T1546 é uma categoria-pai com 18 sub-técnicas que cobrem plataformas diversas: Windows (WMI Event Subscription, AppInit DLLs, Application Shimming, Accessibility Features, COM Hijacking, Image File Execution Options, Netsh Helper DLL, Screensaver, AppCert DLLs, Change Default File Association, PowerShell Profile, Installer Packages), Linux/macOS (Unix Shell Configuration, Udev Rules, Trap, LC_LOAD_DYLIB, Emond, Python Startup Hooks). Ferramentas como [[s1091-pacu|Pacu]] (framework de exploração de nuvem), [[s1164-upstyle|UPSTYLE]] (backdoor associado ao grupo APT29/Cozy Bear) e [[s0658-xcsset|XCSSET]] (malware para macOS) empregam sub-técnicas desta categoria.
## Como Funciona
O princípio fundamental é a **intercepção de fluxo de execução legítimo**: o adversário registra código malicioso em pontos do sistema onde eventos conhecidos dispararão a execução. Os mecanismos variam enormemente por plataforma:
**Windows - WMI Event Subscription ([[t1546-003-windows-management-instrumentation-event-subscription|T1546.003]]):** O Windows Management Instrumentation (WMI) permite criar assinaturas de eventos que executam scripts ou binários quando condições específicas são aténdidas (logon, intervalo de tempo, mudança de arquivo). Assinaturas WMI persistem no banco de dados WMI e sobrevivem a reboots sem criar entradas no registro ou arquivos no sistema de arquivos em locais convencionais, tornando-as difíceis de detectar com ferramentas forenses tradicionais.
**Windows - Application Shimming ([[t1546-011-application-shimming|T1546.011]]):** O Application Compatibility Toolkit permite criar "shims" - camadas de compatibilidade que interceptam chamadas de API de aplicações legítimas e redirecionam para código do atacante. Como os shims são processados pelo `sdbinst.exe` com privilégios elevados e armazenados no banco de dados de compatibilidade do Windows, um adversário pode injetar código em processos privilegiados.
**Windows - Accessibility Features ([[t1546-008-accessibility-features|T1546.008]]):** Binários de acessibilidade do Windows como `sethc.exe` (Sticky Keys), `utilman.exe` (Utility Manager) e `osk.exe` (On-Screen Keyboard) são executados antes do logon com privilégios de SYSTEM. Adversários substituem ou fazem debug de attachment nesses binários para obter shell de SYSTEM a partir da tela de login - uma técnica clássica usada extensivamente por grupos APT.
**Linux - Unix Shell Configuration ([[t1546-004-unix-shell-configuration-modification|T1546.004]]):** Arquivos de configuração do shell como `.bashrc`, `.bash_profile`, `.zshrc` e `/etc/profile` são executados automaticamente quando uma sessão de shell é iniciada. Adversários adicionam comandos maliciosos nesses arquivos para garantir execução a cada login do usuário comprometido.
**Linux - Udev Rules ([[t1546-017-udev-rules|T1546.017]]):** O sistema udev gerencia dispositivos no Linux e pode executar scripts em resposta a eventos de hardware (conexão de USB, mudança de estado de interface de rede). Regras udev maliciosas permitem persistência que é ativada por eventos físicos, difícil de detectar e raramente monitorada por soluções de segurança.
**macOS - LC_LOAD_DYLIB Addition ([[t1546-006-lcloaddylib-addition|T1546.006]]):** Adversários modificam cabeçalhos Mach-O de binários legítimos para adicionar entradas `LC_LOAD_DYLIB` que carregam dylibs maliciosas. Como a dylib é carregada no contexto do processo pai, ela herda seus privilégios. O malware [[s0658-xcsset|XCSSET]] para macOS usa variante desta técnica para se injetar em aplicações como Xcode.
**SaaS/Cloud - Gatilhos em Funções Serverless e Webhooks:** Em ambientes de nuvem, adversários podem criar funções Lambda (AWS), Azure Functions ou Cloud Functions (GCP) que são disparadas por eventos de armazenamento, mensageria ou monitoramento para executar código malicioso no ambiente da vítima. A ferramenta [[s1091-pacu|Pacu]] inclui módulos específicos para explorar Lambda triggers maliciosos.
## Attack Flow
```mermaid
graph TB
A["Acesso Inicial<br/>Compromisso de endpoint ou conta"] --> B["Enumeração do Sistema<br/>Identificar gatilhos disponíveis"]
B --> C{"Plataforma-alvo"}
C --> D["Windows<br/>WMI / Shimming / COM / AppInit"]
C --> E["Linux/macOS<br/>Shell Config / Udev / Dylib"]
C --> F["Cloud/SaaS<br/>Lambda / Webhooks / Triggers"]
D --> G["Registro de Handler Malicioso<br/>em mecanismo de evento legítimo"]
E --> G
F --> G
G --> H["Aguardar Gatilho<br/>Logon / Boot / Evento de Sistema"]
H --> I["Execução Proxy<br/>por conta privilegiada (SYSTEM / root)"]
I --> J["Payload Executado<br/>com Privilégios Elevados"]
J --> K["Persistência Confirmada<br/>Sobrevive a reboots e logoffs"]
```
## Sub-técnicas
- [[t1546-001-change-default-file-association|T1546.001 - Change Default File Association]]
- [[t1546-002-screensaver|T1546.002 - Screensaver]]
- [[t1546-003-windows-management-instrumentation-event-subscription|T1546.003 - Event Triggered Execution: Windows Management Instrumentation Event Subscription]]
- [[t1546-003-windows-management-instrumentation-event-subscription|T1546.003 - Windows Management Instrumentation Event Subscription]]
- [[t1546-004-unix-shell-configuration-modification|T1546.004 - Unix Shell Configuration Modification]]
- [[t1546-005-trap|T1546.005 - Trap]]
- [[t1546-006-lcloaddylib-addition|T1546.006 - LC_LOAD_DYLIB Addition]]
- [[t1546-007-netsh-helper-dll|T1546.007 - Netsh Helper DLL]]
- [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]]
- [[t1546-009-appcert-dlls|T1546.009 - AppCert DLLs]]
- [[t1546-010-appinit-dlls|T1546.010 - AppInit DLLs]]
- [[t1546-011-application-shimming|T1546.011 - Application Shimming]]
- [[t1546-012-image-file-execution-options-injection|T1546.012 - Image File Execution Options Injection]]
- [[t1546-013-powershell-profile|T1546.013 - PowerShell Profile]]
- [[t1546-014-emond|T1546.014 - Event Triggered Execution: Emond]]
- [[t1546-014-emond|T1546.014 - Emond]]
- [[t1546-015-component-object-model-hijacking|T1546.015 - Event Triggered Execution: Component Object Model Hijacking]]
- [[t1546-015-component-object-model-hijacking|T1546.015 - Component Object Model Hijacking]]
- [[t1546-016-installer-packages|T1546.016 - Installer Packages]]
- [[t1546-017-udev-rules|T1546.017 - Udev Rules]]
- [[t1546-018-python-startup-hooks|T1546.018 - Python Startup Hooks]]
## Exemplos de Uso
**APT29 / Cozy Bear - Backdoor UPSTYLE (2024):** O grupo APT29, associado ao SVR russo, utilizou o backdoor [[s1164-upstyle|UPSTYLE]] em campanhas contra organizações da OTAN e governos ocidentais. O malware implementa uma variante de event triggered execution via modificação de arquivos de configuração do servidor web para garantir persistência: código malicioso é inserido em arquivos de configuração do Nginx que são processados a cada reinicialização do serviço, executando o payload com os privilégios do processo do servidor web.
**XCSSET - Malware macOS (2020–presente):** O [[s0658-xcsset|XCSSET]] é um malware para macOS que se injeta em projetos Xcode de desenvolvedores. Ele utiliza múltiplas sub-técnicas de T1546, incluindo modificação de aplicações instaladas para adicionar LC_LOAD_DYLIB entries e modificação de configurações de shell para garantir persistência. Quando o desenvolvedor compila e distribui seu projeto Xcode infectado, o malware se propaga para outros sistemas. O XCSSET tem capacidade de roubar cookies de browser, capturas de tela e informações sensíveis.
**WMI-based Persistence em Campanhas de Espionagem:** Grupos como APT32 (OceanLotus/Vietnam), que tem histórico documentado de operações contra empresas brasileiras e vietnamitas no setor de manufatura e automotivo, utilizam assinaturas WMI extensivamente para persistência. A técnica [[t1546-003-windows-management-instrumentation-event-subscription|T1546.003]] é popular porque não deixa rastros facilmente detectáveis em locais convencionais do registro e pode executar código via `wmic.exe` ou `WmiPrvSE.exe`, processos legítimos do Windows.
**Image File Execution Options - Backdoor em Ferramentas de Acessibilidade:** Grupos como APT41 foram documentados usando IFEO injection ([[t1546-012-image-file-execution-options-injection|T1546.012]]) para substituir ferramentas de acessibilidade na tela de login do Windows (Sticky Keys via `sethc.exe`) por backdoors que concedem acesso SYSTEM sem credenciais, permitindo acesso persistente mesmo após reset de senhas.
## Detecção
### Fontes de Dados Recomendadas
- **Windows Event Log**: Event ID 4688 (process creation com linha de comando), 19/20/21 (WMI event subscription/filter/consumer binding)
- **Sysmon**: Event ID 1 (ProcessCreaté), 12/13 (RegistryEvent) para chaves AppInit, IFEO, COM
- **WMI Activity Log**: `Microsoft-Windows-WMI-Activity/Operational` - filtrar por `EventConsumer` suspeitos
- **PowerShell Logging**: Script Block Logging (Event ID 4104) para detectar modificações em perfis PS1
- **File Integrity Monitoring**: `.bashrc`, `.zshrc`, `/etc/profile`, `profile.d/`, regras udev em `/etc/udev/rules.d/`
- **auditd (Linux)**: Regras para monitorar writes em arquivos de configuração de shell e diretórios udev
```yaml
title: WMI Event Subscription - Possible Persistent Payload
status: experimental
logsource:
product: windows
service: wmi
detection:
selection_consumer:
EventID: 5861
Destination|contains:
- 'ActiveScriptEventConsumer'
- 'CommandLineEventConsumer'
selection_suspicious_script:
ScriptText|contains:
- 'powershell'
- 'cmd.exe'
- 'wscript'
- 'certutil'
- 'bitsadmin'
condition: selection_consumer and selection_suspicious_script
level: high
tags:
- attack.persistence
- attack.privilege_escalation
- attack.t1546
- attack.t1546.003
falsepositives:
- Software de gerenciamento legítimo usando WMI (SCCM, Ansible)
- Scripts administrativos autorizados
```
```yaml
title: Accessibility Feature Binary Replaced (Sticky Keys / Utilman Backdoor)
status: stable
logsource:
category: file_event
product: windows
detection:
selection:
TargetFilename|endswith:
- '\sethc.exe'
- '\utilman.exe'
- '\osk.exe'
- '\narrator.exe'
- '\magnify.exe'
filter_legitimate:
Image|endswith: '\TrustedInstaller.exe'
condition: selection and not filter_legitimate
level: critical
tags:
- attack.persistence
- attack.privilege_escalation
- attack.t1546.008
```
## Mitigação
| ID | Mitigação | Descrição |
|----|-----------|-----------|
| [[m1026-privileged-account-management\|M1026]] | Privileged Account Management | Limitar quais contas podem registrar assinaturas WMI, modificar IFEO, instalar AppCert/AppInit DLLs; aplicar princípio do menor privilégio |
| [[m1051-update-software\|M1051]] | Updaté Software | Manter sistemas atualizados para mitigar vulnerabilidades que permitem registro de handlers maliciosos; patches frequentemente endereçam abuso de mecanismos de evento |
### Controles Complementares (sem MITRE ID específico)
- **Windows Defender Application Control (WDAC)**: Bloquear carregamento de DLLs não assinadas via AppInit e AppCert
- **Sysmon deployment**: Regras para WMI subscriptions, IFEO, AppInit DLLs e modificações em acessibilidade
- **PowerShell Constrained Language Mode**: Reduz capacidade de perfis PS1 maliciosos
- **Linux - auditd rules**: Monitorar writes em `/etc/udev/rules.d/`, `/etc/profile.d/`, `~/.bashrc`, `~/.zshrc`
- **macOS - SIP (System Integrity Protection)**: Previne modificações em binários do sistema por usuários não-root
## Contexto Brasil/LATAM
A técnica T1546 é especialmente relevante no contexto brasileiro por sua conexão direta com campanhas de espionagem industrial e ataques a infraestruturas críticas. O Brasil abriga algumas das maiores empresas de energia, agronegócio, telecomúnicações e serviços financeiros da América Latina - alvos de alto valor para grupos de espionagem de estado e grupos criminosos sofisticados.
A sub-técnica de **WMI Event Subscription** ([[t1546-003-windows-management-instrumentation-event-subscription|T1546.003]]) é particularmente prevalente em incidentes investigados no Brasil porque ela não é detectada pela maioria das soluções antivírus convencionais e os times de SOC locais frequentemente não monitoram o log de atividade WMI. Incidentes investigados por grupos como a Mandiant e a Recorded Future no setor financeiro brasileiro revelaram assinaturas WMI maliciosas presentes em endpoints por meses antes da detecção.
O **Application Shimming** ([[t1546-011-application-shimming|T1546.011]]) também aparece com frequência em campanhas contra empresas brasileiras que usam versões legadas de ERP e software de automação industrial - sistemas que não podem ser facilmente atualizados e que frequentemente são alvos de shims de compatibilidade maliciosos que injetam DLLs em processos administrativos privilegiados.
Na infraestrutura de nuvem, que está em expansão acelerada no Brasil (AWS São Paulo, Azure Brasil Sul, GCP São Paulo), o abuso de **Installer Packages** ([[t1546-016-installer-packages|T1546.016]]) e **Python Startup Hooks** ([[t1546-018-python-startup-hooks|T1546.018]]) é crescente em campanhas que visam pipelines de DevOps e ambientes de engenharia de dados - vetores ainda pouco monitorados pela maioria das organizações brasileiras.
## Referências
### Sub-técnicas de Destaque
- [[t1546-003-windows-management-instrumentation-event-subscription|T1546.003 - Windows Management Instrumentation Event Subscription]]
- [[t1546-008-accessibility-features|T1546.008 - Accessibility Features]]
- [[t1546-011-application-shimming|T1546.011 - Application Shimming]]
- [[t1546-012-image-file-execution-options-injection|T1546.012 - Image File Execution Options Injection]]
- [[t1546-015-component-object-model-hijacking|T1546.015 - Component Object Model Hijacking]]
- [[t1546-017-udev-rules|T1546.017 - Udev Rules]]
### Técnicas Relacionadas
- [[t1547-boot-or-logon-autostart-execution|T1547 - Boot or Logon Autostart Execution]]
- [[t1548-abuse-elevation-control-mechanism|T1548 - Abuse Elevation Control Mechanism]]
- [[t1059-001-powershell|T1059.001 - PowerShell]]
- [[t1055-process-injection|T1055 - Process Injection]]
### Malware e Ferramentas Associadas
- [[s1164-upstyle|UPSTYLE]] (backdoor APT29)
- [[s0658-xcsset|XCSSET]] (malware macOS)
- [[s1091-pacu|Pacu]] (framework exploração nuvem)
- [[s0154-cobalt-strike|Cobalt Strike]]
### Mitigações
- [[m1026-privileged-account-management|M1026 - Privileged Account Management]]
- [[m1051-update-software|M1051 - Updaté Software]]
---
*Fonte: [MITRE ATT&CK - T1546](https://attack.mitre.org/techniques/T1546)*