# T1047 - Windows Management Instrumentation
## Descrição
O Windows Management Instrumentation (WMI) é uma infraestrutura nativa de gerenciamento do Windows, presente em todas as versões modernas do sistema operacional. Ele permite que administradores consultem informações do sistema, executem processos, monitorem eventos e gerenciem configurações - tanto localmente quanto remotamente. Por ser uma funcionalidade legítima e profundamente integrada ao OS, chamadas WMI raramente geram alarmes em soluções de segurança convencionais, tornando-o um vetor de execução altamente atrativo para adversários.
Atacantes abusam do WMI para executar comandos e payloads de forma furtiva, contornando controles que monitoram processos convencionais como `cmd.exe` e `powershell.exe`. Ferramentas como `wmic.exe` (depreciado no Windows 11+), scripts PowerShell via `Get-WmiObject` ou `Invoke-WmiMethod`, e APIs COM diretamente em C++ ou .NET permitem executar código, criar processos remotos, deletar shadow copies (`wmic.exe Shadowcopy Delete` - cf. [[t1490-inhibit-system-recovery|Inhibit System Recovery]]), e enumerar o ambiente para [[ta0007-discovery|Discovery]]. O acesso remoto via WMI sobre DCOM (porta 135) ou WinRM (portas 5985/5986) viabiliza [[t1021-003-distributed-component-object-model|movimento lateral via DCOM]] e [[t1021-006-windows-remote-management|WinRM]] sem necessidade de ferramentas adicionais.
Uma das capacidades mais perigosas do WMI é o registro de *event subscriptions* persistentes: um atacante pode criar um filtro WMI que monitora um evento do sistema (ex.: inicialização, login de usuário) e associa um *consumer* que executa um payload quando o evento ocorre. Essa técnica de persistência (relacionada a [[t1543-003-windows-service|T1543.003]]) sobrevive a reboots, não cria arquivos no disco facilmente rastreáveis, e é invisível para a maioria das ferramentas de análise de serviços. O [[s0559-sunburst|SUNBURST]] e o [[s0367-emotet|Emotet]] utilizaram WMI extensivamente para movimentação e execução sigilosa.
**Contexto Brasil/LATAM:** Grupos de ransomware que operam ativamente no Brasil - como [[g1051-medusa-ransomware|Medusa Group]] e [[g1032-inc-ransom|INC Ransom]] - fazem uso de WMI para executar payloads remotamente em múltiplas máquinas simultaneamente após compromisso inicial, maximizando o alcance da cifragem. O [[g0050-apt32|APT32]] (OceanLotus), com histórico de operações em toda a América Latina incluindo campanhas contra governo e setor privado brasileiro, utiliza WMI como plataforma de execução e evasão em suas intrusões de longa duração.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial<br/>T1566 / T1190] --> B[Execução Local<br/>via WMI]
B --> C{{“T1047 - WMI<br/>Execution”}}:::highlight
C --> D[Lateral Movement<br/>WMI Remoto / DCOM]
C --> E[Discovery<br/>TA0007]
C --> F[Persistência via<br/>WMI Subscription]
D --> G[Ransomware / C2<br/>em múltiplas máquinas]
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b
```
## Como Funciona
1. **Preparação:** O atacante precisa de credenciais válidas (local admin ou domain admin) para uso remoto. Localmente, usuários com permissões elevadas já podem interagir com WMI. O payload pode ser um comando inline, um script PowerShell codificado em Base64, ou a referência a um binário já dropado no disco. Para persistência, o atacante prepara um *WMI Event Filter*, *Event Consumer* e *Filter-to-Consumer Binding*.
2. **Execução:** Para execução local ou remota de processo:
```powershell
# Via PowerShell (moderno - substitui wmic.exe)
Invoke-WmiMethod -Class Win32_Process -Name Creaté -ArgumentList “cmd.exe /c whoami > C:\temp\out.txt”
# Execução remota em outro host
Invoke-WmiMethod -ComputerName TARGET -Credential $cred -Class Win32_Process -Name Creaté -ArgumentList “payload.exe”
```
Para persistência via event subscription:
```powershell
# Filtro que dispara ao iniciar o sistema
$Filter = Set-WmiInstance -Namespace root\subscription -Class __EventFilter -Arguments @{...}
# Consumer que executa o payload
$Consumer = Set-WmiInstance -Namespace root\subscription -Class CommandLineEventConsumer -Arguments @{...}
# Binding liga os dois
Set-WmiInstance -Namespace root\subscription -Class __FilterToConsumerBinding -Arguments @{Filter=$Filter;Consumer=$Consumer}
```
3. **Pós-execução:** Com WMI remoto, o atacante pode iterar sobre múltiplos hosts no domínio e executar comandos em paralelo - padrão observado em deploy de ransomware em ambientes corporativos. As operações WMI geram pouco ou nenhum arquivo em disco (execução fileless), dificultando análise forense. Logs WMI nativos são desabilitados por padrão em versões antigas do Windows, criando blind spots para defenders sem configuração de auditoria específica.
## Detecção
**Fontes de dados:**
- **Sysmon Event ID 20** - WMI Event Consumer activity (criação de consumer persistente)
- **Sysmon Event ID 21** - WMI Event Consumer to Filter binding
- **Sysmon Event ID 19** - WMI Event Filter activity
- **Windows Event Log - Microsoft-Windows-WMI-Activity/Operational:** Event ID **5857, 5858, 5859, 5861** - atividade WMI detalhada (requer habilitação via GPO)
- **Sysmon Event ID 1** - Processo `WmiPrvSE.exe` criando processos filhos - sinal forte de execução via WMI
- **Rede:** Conexões na porta 135 (DCOM/WMI remoto) de workstations para servidores fora do padrão normal
**Sigma Rule:**
```yaml
title: Processo Filho Suspeito Originado de WmiPrvSE
id: wmi-child-process-suspicious
status: stable
description: >
Detecta processos suspeitos iniciados pelo host WMI (WmiPrvSE.exe),
indicativo de execução de payload via Windows Management Instrumentation.
Técnica amplamente usada por ransomware e APTs para evasão de detecção.
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\WmiPrvSE.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\rundll32.exe'
- '\regsvr32.exe'
- '\certutil.exe'
condition: selection
falsepositives:
- Scripts de monitoramento e automação legítimos via WMI (ex.: SCCM, Ansible)
- Ferramentas de inventário corporativo (verificar baseline)
level: high
tags:
- attack.execution
- attack.t1047
- attack.lateral_movement
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Restringir quais contas têm permissão de acesso remoto via WMI. Usar GPO para controlar o namespace WMI root\subscription - onde ficam as event subscriptions persistentes. Implementar PAW (Privileged Access Workstation) para operações administrativas. |
| [[m1040-behavior-prevention-on-endpoint\|M1040 - Behavior Prevention on Endpoint]] | Configurar EDR para alertar e bloquear processos filhos de `WmiPrvSE.exe` que não façam parte de uma whitelist de automação legítima. Habilitar proteção contra WMI event subscriptions maliciosas (recurso disponível em CrowdStrike, SentinelOne e Defender for Endpoint). |
| [[m1018-user-account-management\|M1018 - User Account Management]] | Aplicar princípio do menor privilégio: usuários comuns não devem ter acesso a namespaces WMI sensíveis. Auditar permissões de WMI namespace com `Get-WMIObject -Namespace root -Class __SystemSecurity`. Remover acesso remoto WMI de contas de serviço desnecessáriamente privilegiadas. |
| [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Usar AppLocker ou WDAC (Windows Defender Application Control) para restringir quais binários podem ser executados como filhos de `WmiPrvSE.exe`. Considerar bloquear `wmic.exe` em ambientes onde ele não é utilizado (já depreciado no Windows 11). |
## Threat Actors
- [[g1021-cinnamon-tempest|Cinnamon Tempest]] - grupo de ransomware que usa WMI para execução remota em ambientes corporativos comprometidos
- [[g1051-medusa-ransomware|Medusa Group]] - ransomware ativo no Brasil, usa WMI para deploy de payload em múltiplas máquinas simultaneamente
- [[g0045-apt10|menuPass]] - APT jáponês (Stone Panda/APT10) que usa WMI para execução e coleta de informações em espionagem
- [[g1032-inc-ransom|INC Ransom]] - grupo emergente que usa WMI remoto para escalar o alcance de seus ataques
- [[g0047-gamaredon|Gamaredon Group]] - APT russo que usa WMI para execução de scripts em campanhas de espionagem na Ucrânia e Europa
- [[g0050-apt32|APT32]] - OceanLotus, ativo em LATAM; usa WMI como plataforma de execução furtiva em operações de espionagem
- [[g0129-mustang-panda|Mustang Panda]] - APT chinês que usa WMI para discovery e execução em campanhas de espionagem governamental
- [[g0069-mango-sandstorm|MuddyWater]] - APT iraniano que usa WMI remoto para movimentação lateral em redes corporativas
- [[g0102-conti-group|Wizard Spider]] - operador do Ryuk/Conti/BlackBasta; WMI é componente central do playbook de ransomware
- [[g0065-leviathan|Leviathan]] - APT chinês (APT40) que usa WMI em campanhas de espionagem marítima e tecnológica
## Software Associado
- [[s1085-sardonic|Sardonic]] (malware) - backdoor que usa WMI para execução de comandos e discovery do ambiente
- [[s0688-meteor|Meteor]] (malware) - wiper iraniano que utiliza WMI para deletar shadow copies e executar componentes
- [[s0270-roguerobin|RogueRobin]] (malware) - RAT que usa WMI event subscriptions para persistência fileless
- [[s0559-sunburst|SUNBURST]] (malware) - backdoor da cadeia SolarWinds que usa WMI para enumerar processos de segurança
- [[s0089-blackenergy|BlackEnergy]] (malware) - malware de ICS que usa WMI para reconhecimento de redes industriais
- [[s1044-funnydream|FunnyDream]] (malware) - backdoor APT que usa WMI para coleta de informações e execução lateral
- [[s0283-jrat|jRAT]] (malware) - RAT baseado em Java com capacidade de execução via WMI no Windows
- [[s0367-emotet|Emotet]] (malware) - botnet que usa WMI para enumeração e propagação lateral em redes corporativas
- [[s0618-fivehands|FIVEHANDS]] (malware) - ransomware que usa WMI para deletar shadow copies antes de cifrar arquivos
- [[s0251-zebrocy|Zebrocy]] (malware) - downloader do Sofacy/APT28 com uso de WMI para discovery e execução
---
*Fonte: [MITRE ATT&CK - T1047](https://attack.mitre.org/techniques/T1047)*