Detection rules › Sigma
WMI Persistence
Detects suspicious WMI event filter and command line event consumer based on WMI and Security Logs.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | T1546.003 Event Triggered Execution: Windows Management Instrumentation Event Subscription |
| Privilege Escalation | T1546.003 Event Triggered Execution: Windows Management Instrumentation Event Subscription |
Event coverage
Rule body yaml
title: WMI Persistence
id: 0b7889b4-5577-4521-a60a-3376ee7f9f7b
status: test
description: Detects suspicious WMI event filter and command line event consumer based on WMI and Security Logs.
references:
- https://twitter.com/mattifestation/status/899646620148539397
- https://www.eideon.com/2018-03-02-THL03-WMIBackdoors/
author: Florian Roth (Nextron Systems), Gleb Sukhodolskiy, Timur Zinniatullin oscd.community
date: 2017-08-22
modified: 2022-02-10
tags:
- attack.persistence
- attack.privilege-escalation
- attack.t1546.003
logsource:
product: windows
service: wmi
definition: 'WMI Namespaces Auditing and SACL should be configured, EventID 5861 and 5859 detection requires Windows 10, 2012 and higher'
detection:
wmi_filter_to_consumer_binding:
EventID: 5861
consumer_keywords:
- 'ActiveScriptEventConsumer'
- 'CommandLineEventConsumer'
- 'CommandLineTemplate'
# - 'Binding EventFilter' # too many false positive with HP Health Driver
wmi_filter_registration:
EventID: 5859
filter_scmevent:
Provider: 'SCM Event Provider'
Query: 'select * from MSFT_SCMEventLogEvent'
User: 'S-1-5-32-544'
PossibleCause: 'Permanent'
condition: ( (wmi_filter_to_consumer_binding and consumer_keywords) or (wmi_filter_registration) ) and not filter_scmevent
falsepositives:
- Unknown (data set is too small; further testing needed)
level: medium
Stages and Predicates
Stage 0: condition
( (wmi_filter_to_consumer_binding and consumer_keywords) or (wmi_filter_registration) ) and not filter_scmeventStage 1: wmi_filter_to_consumer_binding
wmi_filter_to_consumer_binding:
EventID: 5861
Stage 2: consumer_keywords
consumer_keywords:
- 'ActiveScriptEventConsumer'
- 'CommandLineEventConsumer'
- 'CommandLineTemplate'
Stage 3: wmi_filter_registration
wmi_filter_registration:
EventID: 5859
Stage 4: not filter_scmevent
filter_scmevent:
Provider: 'SCM Event Provider'
Query: 'select * from MSFT_SCMEventLogEvent'
User: 'S-1-5-32-544'
PossibleCause: 'Permanent'
Exclusions
Top-level NOT(...) conjuncts: predicates this rule actively suppresses.
| Field | Kind | Excluded values |
|---|---|---|
PossibleCause | eq | Permanent |
Provider | eq | SCM Event Provider |
Query | wildcard | select * from MSFT_SCMEventLogEvent |
User | eq | S-1-5-32-544 |