Detection rules › Splunk

Windows Suspicious Child Process of TieringEngineService.exe

Status
production
Severity
medium
Group by
IntegrityLevel, action, command_line, computer_name, original_file_name, parent_command_line, parent_process_guid, parent_process_id, parent_process_name, process_guid, process_hash, process_id, process_name, user, user_id, vendor_product
Author
Raven Tait, Splunk
Source
github.com/splunk/security_content

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

TacticTechniques
Privilege Escalation

Telemetry coverage

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.

FieldKindValuesSearch
Processes.parent_process_nameeq
  • "TieringEngineService.exe"
field:"parent_process_name" kind:eq
Processes.processin
  • "*bitsadmin.exe*"
  • "*cmd.exe*" corpus 4 (sigma 3, splunk 1)
  • "*conhost.exe*"
  • "*cscript.exe*" corpus 2 (sigma 1, splunk 1)
  • "*curl.exe*"
  • "*powershell.exe*" corpus 2 (sigma 2)
  • "*pwsh.exe*" corpus 2 (sigma 2)
  • "*rundll32.exe*" corpus 8 (sigma 8)
  • "*wmic.exe*" corpus 2 (sigma 2)
field:"CommandLine" kind:in
Processes.process_namein
  • "bitsadmin.exe" corpus 23 (elastic 21, splunk 2)
  • "cmd.exe" corpus 121 (elastic 92, splunk 29)
  • "conhost.exe" corpus 12 (elastic 11, splunk 1)
  • "cscript.exe" corpus 67 (elastic 65, splunk 2)
  • "curl.exe" corpus 34 (elastic 31, splunk 3)
  • "powershell.exe" corpus 184 (elastic 140, splunk 44)
  • "pwsh.exe" corpus 77 (elastic 48, splunk 29)
  • "rundll32.exe" corpus 126 (elastic 100, splunk 26)
  • "wmic.exe" corpus 66 (elastic 39, splunk 27)
field:"process_name" kind:in
Processes.userin
  • "*AUTHORITY*"
  • "*System*"
field:"user" kind:in