Skip to content

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

Siemphony’s repertoire

Core system binary started by an unexpected parent

Siemphony@siemphonymediumT1055.012unverified
AN1076 describes the hollowing sequence — CreateProcess with CREATE_SUSPENDED, NtUnmapViewOfSection, VirtualAllocEx and WriteProcessMemory, then SetThreadContext and ResumeThread — and none of the three log sources in the strategy carries any step of it. Sysmon EventID 1 has no field for process creation flags, so the suspended start is invisible; EventID 10 does not fire because the injector creates the victim itself and already holds the handle, so it never calls OpenProcess; EventID 8 does not fire because execution resumes the child's existing primary thread rather than creating a remote one. What remains observable is the decoy itself, which is what MITRE's HollowedImageNamePattern knob points at, populated here not with a name list but with the small set of Windows binaries that have exactly one legitimate creator — svchost.exe and spoolsv.exe come from services.exe, lsass.exe and services.exe from wininit.exe, csrss.exe, wininit.exe and winlogon.exe from smss.exe — so any other parent is an anomaly on its face. The rule is written in Sysmon EventID 1 vocabulary (Image, ParentImage); on Security 4688 the equivalent fields are NewProcessName and ParentProcessName and Audit Process Creation must be enabled first, a mapping this rule does not carry. Prerequisite: Sysmon is not present in a default install. Two limits are structural: a hit is evidence of an anomalous launch, not of hollowing — masquerading under a system binary name produces the identical event — and a hollowed process created under a plausible parent, or hollowed into a decoy outside this list, is missed entirely. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0382, 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 "\\svchost.exe" or FolderPath endswith "\\spoolsv.exe" or FolderPath endswith "\\lsass.exe" or FolderPath endswith "\\services.exe" or FolderPath endswith "\\csrss.exe" or FolderPath endswith "\\wininit.exe" or FolderPath endswith "\\winlogon.exe") and not ((InitiatingProcessFolderPath endswith "\\services.exe" or InitiatingProcessFolderPath endswith "\\wininit.exe" or InitiatingProcessFolderPath endswith "\\smss.exe")))

Splunk · SPL

Run this as a search.

index=* ((Image="*\\svchost.exe" OR Image="*\\spoolsv.exe" OR Image="*\\lsass.exe" OR Image="*\\services.exe" OR Image="*\\csrss.exe" OR Image="*\\wininit.exe" OR Image="*\\winlogon.exe") AND NOT ((ParentImage="*\\services.exe" OR ParentImage="*\\wininit.exe" OR ParentImage="*\\smss.exe")))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.executable) LIKE "*\\\\svchost.exe" OR TO_LOWER(process.executable) LIKE "*\\\\spoolsv.exe" OR TO_LOWER(process.executable) LIKE "*\\\\lsass.exe" OR TO_LOWER(process.executable) LIKE "*\\\\services.exe" OR TO_LOWER(process.executable) LIKE "*\\\\csrss.exe" OR TO_LOWER(process.executable) LIKE "*\\\\wininit.exe" OR TO_LOWER(process.executable) LIKE "*\\\\winlogon.exe") AND NOT ((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")))

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)(\\svchost\.exe$|\\spoolsv\.exe$|\\lsass\.exe$|\\services\.exe$|\\csrss\.exe$|\\wininit\.exe$|\\winlogon\.exe$)</field>    <field name="ParentImage" negate="yes" type="pcre2">(?i)(\\services\.exe$|\\wininit\.exe$|\\smss\.exe$)</field>    <description>Core system binary started by an unexpected parent</description>    <mitre>      <id>T1055.012</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.