T1047

Windows Management Instrumentation

Adversaries may abuse Windows Management Instrumentation (WMI) to execute malicious commands and payloads. WMI is a built-in Windows administration framework that provides a uniform interface for accessing system components, processes, services, and hardware. Adversaries leverage WMI for local and remote command execution, process creation via Win32_Process, service manipulation, shadow copy deletion, and lateral movement via DCOM (port 135) or WinRM (port 5985/5986). The wmic.exe CLI tool has been widely abused but is deprecated in Windows 11+; modern attacks increasingly use PowerShell cmdlets (Invoke-WmiMethod, Get-CimInstance) and direct COM APIs. Real-world abusers include Emotet (WMI to launch PowerShell), SUNBURST (Win32_SystemDriver enumeration), INC Ransom (WMIC-based ransomware deployment), menuPass (wmiexec.vbs lateral movement), Gamaredon Group, and numerous ransomware families that delete shadow copies via wmic.exe.

Microsoft Sentinel / Defender
kusto
let SuspiciousWmicArgs = dynamic([
  "process call create",
  "shadowcopy delete",
  "shadowcopy where",
  "/node:",
  "os get",
  "computersystem get",
  "service where",
  "product get",
  "nicconfig",
  "logicaldisk get",
  "startup list",
  "useraccount get"
]);
let SuspiciousWmiPSPatterns = dynamic([
  "Invoke-WmiMethod",
  "Get-WmiObject",
  "Get-CimInstance",
  "[wmiclass]",
  "[wmi]",
  "Win32_Process",
  "Win32_ShadowCopy",
  "Win32_Service",
  "wmiexec"
]);
// Branch 1: wmic.exe executing suspicious operations
let WmicSuspicious = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "wmic.exe"
| where ProcessCommandLine has_any (SuspiciousWmicArgs)
| extend WmicRemote = ProcessCommandLine has "/node:"
| extend ShadowDelete = ProcessCommandLine has_any ("shadowcopy delete", "shadowcopy where")
| extend ProcessExec = ProcessCommandLine has "process call create"
| extend DetectionSource = "wmic_suspicious_args";
// Branch 2: wmiprvse.exe spawning unexpected child processes (WMI-based remote/local exec)
let WmiParentExec = DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName =~ "wmiprvse.exe"
| where FileName !in~ ("WmiPrvSE.exe", "msiexec.exe", "svchost.exe", "SearchIndexer.exe", "WerFault.exe", "dllhost.exe")
| extend WmicRemote = false
| extend ShadowDelete = false
| extend ProcessExec = true
| extend DetectionSource = "wmiprvse_child_process";
// Branch 3: PowerShell using WMI for process creation or service manipulation
let PSWmiExec = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine has_any (SuspiciousWmiPSPatterns)
| where ProcessCommandLine has_any ("Create", "StartService", "Delete", "Invoke", "exec", "CallMethod")
| extend WmicRemote = ProcessCommandLine has_any ("-ComputerName", "/node:")
| extend ShadowDelete = ProcessCommandLine has "ShadowCopy"
| extend ProcessExec = ProcessCommandLine has_any ("Win32_Process", "Invoke-WmiMethod", "Invoke-CimMethod")
| extend DetectionSource = "powershell_wmi_exec";
union WmicSuspicious, WmiParentExec, PSWmiExec
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
         InitiatingProcessFileName, InitiatingProcessCommandLine,
         WmicRemote, ShadowDelete, ProcessExec, DetectionSource
| sort by Timestamp desc
high severity high confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • System administrators using wmic.exe or PowerShell WMI cmdlets for legitimate remote management (asset inventory, service health checks, software deployment)
  • Backup agents and VSS-aware applications that enumerate or interact with shadow copies via WMI (e.g., Veeam, Acronis, Windows Server Backup)
  • Enterprise monitoring tools (SCCM, SCOM, SolarWinds, Tanium) that spawn processes via wmiprvse.exe during scheduled inventory collection or remediation tasks
  • Security scanners and vulnerability assessment tools (Tenable, Qualys, Rapid7) that use WMI to enumerate installed software, OS configuration, and services
  • IT automation scripts (Ansible over WinRM, custom PowerShell DSC configurations) that legitimately use Win32_Process or Win32_Service classes
  • Windows Update and Windows Installer operations that trigger wmiprvse.exe child process spawning during patch installation

Unlock Pro Content

Get the full detection package for T1047 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections