Detection rules › Splunk
Windows Non-System Process Querying Definition Update
Detects DNS queries to definitionupdates.microsoft.com or the go.microsoft.com fwlink redirect used for WD update downloads, when the querying process is not a Windows system component. BlueHammer utilizes these definition updates as part of its exploit chain.
Known false positives
- Legitimate third-party applications or security tools may query these update domains for Windows Defender updates. Filter alerts for trusted software and verified update mechanisms.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation | |
| Command & Control |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 22: DNSEvent (DNS query) |
Rule body
name: Windows Non-System Process Querying Definition Update
id: 9d375cfd-c9a5-48ff-b875-9bcaf6b63265
version: 1
creation_date: '2026-04-27'
modification_date: '2026-04-27'
author: Raven Tait, Splunk
status: production
type: Anomaly
description: |-
Detects DNS queries to definitionupdates.microsoft.com or the go.microsoft.com fwlink redirect used for WD update downloads, when the querying process is not a Windows system component. BlueHammer utilizes these definition updates as part of its exploit chain.
data_source:
- Sysmon EventID 22
search: |-
`sysmon`
EventID="22"
QueryName="*definitionupdates.microsoft.com*"
NOT Image IN (
"*:\\Program Files\\Microsoft Office\\*",
"*:\\Program Files\\Windows Defender\\*",
"*:\\ProgramData\\Microsoft\\Windows Defender\\*",
"*:\\Windows\\System32\\*",
"*:\\Windows\\SysWOW64\\*"
)
| stats count min(_time) as firstTime max(_time) as lastTime BY answer answer_count dvc Computer process_exec process_guid process_name query query_count reply_code_id signature signature_id src user_id vendor_product QueryName QueryResults QueryStatus
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| rename Computer as dest
| `windows_non_system_process_querying_definition_update_filter`
how_to_implement: |-
The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process GUID, process name, and parent process. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
known_false_positives: |-
Legitimate third-party applications or security tools may query these update domains for Windows Defender updates. Filter alerts for trusted software and verified update mechanisms.
references:
- https://github.com/Nightmare-Eclipse/BlueHammer
intermediate_findings:
entities:
- field: dest
type: system
score: 20
message: Non-System process $Image$ queried Windows Defender Definition Updates domain $QueryName$ on $dest$.
threat_objects:
- field: process_name
type: process_name
analytic_story:
- Windows Privilege Escalation
- BlueHammer
- RedSun
asset_type: Endpoint
mitre_attack_id:
- T1068
- T1071.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
cve:
- CVE-2026-33825
Stages and Predicates
Stage 1: search
`sysmon`
EventID="22"
QueryName="*definitionupdates.microsoft.com*"
NOT Image IN (
"*:\\Program Files\\Microsoft Office\\*",
"*:\\Program Files\\Windows Defender\\*",
"*:\\ProgramData\\Microsoft\\Windows Defender\\*",
"*:\\Windows\\System32\\*",
"*:\\Windows\\SysWOW64\\*"
)
Stage 2: stats
| stats count min(_time) as firstTime max(_time) as lastTime BY answer answer_count dvc Computer process_exec process_guid process_name query query_count reply_code_id signature signature_id src user_id vendor_product QueryName QueryResults QueryStatus
Stage 3: search
| `security_content_ctime(firstTime)`
Stage 4: search
| `security_content_ctime(lastTime)`
Stage 5: rename
| rename Computer as dest
Stage 6: search
| `windows_non_system_process_querying_definition_update_filter`
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Image | in | "*:\\Program Files\\Microsoft Office\\*", "*:\\Program Files\\Windows Defender\\*", "*:\\ProgramData\\Microsoft\\Windows Defender\\*", "*:\\Windows\\SysWOW64\\*", "*:\\Windows\\System32\\*" | excludes:Image |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventID | eq |
| field:"EventID" kind:eq |
QueryName | eq |
| field:"QueryName" kind:eq |