Skip to content

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

Siemphony’s repertoire

Shell or script host spawned by a remotely activatable COM server

Siemphony@siemphonymediumT1021.003unverified
Catches the execution leg of DCOM lateral movement on the target host: a COM server that can be activated remotely — MMC, an Office application or the COM surrogate — becoming the parent of a command shell, script engine or signed-binary proxy. The parent list populates MITRE's ProcessName tuning knob; the values are ours, chosen for objects whose activation creates a new server process, and the child list is what an operator typically detonates through MMC20.Application.ExecuteShellCommand or an Office Application object. Coverage limits worth stating plainly. ShellWindows and ShellBrowserWindow — the two most widely used DCOM objects — bind to the already-running shell, so the payload is spawned by explorer.exe and this rule is silent on both; explorer.exe is not in the parent list because explorer.exe launching cmd.exe or powershell.exe is ordinary desktop behaviour and would swamp everything else here. Objects that execute in-process leave no child at all — Excel's RegisterXLL loads a DLL into the running excel.exe — and are visible only in the brief's image_load source (Sysmon EventID 7), not in process creation. An operator who names a dropped binary instead of a listed LOLBIN also escapes the child list. wmiprvse.exe is deliberately absent: DCOM underlies WMI remoting, but a WMI provider host spawning a shell is T1047 / T1021.006 and on any estate with management or scanning agents it would supply most of this rule's output under the wrong label. AN0791's first leg — a privileged remote logon and RPC to port 135 shortly before the spawn — is a cross-event correlation over a TimeWindow that Sigma cannot express, so this rule stands on the spawn alone and the analyst should pivot to the matching 4624 type 3 logon by hand; that logon is also the only thing separating this from the T1204 rule (190b7574-8f2d-47cd-b1ed-168a3789ab2e), whose Office parent arm selects the same events from the Execution side. The overlap is intentional, not an accident. Prerequisite: Sysmon EventID 1 is not present in a default install. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0285, 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 ((InitiatingProcessFolderPath endswith "\\mmc.exe" or InitiatingProcessFolderPath endswith "\\excel.exe" or InitiatingProcessFolderPath endswith "\\winword.exe" or InitiatingProcessFolderPath endswith "\\powerpnt.exe" or InitiatingProcessFolderPath endswith "\\outlook.exe" or InitiatingProcessFolderPath endswith "\\visio.exe" or InitiatingProcessFolderPath endswith "\\msaccess.exe" or InitiatingProcessFolderPath endswith "\\dllhost.exe") and (FolderPath endswith "\\cmd.exe" or FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe" or FolderPath endswith "\\wscript.exe" or FolderPath endswith "\\cscript.exe" or FolderPath endswith "\\mshta.exe" or FolderPath endswith "\\rundll32.exe" or FolderPath endswith "\\regsvr32.exe" or FolderPath endswith "\\msiexec.exe" or FolderPath endswith "\\bitsadmin.exe" or FolderPath endswith "\\certutil.exe"))

Splunk · SPL

Run this as a search.

index=* ((ParentImage="*\\mmc.exe" OR ParentImage="*\\excel.exe" OR ParentImage="*\\winword.exe" OR ParentImage="*\\powerpnt.exe" OR ParentImage="*\\outlook.exe" OR ParentImage="*\\visio.exe" OR ParentImage="*\\msaccess.exe" OR ParentImage="*\\dllhost.exe") AND (Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\pwsh.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe" OR Image="*\\mshta.exe" OR Image="*\\rundll32.exe" OR Image="*\\regsvr32.exe" OR Image="*\\msiexec.exe" OR Image="*\\bitsadmin.exe" OR Image="*\\certutil.exe"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.parent.executable) LIKE "*\\\\mmc.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\excel.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\winword.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\powerpnt.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\outlook.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\visio.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\msaccess.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\dllhost.exe") AND (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 "*\\\\wscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\cscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\mshta.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rundll32.exe" OR TO_LOWER(process.executable) LIKE "*\\\\regsvr32.exe" OR TO_LOWER(process.executable) LIKE "*\\\\msiexec.exe" OR TO_LOWER(process.executable) LIKE "*\\\\bitsadmin.exe" OR TO_LOWER(process.executable) LIKE "*\\\\certutil.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="ParentImage" type="pcre2">(?i)(\\mmc\.exe$|\\excel\.exe$|\\winword\.exe$|\\powerpnt\.exe$|\\outlook\.exe$|\\visio\.exe$|\\msaccess\.exe$|\\dllhost\.exe$)</field>    <field name="Image" type="pcre2">(?i)(\\cmd\.exe$|\\powershell\.exe$|\\pwsh\.exe$|\\wscript\.exe$|\\cscript\.exe$|\\mshta\.exe$|\\rundll32\.exe$|\\regsvr32\.exe$|\\msiexec\.exe$|\\bitsadmin\.exe$|\\certutil\.exe$)</field>    <description>Shell or script host spawned by a remotely activatable COM server</description>    <mitre>      <id>T1021.003</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.