Esecuzione via WMI: Windows Management Instrumentation (T1047)

Windows Management Instrumentation è l'infrastruttura nativa di Windows per la gestione programmatica di dati e operazioni di sistema. Pensata per amministratori e sviluppatori, offre un'interfaccia uniforme per interrogare componenti del sistema operativo, eseguire processi, raccogliere informazioni diagnostiche e interagire con macchine remote. Proprio questa versatilità la rende uno degli strumenti più sfruttati dagli avversari in fase di Execution (TA0002): la capacità di lanciare comandi — localmente o in rete — senza depositare file sospetti sul disco la trasforma in un vettore di esecuzione discreto e difficile da distinguere dalle operazioni amministrative legittime.

L'accesso remoto avviene tramite DCOM sulla porta 135 oppure via WinRM sulle porte 5985 (HTTP) e 5986 (HTTPS). Gli avversari sfruttano questa doppia via per il lateral movement, la discovery e persino la distruzione dei Volume Shadow Copy. L'utility a riga di comando wmic.exe — deprecata da gennaio 2024 e disabilitata per default su Windows 11+ — resta ancora presente in molti ambienti enterprise, ma viene progressivamente sostituita da PowerShell e dalle COM API in C++, .NET e VBScript.

I numeri confermano la centralità di questa tecnica nel panorama offensivo: 39 gruppi APT documentati, 88 software noti, 11 campagne tracciate e 4 mitigazioni raccomandate ne fanno una delle superfici di attacco più trasversali dell'intero framework.


La simulazione dell'abuso di WMI in laboratorio deve coprire tre scenari fondamentali: esecuzione locale, esecuzione remota e discovery. Lo strumento più diretto per l'esecuzione remota è il modulo wmiexec di Impacket (open source), che replica esattamente la catena utilizzata da gruppi come Cinnamon Tempest, Velvet Ant e FIN8. Per lanciare un comando su un host remoto autenticandosi con credenziali in chiaro:

impacket-wmiexec dominio/utente:password@indirizzo-ip "whoami"

Se si dispone di un hash NTLM — scenario coerente con quanto osservato per Ember Bear, che usa WMI con password hash — si può sfruttare il pass-the-hash:

impacket-wmiexec -hashes :hash-ntlm dominio/utente@indirizzo-ip "ipconfig /all"

Per l'esecuzione locale tramite wmic.exe, ancora presente su molti target Windows 10 e Server 2019, il comando classico per la process execution è:

wmic process call create "cmd.exe /c whoami > C:\temp\output.txt"

La cancellazione delle shadow copy, usata da ransomware come WannaCry, BlackCat, Avaddon, LockBit 2.0 e Black Basta, si simula così:

wmic shadowcopy delete /nointeractive

Su ambienti dove wmic.exe è disabilitato (Windows 11+), l'equivalente PowerShell nativo utilizza il cmdlet Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList "calc.exe"

Per la discovery — come fa Gamaredon Group con le query WMI sullo stato di rete — si può interrogare la classe Win32_PingStatus:

Get-WmiObject -Query "Select * From Win32_PingStatus Where Address='target-ip'"

Framework C2 come Cobalt Strike (a pagamento), PoshC2 (open source), Empire (open source), Brute Ratel C4 (a pagamento) e Covenant (open source) integrano tutti moduli WMI nativi. In Cobalt Strike, dal beacon si utilizza il comando wmi per l'esecuzione remota; in Empire, il modulo lateral_movement/invoke_wmi replica la stessa operazione. CrackMapExec (open source) offre un'interfaccia ancora più rapida per il mass-execution:

crackmapexec wmi indirizzo-ip -u utente -p password -x "whoami"

Un esercizio completo dovrebbe concatenare la discovery WMI iniziale (enumerazione antivirus via Win32_Product o AntiVirusProduct), il lateral movement via wmiexec, e infine l'esecuzione di un payload — riproducendo la kill chain documentata in campagne come C0015 e C0018.


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo