Detection rules › Splunk
Windows Vulnerable Driver Loaded
The following analytic detects the loading of known vulnerable Windows drivers, which may indicate potential persistence or privilege escalation attempts. It leverages Sysmon EventCode 6 to identify driver loading events and cross-references them with a list of vulnerable drivers. This activity is significant as attackers often exploit vulnerable drivers to gain elevated privileges or maintain persistence on a system. If confirmed malicious, this could allow attackers to execute arbitrary code with high privileges, leading to further system compromise and potential data exfiltration.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | T1543.003 Create or Modify System Process: Windows Service |
| Privilege Escalation | T1543.003 Create or Modify System Process: Windows Service |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Sysmon | Event ID 6 | Driver loaded |
Rule body splunk
name: Windows Vulnerable Driver Loaded
id: a2b1f1ef-221f-4187-b2a4-d4b08ec745f4
version: 10
creation_date: '2022-12-31'
modification_date: '2026-05-13'
author: Michael Haag, Splunk
status: production
type: Hunting
description: The following analytic detects the loading of known vulnerable Windows drivers, which may indicate potential persistence or privilege escalation attempts. It leverages Sysmon EventCode 6 to identify driver loading events and cross-references them with a list of vulnerable drivers. This activity is significant as attackers often exploit vulnerable drivers to gain elevated privileges or maintain persistence on a system. If confirmed malicious, this could allow attackers to execute arbitrary code with high privileges, leading to further system compromise and potential data exfiltration.
data_source:
- Sysmon EventID 6
search: |-
`sysmon` EventCode=6
| stats min(_time) as firstTime max(_time) as lastTime count
BY ImageLoaded dest dvc
process_hash process_path signature
signature_id user_id vendor_product
| lookup loldrivers driver_name AS ImageLoaded OUTPUT is_driver driver_description
| search is_driver = TRUE
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_vulnerable_driver_loaded_filter`
how_to_implement: Sysmon collects driver loads via EventID 6, however you may modify the query to utilize this lookup to identify potentially persistent drivers that are known to be vulnerable.
known_false_positives: False positives will be present. Drill down into the driver further by version number and cross reference by signer. Review the reference material in the lookup. In addition, modify the query to look within specific paths, which will remove a lot of "normal" drivers.
references:
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/driver_load/driver_load_vuln_drivers_names.yml
- https://github.com/eclypsium/Screwed-Drivers/blob/master/DRIVERS.md
- https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-driver-block-rules
- https://www.rapid7.com/blog/post/2021/12/13/driver-based-attacks-past-and-present/
- https://github.com/jbaines-r7/dellicious
- https://github.com/MicrosoftDocs/windows-itpro-docs/blob/public/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-driver-block-rules.md
- https://github.com/namazso/physmem_drivers
- https://github.com/stong/CVE-2020-15368
- https://github.com/CaledoniaProject/drivers-binaries
- https://github.com/Chigusa0w0/AsusDriversPrivEscala
- https://www.welivesecurity.com/2022/01/11/signed-kernel-drivers-unguarded-gateway-windows-core/
- https://eclypsium.com/2019/11/12/mother-of-all-drivers/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-37969
analytic_story:
- Windows Drivers
- BlackByte Ransomware
- Void Manticore
asset_type: Endpoint
mitre_attack_id:
- T1543.003
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1014/windows-sysmon.log
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
sourcetype: XmlWinEventLog
test_type: unit
Stages and Predicates
Stage 1: search
`sysmon` EventCode=6
Stage 2: stats
| stats min(_time) as firstTime max(_time) as lastTime count
BY ImageLoaded dest dvc
process_hash process_path signature
signature_id user_id vendor_product
Stage 3: lookup
| lookup loldrivers driver_name AS ImageLoaded OUTPUT is_driver driver_description
Stage 4: search
| search is_driver = TRUE
Stage 5: search
| `security_content_ctime(firstTime)`
Stage 6: search
| `security_content_ctime(lastTime)`
Stage 7: search
| `windows_vulnerable_driver_loaded_filter`
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.