RedSun - Conhost.exe Spawned by TieringEngineService.exe
Detects two stages of the RedSun post-exploitation process chain that deliver a SYSTEM-level shell to the attacker's interactive session. Observed process chain services.exe → TieringEngineService.exe → conhost.exe (SYSTEM, CommandLine: bare path, no arguments) → cmd.exe / shell (SYSTEM, TerminalSessionId = attacker's session)
Stage 1 — TieringEngineService.exe spawns argument-less conhost.exe: After winning the oplock + Cloud Files mount point race, the malicious TieringEngineService.exe (RedSun.exe copied to System32, started via CoCreateInstance / services.exe) detects it is NT AUTHORITY\SYSTEM and calls LaunchConsoleInSessionId(). This opens \.\pipe\REDSUN, reads the attacker's session ID, duplicates the SYSTEM token, re-stamps it with that session ID via SetTokenInformation(TokenSessionId), then calls CreateProcessAsUser to spawn conhost.exe with no arguments.
Stage 2 — Shell spawned from rogue conhost.exe (EDR sources with GrandParentImage): The rogue SYSTEM conhost.exe spawns a shell (cmd.exe, PowerShell, etc.) as SYSTEM in the attacker's interactive session. On EDR sources that expose GrandParentImage, the full three-level chain (TieringEngineService.exe → conhost.exe → shell) can be matched directly. The legitimate TieringEngineService.exe is a headless COM server that is unlikely to spawn conhost.exe under normal conditions.
Sigma rule (View on GitHub)
1title: RedSun - Conhost.exe Spawned by TieringEngineService.exe
2id: 2ad78473-6978-40f5-b8f1-89c7e1c27a1a
3status: experimental
4description: |
5 Detects two stages of the RedSun post-exploitation process chain that deliver a SYSTEM-level shell to the attacker's interactive session.
6 Observed process chain
7 services.exe
8 → TieringEngineService.exe
9 → conhost.exe (SYSTEM, CommandLine: bare path, no arguments)
10 → cmd.exe / shell (SYSTEM, TerminalSessionId = attacker's session)
11
12 Stage 1 — TieringEngineService.exe spawns argument-less conhost.exe:
13 After winning the oplock + Cloud Files mount point race, the malicious TieringEngineService.exe (RedSun.exe copied to System32, started via CoCreateInstance
14 / services.exe) detects it is NT AUTHORITY\SYSTEM and calls LaunchConsoleInSessionId().
15 This opens \\.\pipe\REDSUN, reads the attacker's session ID, duplicates the SYSTEM token, re-stamps it with that session ID via SetTokenInformation(TokenSessionId), then
16 calls CreateProcessAsUser to spawn conhost.exe with no arguments.
17
18 Stage 2 — Shell spawned from rogue conhost.exe (EDR sources with GrandParentImage):
19 The rogue SYSTEM conhost.exe spawns a shell (cmd.exe, PowerShell, etc.) as SYSTEM in the attacker's interactive session.
20 On EDR sources that expose GrandParentImage, the full three-level chain (TieringEngineService.exe → conhost.exe → shell) can be matched directly.
21 The legitimate TieringEngineService.exe is a headless COM server that is unlikely to spawn conhost.exe under normal conditions.
22references:
23 - https://github.com/Nightmare-Eclipse/RedSun
24author: Swachchhanda Shrawan Poudel (Nextron Systems), @unresolvedhost
25date: 2026-04-17
26tags:
27 - attack.privilege-escalation
28 - attack.stealth
29 - attack.t1134.002
30 - attack.t1036.005
31 - detection.emerging-threats
32logsource:
33 category: process_creation
34 product: windows
35 definition: 'Requirements: By default the process_creation type event might not contain the GrandParentImage. Make sure you collect such fields in order to use this rule'
36detection:
37 # Stage 1: TieringEngineService.exe (malicious) spawns conhost.exe with no arguments
38 selection_tiering_to_conhost:
39 ParentImage|endswith: '\TieringEngineService.exe'
40 Image|endswith: '\conhost.exe'
41 CommandLine|endswith: 'conhost.exe"'
42 User|contains:
43 - 'AUTHORI'
44 - 'AUTORI'
45 - '$'
46 # Stage 2: full three-level chain for EDR sources that expose GrandParentImage
47 # GrandParent=TieringEngineService.exe, Parent=conhost.exe, Image=shell process
48 selection_shell_full_chain:
49 GrandParentImage|endswith: '\TieringEngineService.exe'
50 ParentImage|endswith: '\conhost.exe'
51 Image|endswith:
52 - '\cmd.exe'
53 - '\powershell_ise.exe'
54 - '\powershell.exe'
55 - '\pwsh.exe'
56 User|contains:
57 - 'AUTHORI'
58 - 'AUTORI'
59 - '$'
60 condition: 1 of selection_*
61falsepositives:
62 - Unknown
63level: high
References
Related rules
- RedSun - TieringEngineService.exe Detected as EICAR Test File
- APT PRIVATELOG Image Load Pattern
- APT27 - Emissary Panda Activity
- Antivirus PrinterNightmare CVE-2021-34527 Exploit Detection
- Atomic MacOS Stealer - Persistence Indicators