Detection rules › Splunk
Windows Suspicious Child Process of TieringEngineService.exe
Detects the RedSun privilege escalation exploit delivering a SYSTEM-level shell to the attacker's session. RedSun replaces the legitimate TieringEngineService.exe with a malicious binary, which launches a process as SYSTEM, usually some sort of shell or shell spawner (conhost.exe, cmd.exe, PowerShell, etc.) in the attacker's active session.
Known false positives
- No false positives have been identified at this time.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule body
name: Windows Suspicious Child Process of TieringEngineService.exe
id: 69edec6c-877e-4423-9b9b-025b589123a8
version: 1
creation_date: '2026-05-01'
modification_date: '2026-05-01'
author: Raven Tait, Splunk
status: production
type: TTP
description: |-
Detects the RedSun privilege escalation exploit delivering a SYSTEM-level shell to the attacker's session.
RedSun replaces the legitimate TieringEngineService.exe with a malicious binary, which launches a process as SYSTEM, usually some sort of shell or shell spawner (conhost.exe, cmd.exe, PowerShell, etc.) in the attacker's active session.
data_source:
- Sysmon EventID 1
- Windows Event Log Security 4688
- CrowdStrike ProcessRollup2
search: |
| tstats `security_content_summariesonly`
count min(_time) as firstTime
max(_time) as lastTime
FROM datamodel=Endpoint.Processes WHERE
Processes.parent_process_name="TieringEngineService.exe"
(
Processes.process IN (
"*bitsadmin.exe*",
"*cmd.exe*",
"*conhost.exe*",
"*cscript.exe*",
"*curl.exe*",
"*powershell.exe*",
"*pwsh.exe*",
"*rundll32.exe*",
"*wmic.exe*"
)
OR
Processes.process_name IN (
"bitsadmin.exe",
"cmd.exe",
"conhost.exe",
"cscript.exe",
"curl.exe",
"powershell.exe",
"pwsh.exe",
"rundll32.exe",
"wmic.exe"
)
)
Processes.user IN (
"*AUTHORITY*",
"*System*"
)
BY Processes.dest Processes.user Processes.original_file_name
Processes.parent_process Processes.process_name Processes.process
Processes.process_id Processes.parent_process_id
Processes.parent_process_name action
parent_process_exec parent_process_guid
parent_process_path process_exec process_guid
process_hash process_integrity_level
process_path user_id vendor_product
| `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_suspicious_child_process_of_tieringengineservice_exe_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: |-
No false positives have been identified at this time.
references:
- https://github.com/Nightmare-Eclipse/RedSun
- https://www.huntress.com/blog/nightmare-eclipse-intrusion
finding:
title: Possible suspicious child process $process_path$ spawned from $parent_process_path$ on $dest$
entity:
field: dest
type: system
score: 50
threat_objects:
- field: parent_process_name
type: parent_process_name
- field: process
type: process
- field: process_name
type: process_name
analytic_story:
- RedSun
- Windows Privilege Escalation
asset_type: Endpoint
mitre_attack_id:
- T1068
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
cve:
- CVE-2026-33825
Stages and Predicates
Stage 1: tstats
| tstats `security_content_summariesonly`
count min(_time) as firstTime
max(_time) as lastTime
FROM datamodel=Endpoint.Processes WHERE
Processes.parent_process_name="TieringEngineService.exe"
(
Processes.process IN (
"*bitsadmin.exe*",
"*cmd.exe*",
"*conhost.exe*",
"*cscript.exe*",
"*curl.exe*",
"*powershell.exe*",
"*pwsh.exe*",
"*rundll32.exe*",
"*wmic.exe*"
)
OR
Processes.process_name IN (
"bitsadmin.exe",
"cmd.exe",
"conhost.exe",
"cscript.exe",
"curl.exe",
"powershell.exe",
"pwsh.exe",
"rundll32.exe",
"wmic.exe"
)
)
Processes.user IN (
"*AUTHORITY*",
"*System*"
)
BY Processes.dest Processes.user Processes.original_file_name
Processes.parent_process Processes.process_name Processes.process
Processes.process_id Processes.parent_process_id
Processes.parent_process_name action
parent_process_exec parent_process_guid
parent_process_path process_exec process_guid
process_hash process_integrity_level
process_path user_id vendor_product
Stage 2: search
| `drop_dm_object_name(Processes)`
Stage 3: search
| `security_content_ctime(firstTime)`
Stage 4: search
| `security_content_ctime(lastTime)`
Stage 5: search
| `windows_suspicious_child_process_of_tieringengineservice_exe_filter`
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Processes.parent_process_name | eq |
| field:"parent_process_name" kind:eq |
Processes.process | in |
| field:"CommandLine" kind:in |
Processes.process_name | in |
| field:"process_name" kind:in |
Processes.user | in |
| field:"user" kind:in |