# DS0005 — WMI
## Descrição
O Windows Management Instrumentation (WMI) é a infraestrutura de gestão de dados e operações do Windows que permite tanto o gerenciamento local quanto remoto de sistemas. Construído sobre o padrão DMTF CIM (Common Information Model), o WMI fornece uma interface unificada para acessar e manipular práticamente qualquer aspecto do sistema operacional — desde processos e serviços até configurações de hardware, rede e registro.
Do ponto de vista ofensivo, o WMI é uma das ferramentas mais poderosas à disposição de adversários avançados: permite execução remota de código sem criar arquivos em disco, persistência via assinaturas de eventos (Event Subscriptions) que sobrevivem a reinicializações, e reconhecimento do ambiente sem acionar ferramentas de segurança que monitoram binários suspeitos. Grupos como APT29, Fin7 e operadores de ransomware moderno utilizam WMI extensivamente em suas TTPs.
A dificuldade de monitorar WMI reside em sua natureza intrínseca ao sistema: bloquear o WMI quebra funcionalidades legítimas de gestão e monitoramento. A estratégia eficaz é identificar o que é normal (WMI para inventário, deployment, monitoramento) e alertar sobre anomalias — como assinaturas de eventos criadas por usuários não administrativos, ou execução de processos via WMI de origens inesperadas.
## Visão Geral
**Sysmon — Configuração recomendada para WMI:**
```xml
<!-- sysmon-config.xml — capturar todos os eventos WMI -->
<WmiEvent onmatch="include">
<Operation condition="is">Created</Operation>
</WmiEvent>
```
**Auditoria de objetos WMI via PowerShell:**
```powershell
# Listar assinaturas de eventos WMI permanentes — baseline e detecção
Get-WMIObject -Namespace root\subscription -Class __EventFilter
Get-WMIObject -Namespace root\subscription -Class __EventConsumer
Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding
# Se retornar resultados inesperados, investigar imediatamente
```
**Auditoria de objetos WMI (alternativa PowerShell moderno):**
```powershell
Get-CimInstance -Namespace root\subscription -ClassName __EventFilter |
Select-Object Name, Query, QueryLanguage, CreationClassName
```
### Análise Forense de WMI
**Repositório WMI (persistência em disco):**
- Localização: `C:\Windows\System32\wbem\Repository\`
- Arquivos: `OBJECTS.DATA`, `INDEX.BTR`, `MAPPING*.MAP`
- Ferramentas de análise: **WMI Explorer**, **python-cim** (Mandiant), **PyWMIPersistenceFinder**
### SIEM — Integração
| SIEM | Fonte de Dados | Query de Interesse |
|---|---|---|
| **Microsoft Sentinel** | Sysmon via Azure Monitor Agent + `SecurityEvent` | `Event | where Source == "Microsoft-Windows-Sysmon" | where EventID in (19, 20, 21)` |
| **Splunk** | Sysmon Add-on + WinEventLog WMI-Activity | `index=wineventlog EventCode=5861` |
| **Elastic** | Winlogbeat + Elastic Security detection rules | Regra nativa: "WMI Event Subscription" |
| **CrowdStrike Falcon** | Sensor telemetry nativa — captura WMI sem configuração adicional | Cobertura mais completa para WMI remoto |
## Pipeline de Coleta
```mermaid
graph TB
A["⚙️ WMI Engine<br/>root\\subscription namespace"] --> B["📋 WMI-Activity/Operational<br/>EID 5859·5861 (desabilitado!)"]
A --> C["🔍 Sysmon EID 19·20·21<br/>WmiEventFilter/Consumer"]
B --> D["📡 WEF / Agente SIEM<br/>Coleta centralizada"]
C --> D
D --> E["🗄️ SIEM<br/>Sentinel · Splunk · Elastic"]
E --> F["🚨 Alerta CRÍTICO<br/>Event Subscription criada<br/>por usuário não-admin"]
```
## Componentes de Dados
| Componente | ID | Descrição |
|---|---|---|
| WMI Creation | [[dc0008-wmi-creation\|DC0008]] | Criação de objetos WMI — especialmente assinaturas de eventos permanentes |
## Como Coletar
### Windows — Auditoria Nativa e Sysmon
**WMI Trace Logging (habilitação manual necessária):**
```powershell
# Habilitar log de atividade WMI
logman start WMI-Trace -p "Microsoft-Windows-WMI-Activity" 0xFFFFFFFF -ets
# Via Event Log nativo (recomendado — persistente)
wevtutil sl Microsoft-Windows-WMI-Activity/Operational /e:true
```
**Event IDs WMI:**
| Event ID | Log | Descrição | Prioridade |
|---|---|---|---|
| 5857 | WMI-Activity/Operational | Execução de operação WMI — provider ID e namespace | Alta |
| 5858 | WMI-Activity/Operational | Falha de operação WMI — pode indicar reconhecimento | Média |
| 5859 | WMI-Activity/Operational | Nova assinatura de evento WMI registrada | Crítica |
| 5860 | WMI-Activity/Operational | Assinatura de evento temporária registrada | Alta |
| 5861 | WMI-Activity/Operational | Assinatura de evento permanente ativada | Crítica |
| 19 | Microsoft-Windows-Sysmon | WmiEvent FilterToConsumerBinding detectado | Crítica |
| 20 | Microsoft-Windows-Sysmon | WmiEventConsumer detectado | Crítica |
| 21 | Microsoft-Windows-Sysmon | WmiEventFilter activity detectado | Crítica |
> [!danger] Alerta Imediato
> Event IDs 5859, 5861 (WMI Activity) e Sysmon 19, 20, 21 (WmiEvent*) indicam criação de persistência via WMI Event Subscription — devem gerar alertas de alta prioridade imediatamente.
## Técnicas Detectadas
| Técnica | Descrição |
|---|---|
| [[t1047-windows-management-instrumentation\|T1047 — Windows Management Instrumentation]] | Execução de comandos e scripts via WMI — local e remoto |
| [[ttp/techniques/persistence/t1546-003-windows-management-instrumentation-event-subscription\|T1546.003 — WMI Event Subscription]] | Persistência via filtros e consumidores de eventos WMI permanentes |
| [[t1021-006-windows-remote-management\|T1021.006 — Windows Remote Management]] | Movimento lateral combinado com WMI para execução remota |
| [[t1082-system-information-discovery\|T1082 — System Information Discovery]] | WMI é amplamente usado para reconhecimento do sistema (OS, hardware, software) |
| [[t1016-system-network-configuration-discovery\|T1016 — System Network Configuration Discovery]] | Enumeração de configurações de rede via classes WMI |
## Gaps de Cobertura Brasil/LATAM
**Lacunas mais comuns em organizações brasileiras:**
> [!warning] Gap Crítico — WMI Activity Log Desabilitado
> O log `Microsoft-Windows-WMI-Activity/Operational` está **desabilitado por padrão** no Windows. Sem ele, assinaturas de eventos WMI (o método de persistência mais sofisticado disponível no Windows) são completamente invisíveis. Este gap afeta virtualmente 100% das organizações que não tiveram uma implementação de SIEM cuidadosa.
**Principais gaps identificados:**
1. **Ausência de Sysmon com configuração WMI:** Sysmon com eventos WMI (19, 20, 21) é a forma mais prática de detectar WMI Event Subscriptions. No Brasil, o Sysmon ainda tem adoção limitada fora de grandes bancos e empresas com SOC maduro.
2. **WMI remoto não monitorado:** O WMI sobre DCOM (porta 135 + portas dinâmicas RPC) é usado para movimento lateral, mas raramente monitorado em firewalls internos de organizações brasileiras. Adversários usam `wmic /node:` para executar comandos em hosts remotos sem deixar rastros nos hosts de destino se o WMI Activity Log estiver desabilitado.
3. **Repositório WMI como evidência forense ignorada:** Em resposta a incidentes no Brasil, o repositório WMI (`C:\Windows\System32\wbem\Repository\`) raramente é coletado como evidência forense, perdendo artefatos críticos de persistência.
4. **Cobertura de WMI em servidores:** O foco de monitoramento WMI costuma ser em endpoints, deixando servidores — onde o impacto de persistência é maior — com cobertura reduzida.
5. **Recomendações para contexto LATAM:**
- Habilitar `Microsoft-Windows-WMI-Activity/Operational` via GPO como passo imediato
- Implantar Sysmon com templaté de configuração incluindo regras WMI (SwiftOnSecurity ou Olaf Hartong)
- Criar detecção de linha de base: qualquer processo filho de `WmiPrvSE.exe` que não sejá parte de software de gestão conhecido
- Bloquear WMI remoto na rede interna para workstations que não necessitam de gestão remota via WMI
## Referências
- [[_command\|Data Components — Command]] — inclui [[dc0008-wmi-creation\|DC0008 — WMI Creation]]
- [[m1047-audit\|M1047 — Audit]] — auditoria de assinaturas WMI existentes como controle de detecção
- [[m1026-privileged-account-management\|M1026 — Privileged Account Management]] — restringir quem pode criar objetos WMI
- [[t1047-windows-management-instrumentation\|T1047 — Windows Management Instrumentation]] — técnica primária coberta
- [[ttp/techniques/persistence/t1546-003-windows-management-instrumentation-event-subscription\|T1546.003 — WMI Event Subscription]] — persistência via WMI
- [[m1042-disable-or-remove-feature-or-program\|M1042 — Disable or Remove Feature or Program]] — desabilitar WMI remoto onde não necessário
---
*Fonte: [MITRE ATT&CK — DS0005](https://attack.mitre.org/datasources/DS0005)*