Detection rules › Splunk
Windows BootLoader Inventory
The following analytic identifies the bootloader paths on Windows endpoints. It leverages a PowerShell Scripted input to capture this data, which is then processed and aggregated using Splunk. Monitoring bootloader paths is significant for a SOC as it helps detect unauthorized modifications that could indicate bootkits or other persistent threats. If confirmed malicious, such activity could allow attackers to maintain persistence, bypass security controls, and potentially control the boot process, leading to full system compromise.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | T1542.001 Pre-OS Boot: System Firmware |
| Stealth | T1542.001 Pre-OS Boot: System Firmware |
Rule body splunk
name: Windows BootLoader Inventory
id: 4f7e3913-4db3-4ccd-afe4-31198982305d
version: 8
creation_date: '2023-04-14'
modification_date: '2026-05-13'
author: Michael Haag, Splunk
status: experimental
type: Hunting
description: The following analytic identifies the bootloader paths on Windows endpoints. It leverages a PowerShell Scripted input to capture this data, which is then processed and aggregated using Splunk. Monitoring bootloader paths is significant for a SOC as it helps detect unauthorized modifications that could indicate bootkits or other persistent threats. If confirmed malicious, such activity could allow attackers to maintain persistence, bypass security controls, and potentially control the boot process, leading to full system compromise.
data_source: []
search: |-
`bootloader_inventory`
| stats count min(_time) as firstTime max(_time) as lastTime values(_raw)
BY host
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_bootloader_inventory_filter`
how_to_implement: To implement this analytic, a new stanza will need to be added to a inputs.conf and deployed to all or some Windows endpoints. https://gist.github.com/MHaggis/26518cd2844b0e03de6126660bb45707 provides the stanza. If modifying the sourcetype, be sure to update the Macro for this analytic. Recommend running it daily, or weekly, depending on threat model.
known_false_positives: No false positives here, only bootloaders. Filter as needed or create a lookup as a baseline.
references:
- https://gist.github.com/MHaggis/26518cd2844b0e03de6126660bb45707
- https://www.microsoft.com/en-us/security/blog/2023/04/11/guidance-for-investigating-attacks-using-cve-2022-21894-the-blacklotus-campaign/
analytic_story:
- BlackLotus Campaign
- Windows BootKits
asset_type: Endpoint
mitre_attack_id:
- T1542.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
Stages and Predicates
Stage 1: search
`bootloader_inventory`
Stage 2: stats
| stats count min(_time) as firstTime max(_time) as lastTime values(_raw)
BY host
Stage 3: search
| `security_content_ctime(firstTime)`
Stage 4: search
| `security_content_ctime(lastTime)`
Stage 5: search
| `windows_bootloader_inventory_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.
| Field | Kind | Values |
|---|---|---|
sourcetype | eq |
|