# T1546.003 - Event Triggered Execution: WMI Event Subscription
Técnica pai: [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]]
## Descrição
**T1546.003 - WMI Event Subscription** é uma das técnicas de persistência **sem arquivo (fileless)** mais poderosas e historicamente mais abusadas no Windows. O adversário abusa do **Windows Management Instrumentation (WMI)** - a infraestrutura de gerenciamento nativa do Windows - para registrar assinaturas de eventos que executam código malicioso automaticamente quando condições pré-definidas são aténdidas.
O WMI é uma implementação Microsoft do padrão WBEM (Web-Based Enterprise Management) e é usado extensivamente por administradores de sistema para automação, monitoramento e gerenciamento remoto. Sua profundidade de integração com o sistema operacional é o que o torna tão poderoso - e tão atraente para adversários.
### Os Três Componentes de uma Assinatura WMI
Uma persistência via WMI Event Subscription requer três objetos WMI que trabalham em conjunto:
| Componente | Classe WMI | Função |
|------------|-----------|--------|
| **Event Filter** | `__EventFilter` | Define QUAL evento dispara a ação (ex: "sistema inicializou há 5 minutos") |
| **Event Consumer** | `ActiveScriptEventConsumer` ou `CommandLineEventConsumer` | Define O QUE fazer quando o evento ocorre (executar script VBS/script shell/comando) |
| **Filter-to-Consumer Binding** | `__FilterToConsumerBinding` | **Liga** o filtro ao consumer - ativa a assinatura |
Os três objetos são **persistidos no repositório WMI** (`%SystemRoot%\System32\wbem\Repository\`) - um banco de dados binário que **sobrevive a reinicializações**, independentemente de arquivos em disco.
### Tipos de Event Consumer
#### ActiveScriptEventConsumer
Executa um script VBScript ou JScript arbitrário em resposta ao evento. É a opção mais flexível - permite execução de código complexo, download de payloads, comunicação C2, etc.
#### CommandLineEventConsumer
Executa um comando de linha de comando (equivalente a um `CreateProcess`). Mais simples, mas igualmente poderoso - pode invocar PowerShell, cmd.exe, ferramentas de sistema ou binários maliciosos.
### Persistência Fileless
A natureza fileless desta técnica é o que a torna particularmente perigosa:
- Os três objetos WMI (Filter, Consumer, Binding) existem **apenas no repositório WMI** - não como arquivos individuais em localizações monitoradas
- O código malicioso pode ser embutido diretamente no `ActiveScriptEventConsumer` como string - sem arquivo `.vbs` ou `.ps1` em disco
- Varreduras de antivírus tradicionais baseadas em arquivo raramente detectam a assinatura
## Como Funciona
### Exemplo de Criação via PowerShell
```powershell
# Passo 1: Criar o Event Filter (gatilho - executar 5 min após boot)
$EventFilterArgs = @{
Name = 'SystemStartupFilter'
EventNamespace = 'root\cimv2'
QueryLanguage = 'WQL'
Query = 'SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_PerfFormattedData_PerfOS_System" AND TargetInstance.SystemUpTime >= 300 AND TargetInstance.SystemUpTime < 360'
}
$EventFilter = Set-WmiInstance -Namespace root\subscription -Class __EventFilter -Arguments $EventFilterArgs
# Passo 2: Criar o Event Consumer (ação - executar script VBS malicioso)
$EventConsumerArgs = @{
Name = 'SystemStartupConsumer'
ScriptingEngine = 'VBScript'
ScriptText = 'Set objShell = CreateObject("WScript.Shell") : objShell.Run "powershell -enc BASE64_PAYLOAD", 0, False'
}
$EventConsumer = Set-WmiInstance -Namespace root\subscription -Class ActiveScriptEventConsumer -Arguments $EventConsumerArgs
# Passo 3: Criar o Binding (liga o filtro ao consumer)
$BindingArgs = @{
Filter = $EventFilter
Consumer = $EventConsumer
}
Set-WmiInstance -Namespace root\subscription -Class __FilterToConsumerBinding -Arguments $BindingArgs
```
### Verificação e Limpeza
```powershell
# Listar assinaturas WMI ativas (auditoria/detecção)
Get-WMIObject -Namespace root\subscription -Class __EventFilter
Get-WMIObject -Namespace root\subscription -Class __EventConsumer
Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding
# Remoção de assinatura maliciosa (remediação)
Get-WMIObject -Namespace root\subscription -Class __EventFilter |
Where-Object {$_.Name -eq 'SystemStartupFilter'} | Remove-WMIObject
Get-WMIObject -Namespace root\subscription -Class __EventConsumer |
Where-Object {$_.Name -eq 'SystemStartupConsumer'} | Remove-WMIObject
Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding |
Where-Object {$_.Filter -like '*SystemStartupFilter*'} | Remove-WMIObject
```
> [!tip] Detecção Prioritária
> Habilitar o canal de eventos `Microsoft-Windows-WMI-Activity/Operational` e encaminhar Event IDs 5860 e 5861 para o SIEM é o controle de detecção mais impactante e de menor custo para esta técnica. A maioria dos ambientes empresariais não tem esse log habilitado por padrão.
## Attack Flow
```mermaid
graph TB
A["Acesso Inicial<br/>(phishing, exploit, supply chain)"] --> B["Execução de Código<br/>(PowerShell, WMI, LOLBin)"]
B --> C["Criação do Event Filter<br/>(__EventFilter)<br/>Define o gatilho de evento WQL"]
C --> D["Criação do Event Consumer<br/>(ActiveScriptEventConsumer<br/>ou CommandLineEventConsumer)<br/>Define o payload a executar"]
D --> E["Criação do FilterToConsumerBinding<br/>(__FilterToConsumerBinding)<br/>Ativa a assinatura WMI"]
E --> F["Objetos persistidos no<br/>Repositório WMI<br/>(sobrevivem ao reboot)"]
F --> G["Sistema reinicia ou<br/>evento de gatilho ocorre"]
G --> H["WMI Service (winmgmt)<br/>detecta o evento correspondente"]
H --> I["Consumer executa:<br/>VBScript / PowerShell / Comando"]
I --> J["Payload malicioso ativo:<br/>C2 beacon, coleta de credenciais,<br/>lateral movement, ransomware"]
J --> K["Ciclo de persistência<br/>se repete a cada gatilho"]
classDef initial fill:#e74c3c,color:#fff
classDef exec fill:#8e44ad,color:#fff
classDef wmi fill:#2980b9,color:#fff
classDef persist fill:#16a085,color:#fff
classDef trigger fill:#f39c12,color:#fff
classDef impact fill:#27ae60,color:#fff
class A initial
class B exec
class C,D,E wmi
class F persist
class G,H trigger
class I,J,K impact
```
## Exemplos de Uso
### APT29 (Cozy Bear) - Operação Ghost
O [[g0016-apt29|APT29]] é amplamente documentado com uso de WMI Event Subscriptions em campanhas de espionagem de longo prazo. Em análises do **MiniDuke**, **CozyDuke** e variantes do **[[s0559-sunburst|SUNBURST]]**, pesquisadores identificaram assinaturas WMI como mecanismo de persistência primário - escolhido específicamente pela capacidade de sobreviver a reboots e pela baixa visibilidade em ambientes sem monitoramento WMI dedicado.
### APT28 (Fancy Bear)
O [[g0007-apt28|APT28]] incorporou persistência via WMI em ferramentas como [[s0653-xcaon|XAgent]] e em campanhas contra organizações políticas e militares. A combinação de WMI Subscription com PowerShell codificado em Base64 via `ActiveScriptEventConsumer` é uma assinatura operacional documentada do grupo.
### Turla (Snake)
O [[g0010-turla|Turla]] utiliza WMI Event Subscriptions como parte de uma cadeia de persistência multi-camada. O grupo é documentado registrando assinaturas WMI que disparam em eventos de rede (conexão/desconexão) para reativar componentes de C2 dinâmicamente. Ferramentas como **Carbon** e **Kazuar** do ecossistema Turla interagem com o repositório WMI.
### FIN7
O [[g0046-fin7|FIN7]], grupo focado em crime financeiro (POS, hospitality, restaurantes), utilizou WMI subscriptions extensivamente em campanhas de 2017-2019. A ferramenta **Carbanak** e variantes do arsenal FIN7 incluem módulos de persistência via WMI, especialmente `CommandLineEventConsumer` invocando PowerShell ou scripts de staging.
### APT33 (Elfin)
O [[g0064-apt33|APT33]], grupo iraniano com foco em energia e aeronáutica, foi documentado usando WMI persistence em campanhas de espionagem industrial contra alvos no Oriente Médio e EUA. A técnica foi identificada em análises de malware como **TURNEDUP** e variantes de downloaders do grupo.
### Malware Notável
- **[[s0367-emotet|Emotet]]** - o malware-as-a-service utilizou WMI subscriptions como mecanismo de persistência em versões recentes antes de sua derrubada em 2021
- **[[s0266-trickbot|TrickBot]]** - módulos de persistência do TrickBot incluem WMI Event Subscription como alternativa a scheduled tasks e registry run keys
- **[[s0194-powersploit|PowerSploit]]** - framework de red team com módulo `Persist-WMI` documentado extensivamente; base para variantes maliciosas
## Detecção
### Regra Sigma - Criação de Assinatura WMI
```yaml
title: WMI Event Subscription Created
id: d6g4h0c3-e5f9-6g7h-1234-cd5678901234
status: stable
description: >
Detecta criação de componentes de WMI Event Subscription - Event Filter,
Event Consumer ou FilterToConsumerBinding - indicando possível persistência
fileless via WMI. Requer auditoria de operações WMI habilitada.
references:
- https://attack.mitre.org/techniques/T1546/003/
- https://www.mandiant.com/resources/blog/wmi-persistence-mitigations
- https://github.com/davidpany/WMI_Forensics
author: RunkIntel
daté: 2026-03-25
logsource:
product: windows
category: wmi_event
detection:
selection_filter:
EventID: 5861
Message|contains:
- '__EventFilter'
selection_consumer:
EventID: 5861
Message|contains:
- 'ActiveScriptEventConsumer'
- 'CommandLineEventConsumer'
selection_binding:
EventID: 5861
Message|contains:
- '__FilterToConsumerBinding'
condition: selection_filter or selection_consumer or selection_binding
falsepositives:
- Software de gerenciamento legítimo (SCCM, SCOM, ferramentas de monitoramento)
- Scripts de administração de TI que usam WMI para automação
level: high
tags:
- attack.persistence
- attack.t1546.003
fields:
- EventID
- Message
- User
- ComputerName
```
### Regra Sigma - WMI Consumer Executando Script Suspeito
```yaml
title: WMI ActiveScriptEventConsumer Executing Suspicious Script
id: e7h5i1d4-f6g0-7h8i-2345-de6789012345
status: experimental
description: >
Detecta o processo WMI Service (WmiPrvSE.exe) criando processos filhos
inesperados, o que ocorre quando um WMI Event Consumer é disparado.
logsource:
product: windows
category: process_creation
detection:
selection:
ParentImage|endswith:
- '\WmiPrvSE.exe'
Image|endswith:
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\cmd.exe'
- '\mshta.exe'
- '\regsvr32.exe'
- '\rundll32.exe'
condition: selection
falsepositives:
- Ferramentas de gerenciamento que usam WMI para lançar processos legítimos
- Scripts SCCM/MECM executados via WMI
level: high
tags:
- attack.persistence
- attack.execution
- attack.t1546.003
```
### Ferramentas de Investigação Forense WMI
```powershell
# Investigação completa de assinaturas WMI suspeitas
# (executar como admin)
# 1. Listar todos os Event Filters em root\subscription
Get-WMIObject -Namespace root\subscription -Class __EventFilter |
Select-Object Name, Query, QueryLanguage, EventNamespace
# 2. Listar todos os Event Consumers
Get-WMIObject -Namespace root\subscription -Class ActiveScriptEventConsumer |
Select-Object Name, ScriptingEngine, ScriptText
Get-WMIObject -Namespace root\subscription -Class CommandLineEventConsumer |
Select-Object Name, CommandLineTemplaté, ExecutablePath
# 3. Listar bindings ativos
Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding |
Select-Object Filter, Consumer
# 4. Ferramenta externa: WMI_Forensics (David Pany)
# python WMI_Forensics.py -i $env:SystemRoot\System32\wbem\Repository
```
### Fontes de Dados MITRE
| Fonte | O que Monitorar |
|-------|-----------------|
| WMI: WMI Creation | Criação de `__EventFilter`, `ActiveScriptEventConsumer`, `CommandLineEventConsumer`, `__FilterToConsumerBinding` em `root\subscription` |
| Process: Process Creation | `WmiPrvSE.exe` como processo pai lançando `powershell.exe`, `wscript.exe`, `cmd.exe` ou outros interpretadores |
| Command: Command Execution | Uso de `wmic`, `Invoke-WmiMethod`, `Set-WmiInstance` para criação de subscriptions |
## Mitigação
| ID | Mitigação | Descrição | Prioridade |
|----|-----------|-----------|------------|
| [[m1026-privileged-account-management\|M1026]] | Privileged Account Management | Restringir quais contas têm permissão para criar WMI Event Subscriptions via WMI namespace security (`root\subscription`); usar apenas contas privilegiadas auditadas | Alta |
| [[m1018-user-account-management\|M1018]] | User Account Management | Implementar princípio do menor privilégio - usuários padrão não devem ter permissão de criar objetos em `root\subscription` | Alta |
### Recomendações Adicionais
- **Habilitar WMI Logging:** Ativar log de operações WMI via Event ID 5860/5861 no canal `Microsoft-Windows-WMI-Activity/Operational`
- **Baseline de Subscriptions:** Inventariar e documentar todas as assinaturas WMI legítimas no ambiente; alertar para qualquer nova subscription não autorizada
- **SIEM Correlation:** Correlacionar criação de subscriptions WMI com outros indicadores de comprometimento - acesso suspeito, processo de instalação não-autorizado
- **Monitoramento de WmiPrvSE.exe:** Regra dedicada no EDR para processos filhos não-esperados do `WmiPrvSE.exe`
- **Application Control:** Restringir quais binários podem ser invocados por `CommandLineEventConsumer` via AppLocker ou WDAC
> [!warning] Alta Prevalência em Ataques Reais
> WMI Event Subscription é classificada como técnica de **alto impacto e alta prevalência** pelo Red Canary Threat Detection Report. Em análises de incidentes de ransomware e espionagem, é consistentemente encontrada como mecanismo de persistência, especialmente em ataques sofisticados que evitam scheduled tasks e registry run keys. **Ambientes sem monitoramento do canal WMI-Activity são cegos a esta técnica.**
## Contexto Brasil/LATAM
WMI Event Subscription é uma das técnicas mais relevantes para o cenário de ameaças no Brasil e na América Latina, dado o perfil dos ataques que afetam a região:
### Ransomware - Alta Relevância
Grupos de ransomware como **[[lockbit|LockBit]]**, **[[blackcat|ALPHV]]** e **[[play-ransomware|Play]]** - todos com operações documentadas no Brasil - utilizam WMI subscriptions como parte do arsenal de persistência antes da fase de criptografia. A técnica garante que componentes do ransomware sobrevivam a tentativas de remediação parcial.
### Espionagem Governamental e Corporativa
- **[[g0016-apt29|APT29]]** e **[[g0007-apt28|APT28]]** - grupos russos com histórico de interesse em organizações governamentais e diplomáticas brasileiras; WMI persistence é parte central de seu toolkit
- **Grupos de espionagem chineses** - análises públicas identificaram grupos como [[g0096-apt41|APT41]] com operações no setor de telecomúnicações e tecnologia da América Latina, onde WMI persistence foi identificada
### Crime Financeiro LATAM
- **[[g0046-fin7|FIN7]]** - grupo com vítimas no setor de varejo e hospitalidade no Brasil; WMI subscriptions documentadas em seu arsenal
- Grupos de crime financeiro regionais (BrazBanker, Guildma/Grandoreiro ecosystem) têm incorporado técnicas de persistência Windows mais sofisticadas, incluindo WMI, conforme maturidade das ferramentas aumenta
### Setores em Risco
| Setor | Exposição | Ameaça Principal |
|-------|-----------|-----------------|
| [[_sectors\|Financeiro]] | Crítica | Ransomware + APT financeiro (FIN7, Lazarus) |
| Governo Federal/Estadual | Alta | Espionagem (APT28, APT29, APT41) |
| Energia e Saneamento | Alta | Sabotagem e ransomware (LockBit, BlackCat) |
| Saúde | Alta | Ransomware (dados de pacientes = alto valor) |
| Varejo/E-commerce | Média-Alta | Roubo de dados de cartão (FIN7 e similares) |
### Lacuna de Monitoramento
Uma análise de maturidade de SOCs brasileiros (baseada em dados públicos de incidentes e relatórios de resposta) indica que a maioria dos SOCs de médio porte **não monitora o canal `Microsoft-Windows-WMI-Activity/Operational`**. Isso cria uma jánela de exploração significativa que adversários sofisticados ativamente aproveitam.
Sob as diretrizes do **BACEN** (Resolução CMN 4.893/2021) e do **Decreto 9.637/2018** (Política Nacional de Segurança da Informação), organizações de infraestrutura crítica têm obrigação implícita de monitorar mecanismos de persistência em endpoints. A ativação de logging WMI é um controle de baixo custo e alto impacto.
## Referências
- [MITRE ATT&CK - T1546.003](https://attack.mitre.org/techniques/T1546/003/)
- [Mandiant - WMI Persistence Mitigations](https://www.mandiant.com/resources/blog/wmi-persistence-mitigations)
- [Red Canary - Threat Detection Report (WMI)](https://redcanary.com/threat-detection-report/)
- [David Pany - WMI Forensics](https://github.com/davidpany/WMI_Forensics)
- [Matt Graeber - Abusing Windows Management Instrumentation](https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor.pdf)
- [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] - técnica pai
- [[t1059-001-powershell|T1059.001 - PowerShell]] - frequentemente combinado com WMI subscriptions
- [[t1047-windows-management-instrumentation|T1047 - Windows Management Instrumentation]] - execução via WMI (técnica relacionada)
- [[g0046-fin7|FIN7]] - grupo financeiro com uso documentado desta técnica
- [[g0016-apt29|APT29]] - grupo de espionagem com uso extensivo de WMI persistence
---
*Fonte: MITRE ATT&CK - T1546.003 Windows Management Instrumentation Event Subscription, v16.2*