Skip to content

Siemphony is in beta and still being built. What ships today, and what does not.

Siemphony’s repertoire

LOLBAS process reports a sensitive system process as its parent

Siemphony@siemphonymediumT1134.004unverified
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

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.