Skip to content

Siemphony is in beta and still being built. How a rule earns its badge.

Siemphony’s repertoire

LOLBAS process reports a sensitive system process as its parent

AN1351's actual observable is a mismatch across three independent lineage sources — ETW EventHeader ProcessId, Security 4688 Creator Process ID/Name and Sysmon ParentProcessGuid — but the brief supplies only one of those three (Security 4688), so no cross-source mismatch can be computed here; once PPID spoofing succeeds, 4688's own ParentProcessName field reports exactly the forged value, indistinguishable within that single event from a genuine parent. What this rule detects instead is MITRE's SensitiveParents knob turned into a plausibility check: it names lsass.exe, services.exe and wininit.exe as the example SYSTEM processes whose spoofed use "auto- escalates severity"; this rule adds smss.exe and csrss.exe, the two other session/boot-manager processes in the same trust tier, none of which legitimately parents an interactive shell or a LOLBAS binary. A match here means either a genuinely forged PPID pointing at one of these five, or one of the narrower legitimate exceptions named below — the rule cannot tell the two apart, since both produce the same 4688 record. It also cannot see the UpdateProcThreadAttribute/PROC_THREAD_ATTRIBUTE_PARENT_PROCESS call itself, or a spoofed PPID pointing at an ordinary (non-sensitive) process such as explorer.exe, which is the case MITRE's own example (a document spawning PowerShell spoofed to look like it came from explorer.exe) — that variant is indistinguishable from the enormous volume of processes explorer legitimately parents and is not attempted. Prerequisite: 4688 needs *Audit Process Creation* enabled; it is off by default and in the CIS baseline. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0489, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.

detection.yml

title: LOLBAS process reports a sensitive system process as its parentid: dad089c3-608a-4dc6-95f7-3484a63522ddstatus: experimentaldescription: |  AN1351's actual observable is a mismatch across three independent lineage  sources — ETW EventHeader ProcessId, Security 4688 Creator Process ID/Name  and Sysmon ParentProcessGuid — but the brief supplies only one of those  three (Security 4688), so no cross-source mismatch can be computed here;  once PPID spoofing succeeds, 4688's own ParentProcessName field reports  exactly the forged value, indistinguishable within that single event from a  genuine parent. What this rule detects instead is MITRE's SensitiveParents  knob turned into a plausibility check: it names lsass.exe, services.exe and  wininit.exe as the example SYSTEM processes whose spoofed use "auto-  escalates severity"; this rule adds smss.exe and csrss.exe, the two other  session/boot-manager processes in the same trust tier, none of which  legitimately parents an interactive shell or a LOLBAS binary. A match here  means either a genuinely forged PPID pointing at one of these five, or one  of the narrower legitimate exceptions named below — the rule cannot tell  the two apart, since both produce the same 4688 record. It also cannot see  the UpdateProcThreadAttribute/PROC_THREAD_ATTRIBUTE_PARENT_PROCESS call  itself, or a spoofed PPID pointing at an ordinary (non-sensitive) process  such as explorer.exe, which is the case MITRE's own example (a document  spawning PowerShell spoofed to look like it came from explorer.exe) — that  variant is indistinguishable from the enormous volume of processes explorer  legitimately parents and is not attempted. Prerequisite: 4688 needs *Audit  Process Creation* enabled; it is off by default and in the CIS baseline.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0489, not hand-written and not tested by its author. Any lab result is on this rule's own page.references:  - https://attack.mitre.org/techniques/T1134/004  - https://attack.mitre.org/detectionstrategies/DET0489author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-18tags:  - attack.defense-evasion  - attack.privilege-escalation  - attack.t1134.004logsource:  category: process_creation  product: windowsdetection:  selection_child:    Image|endswith:      - '\cmd.exe'      - '\powershell.exe'      - '\pwsh.exe'      - '\rundll32.exe'      - '\regsvr32.exe'      - '\mshta.exe'      - '\wscript.exe'      - '\cscript.exe'  selection_sensitive_parent:    ParentImage|endswith:      - '\lsass.exe'      - '\services.exe'      - '\wininit.exe'      - '\smss.exe'      - '\csrss.exe'  condition: selection_child and selection_sensitive_parentfalsepositives:  - "Legacy backup, monitoring or scheduled-task services whose ImagePath directly invokes cmd.exe or powershell.exe as the service binary itself, rather than hosting it under svchost.exe — the Service Control Manager (services.exe) is the recorded parent for any such service at every start, and is the single most common benign match for this rule."  - "Component-registration or configuration services deployed by Group Policy or MDM whose service binary is rundll32.exe or regsvr32.exe directly, again parented by services.exe as the Service Control Manager."  - "Windows Recovery Environment, in-place upgrade and system-repair tooling in which smss.exe or wininit.exe transiently parents a command interpreter during very early boot or repair phases — rare, but a documented benign edge case distinct from a running production endpoint."level: medium

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where ((FolderPath endswith "\\cmd.exe" or FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe" or FolderPath endswith "\\rundll32.exe" or FolderPath endswith "\\regsvr32.exe" or FolderPath endswith "\\mshta.exe" or FolderPath endswith "\\wscript.exe" or FolderPath endswith "\\cscript.exe") and (InitiatingProcessFolderPath endswith "\\lsass.exe" or InitiatingProcessFolderPath endswith "\\services.exe" or InitiatingProcessFolderPath endswith "\\wininit.exe" or InitiatingProcessFolderPath endswith "\\smss.exe" or InitiatingProcessFolderPath endswith "\\csrss.exe"))

Splunk · SPL

Run this as a search.

index=* ((Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\pwsh.exe" OR Image="*\\rundll32.exe" OR Image="*\\regsvr32.exe" OR Image="*\\mshta.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe") AND (ParentImage="*\\lsass.exe" OR ParentImage="*\\services.exe" OR ParentImage="*\\wininit.exe" OR ParentImage="*\\smss.exe" OR ParentImage="*\\csrss.exe"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.executable) LIKE "*\\\\cmd.exe" OR TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rundll32.exe" OR TO_LOWER(process.executable) LIKE "*\\\\regsvr32.exe" OR TO_LOWER(process.executable) LIKE "*\\\\mshta.exe" OR TO_LOWER(process.executable) LIKE "*\\\\wscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\cscript.exe") AND (TO_LOWER(process.parent.executable) LIKE "*\\\\lsass.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\services.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\wininit.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\smss.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\csrss.exe"))

Wazuh · XML rule

Deploy to your manager — this is a rule, not a search.

<group name="sigma,windows,process_creation,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <rule id="100000" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Image" type="pcre2">(?i)(\\cmd\.exe$|\\powershell\.exe$|\\pwsh\.exe$|\\rundll32\.exe$|\\regsvr32\.exe$|\\mshta\.exe$|\\wscript\.exe$|\\cscript\.exe$)</field>    <field name="ParentImage" type="pcre2">(?i)(\\lsass\.exe$|\\services\.exe$|\\wininit\.exe$|\\smss\.exe$|\\csrss\.exe$)</field>    <description>LOLBAS process reports a sensitive system process as its parent</description>    <mitre>      <id>T1134.004</id>    </mitre>  </rule></group>

Verdicts · reactions · comments

Community

Verdicts from engineers who actually deployed it, and the conversation around it.

Log in to react
Not yet reported on

Nobody has run this in a real environment and said what happened.

Verdicts from engineers who deployed it

0 cast

No verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.

Log in to report a verdict.

Log in to join the discussion.

No comments yet. Someone who deploys this will have something to say about it.