Skip to content

Commit dcab3fc

Browse files
committed
feat(rules): New Windows Defender driver unloading rule
Detects the unloading of Windows Defender kernel-mode drivers, such as WdFilter.sys or WdBoot.sys, which may indicate an attempt to impair or disable antivirus protections. Adversaries may unload these drivers to bypass or disable real-time scanning, file system filtering, or ELAM (Early Launch Anti-Malware) protections. Legitimate driver unloads are rare and should be investigated to rule out malicious tampering or post-exploitation activity.
1 parent 2359390 commit dcab3fc

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Windows Defender driver unloading
2+
id: c9b93fbc-8845-4f39-a74b-26862615432c
3+
version: 1.0.0
4+
description: |
5+
Detects the unloading of Windows Defender kernel-mode drivers, such as WdFilter.sys or WdBoot.sys,
6+
which may indicate an attempt to impair or disable antivirus protections.
7+
Adversaries may unload these drivers to bypass or disable real-time scanning, file system filtering,
8+
or ELAM (Early Launch Anti-Malware) protections. Legitimate driver unloads are rare and should be
9+
investigated to rule out malicious tampering or post-exploitation activity.
10+
labels:
11+
tactic.id: TA0005
12+
tactic.name: Defense Evasion
13+
tactic.ref: https://attack.mitre.org/tactics/TA0005/
14+
technique.id: T1562
15+
technique.name: Impair Defenses
16+
technique.ref: https://attack.mitre.org/techniques/T1562/
17+
subtechnique.id: T1562.001
18+
subtechnique.name: Disable or Modify Tools
19+
subtechnique.ref: https://attack.mitre.org/techniques/T1562/001
20+
21+
condition: >
22+
unload_driver and image.path imatches ('?:\\Windows\\System32\\drivers\\wd\\*.sys', '?:\\Windows\\System32\\drivers\\Wd*.sys')
23+
24+
output: >
25+
Windows Defender driver %image.path unloaded by process %ps.exe
26+
severity: high
27+
28+
min-engine-version: 3.0.0

rules/macros/macros.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
watching for driver objects being created.
136136
137137
- macro: unload_driver
138-
expr: unload_image and (image.name iendswith '.sys' or image.is_driver)
138+
expr: unload_module and (image.name iendswith '.sys' or image.is_driver)
139139

140140
- macro: load_unsigned_module
141141
expr: >

0 commit comments

Comments
 (0)