Skip to main content

Overview

The WMIEventFilter command enumerates WMI Event Filters configured on the system. WMI Event Filters define the conditions that trigger WMI events. When combined with Event Consumers through Filter-to-Consumer bindings, they create a complete WMI-based persistence or automation mechanism.

Syntax

This command does not support remote execution.

Output

Returns WMI Event Filter information:
  • Filter name
  • Event namespace
  • Query language (WQL)
  • Query/Condition
  • Creation timestamp
  • Creator SID

Use Cases

  • Identify existing WMI event triggers
  • Understand WMI event infrastructure
  • Find appropriate events for persistence
  • Discover timing-based triggers

Example Output

Remote Execution

This command does NOT support remote execution.

Detection Considerations

WMI Event Filters are a key component of WMI-based persistence.
  • WMI Namespace: Queries root\subscription namespace
  • Sysmon Events: Event ID 19 logs filter creation/modification
  • Event Logs: WMI-Activity logs may capture filter activity
  • Persistence: Filters survive reboots

Common Filter Patterns

Legitimate Uses:
  • System monitoring and alerting
  • Automated maintenance tasks
  • Performance monitoring
  • Software deployment triggers
Malicious Patterns:
  • Boot/startup time triggers
  • User logon triggers
  • Process creation monitoring (specific targets)
  • Timer-based execution
  • File creation in specific directories
Suspicious WQL Queries:

WMI Event Classes

Intrinsic Events:
  • __InstanceCreationEvent - Object created
  • __InstanceModificationEvent - Object modified
  • __InstanceDeletionEvent - Object deleted
  • __InstanceOperationEvent - Any instance operation
Timer Events:
  • __IntervalTimerInstruction - Periodic timer
  • __AbsoluteTimerInstruction - Specific time
Extrinsic Events:
  • Custom event types
  • Application-defined events