Detection rules › Sigma
System crash behavior manipulation - WMImplant (registry)
Detects scenarios where an attacker abuses the Windows "system failure and recovery" capacities (CrashControl) to store information or to establish persistence.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | T1546.003 Event Triggered Execution: Windows Management Instrumentation Event Subscription |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Sysmon | Event ID 12 | RegistryEvent (Object create and delete) |
| Sysmon | Event ID 13 | RegistryEvent (Value Set) |
| Sysmon | Event ID 14 | RegistryEvent (Key and Value Rename) |
Rule body yaml
title: System crash behavior manipulation - WMImplant (registry)
description: Detects scenarios where an attacker abuses the Windows "system failure and recovery" capacities (CrashControl) to store information or to establish persistence.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1546-Event%20Triggered%20Execution
- https://github.com/FortyNorthSecurity/WMImplant/
- https://docs.microsoft.com/en-us/windows/client-management/system-failure-recovery-options
- https://mathieubuisson.github.io/crash-behaviour-with-powershell/
- https://fortynorthsecurity.com/blog/an-introduction-to-wmimplant-post-exploitation/
- https://fr.slideshare.net/CTruncer/blackhat-usa-2019-wmimplant-an-offensive-use-case-of-wmi
- https://securityaffairs.co/wordpress/117001/ics-scada/ot-network-hack-smart-meters.html
- https://logrhythm.com/blog/bad-rabbit-ransomware-technical-analysis/
- https://www.darkoperator.com/blog/2017/10/14/basics-of-tracking-wmi-activity
- https://lolbas-project.github.io/lolbas/Binaries/Wmic/
tags:
- attack.persistence
- attack.t1546.003
author: mdecrevoisier
status: experimental
logsource:
product: windows
category: registry_event
detection: # full command: "wmic recoveros set AutoReboot = False"
selection:
Image|endswith: \wmiprvse.exe
EventType: SetValue
TargetObject|endswith:
- \CurrentControlSet\Control\CrashControl\AutoReboot
- \CurrentControlSet\Control\CrashControl\CrashDumpEnabled
- \CurrentControlSet\Control\CrashControl\DumpFile
- \CurrentControlSet\Control\CrashControl\KernelDumpOnly
- \CurrentControlSet\Control\CrashControl\LogEvent
- \CurrentControlSet\Control\CrashControl\MiniDumpDir
- \CurrentControlSet\Control\CrashControl\Overwrite
- \CurrentControlSet\Control\CrashControl\SendAlert
condition: selection
falsepositives:
- Forensic, BSOD investigation
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Image|endswith: \wmiprvse.exe
EventType: SetValue
TargetObject|endswith:
- \CurrentControlSet\Control\CrashControl\AutoReboot
- \CurrentControlSet\Control\CrashControl\CrashDumpEnabled
- \CurrentControlSet\Control\CrashControl\DumpFile
- \CurrentControlSet\Control\CrashControl\KernelDumpOnly
- \CurrentControlSet\Control\CrashControl\LogEvent
- \CurrentControlSet\Control\CrashControl\MiniDumpDir
- \CurrentControlSet\Control\CrashControl\Overwrite
- \CurrentControlSet\Control\CrashControl\SendAlert
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
EventType | eq |
|
Image | ends_with |
|
TargetObject | ends_with |
|