Detection rules › Splunk
Kernel Service Installed - Windows (Windows Event Log)
Adversaries may bring a signed vulnerable driver onto a compromised machine so that they can exploit the vulnerability to execute code in kernel mode. This process is sometimes referred to as Bring Your Own Vulnerable Driver (BYOVD). Adversaries may include the vulnerable driver with files delivered during Initial Access or download it to a compromised system via Ingress Tool Transfer or Lateral Tool Transfer. The use case detects Windows System Event ID 7045 with .sys file type.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Privilege Escalation |
References
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Service-Control-Manager | Event ID 7045: A service was installed in the system. |
Rule body
id: '30490.54568'
title: Kernel Service Installed - Windows
description: Adversaries may bring a signed vulnerable driver onto a compromised machine
so that they can exploit the vulnerability to execute code in kernel mode. This
process is sometimes referred to as Bring Your Own Vulnerable Driver (BYOVD). Adversaries
may include the vulnerable driver with files delivered during Initial Access or
download it to a compromised system via Ingress Tool Transfer or Lateral Tool Transfer.
The use case detects Windows System Event ID 7045 with .sys file type.
logic_format: Splunk
logic: '`get_endpoint_data` `get_endpoint_data_winevent` ((EventCode=7045) OR ">7045</EventID>")
".sys" | table _time, host, user, signature_id, process_name, ServiceName, ServiceType,
ImagePath | bin span=1s | stats values(*) as * by _time, host '
techniques:
- persistence:create or modify system process:windows service
- privilege-escalation:exploitation for privilege escalation
technique_id:
- T1543.003
- T1068
data_category:
- Windows event logs
references:
- https://techcommunity.microsoft.com/t5/microsoft-security-experts-blog/strategies-to-monitor-and-prevent-vulnerable-driver-attacks/ba-p/4103985
- https://www.loldrivers.io/
- https://attack.mitre.org/techniques/T1068/
- https://attack.mitre.org/techniques/T1543/003/
Stages and Predicates
Stage 1: search
`get_endpoint_data` `get_endpoint_data_winevent` ((EventCode=7045) OR ">7045</EventID>") ".sys"
Stage 2: table
| table _time, host, user, signature_id, process_name, ServiceName, ServiceType, ImagePath
Stage 3: bucket
| bin span=1s
Stage 4: stats
| stats values(*) as * by _time, host
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventCode | eq |
| field:"EventID" kind:eq value:"7045" |
Search terms
These SPL tokens match against raw event text.
| Stage | Term |
|---|---|
| 1 | ">7045</EventID>" |
| 1 | ".sys" |