Skip to content

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

Siemphony’s repertoire

Script host or proxy binary connecting to a message broker port

Siemphony@siemphonylowT1071.005unverified
AN0002's Windows leg reduced to what a single Sysmon EventID 3 record can carry: an outbound connection to a publish/subscribe broker service port opened by a scripting engine or a signed proxy binary rather than by an application that has any business speaking MQTT, AMQP, XMPP or STOMP. `Initiated`, `Image` and `DestinationPort` are all network-connection fields, so the selection evaluates on one event and no process-creation field is mixed in. Every process listed here opens its own socket, so EventID 3 names it — the port list is MITRE's ProtocolPortList knob, which names 1883, 5222 and 5672, populated here with their TLS counterparts and the STOMP pair, and the process list is the UnusualProcessList knob populated with script hosts and download-capable signed binaries. The rule sees a connection and nothing of its contents, so it cannot tell C2 topics from telemetry, cannot express the beaconing interval the analytic's TimeWindow knob describes, and misses any broker reached on a port outside the list — the protocol content legs of the strategy need Zeek mqtt.log or xmpp.log, which this log source is not. Requires Sysmon installed with network-connection logging enabled and not trimmed to a short port allowlist; it is absent from a bare Windows install and filtered hard in most shipped configurations, so an empty result means blind, not clean. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0002, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 2 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

Splunk · SPL

Run this as a search.

index=* (Initiated="true" AND (Image="*\\powershell.exe" OR Image="*\\pwsh.exe" OR Image="*\\python.exe" OR Image="*\\pythonw.exe" OR Image="*\\node.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe" OR Image="*\\mshta.exe" OR Image="*\\rundll32.exe" OR Image="*\\regsvr32.exe") AND (DestinationPort="1883" OR DestinationPort="8883" OR DestinationPort="5672" OR DestinationPort="5671" OR DestinationPort="5222" OR DestinationPort="5223" OR DestinationPort="61613" OR DestinationPort="61614"))

Wazuh · XML rule

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

<group name="sigma,windows,network_connection,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <rule id="100000" level="5">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="Initiated" type="pcre2">(?i)^true$</field>    <field name="Image" type="pcre2">(?i)(\\powershell\.exe$|\\pwsh\.exe$|\\python\.exe$|\\pythonw\.exe$|\\node\.exe$|\\wscript\.exe$|\\cscript\.exe$|\\mshta\.exe$|\\rundll32\.exe$|\\regsvr32\.exe$)</field>    <field name="DestinationPort" type="pcre2">(?i)(^1883$|^8883$|^5672$|^5671$|^5222$|^5223$|^61613$|^61614$)</field>    <description>Script host or proxy binary connecting to a message broker port</description>    <mitre>      <id>T1071.005</id>    </mitre>  </rule></group>

Sentinel · KQL

Run this as a search.

Sentinel cannot express this construct. `Initiated` has no Sentinel column: Defender expresses connection direction in `ActionType`, not as a boolean column, so `Initiated` cannot be renamed — it needs a different predicate. The Sigma source is on the first tab, unchanged.

Elastic · ES|QL

Run this as a search.

Elastic cannot express this construct. `Initiated` has no ECS field: ECS expresses connection direction as `network.direction` with values like `egress`, not as a boolean, so `Initiated` needs a different predicate rather than a rename. The Sigma source is on the first tab, unchanged.

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.