Skip to content

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

Siemphony’s repertoire

Netsh helper DLL registered in the Netsh registry key

Siemphony@siemphonymediumT1546.007unverified
Matches a registry value written directly under HKLM\SOFTWARE\Microsoft\Netsh — the persistence half of AN1588. Netsh helper registration has no subkey: each helper is a value whose name is an arbitrary alias and whose data is the DLL path, sitting straight under the Netsh key itself, so the match is a contains on the parent key rather than an endswith on any fixed value name, and it catches the WOW6432Node-redirected key on 64-bit hosts the same way since that prefix sits to the left of the matched substring. AN1588's other half — netsh.exe then spawning a child process or loading the registered module — is a correlation across MITRE's TimeWindow knob that a single registry_set event cannot carry, so only the write is modelled here; a hit is evidence a helper was registered, not that it has run. Vocabulary and prerequisite: this rule is written in the Sysmon-shaped `registry_set` vocabulary, where a single `TargetObject` carries the key path and the value name together. The brief's log source for this observable is Security EventID 4657, which splits the same information across `ObjectName` and `ObjectValueName` — that feed needs a field mapping into `TargetObject` before this logic applies at all, so enabling Audit Registry and a SACL on the Netsh key will not populate the field this rule reads. Against Sysmon (EventID 13), registry monitoring only reports paths the local configuration allowlists, so confirm this key is covered before reading an empty result as clean. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0575, 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.

DeviceRegistryEvents| where RegistryKey contains "\\Microsoft\\Netsh\\"

Splunk · SPL

Run this as a search.

index=* TargetObject="*\\Microsoft\\Netsh\\*"

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE TO_LOWER(registry.path) LIKE "*\\\\microsoft\\\\netsh\\\\*"

Wazuh · XML rule

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

<group name="sigma,windows,registry_set,">  <!-- 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="TargetObject" type="pcre2">(?i)\\Microsoft\\Netsh\\</field>    <description>Netsh helper DLL registered in the Netsh registry key</description>    <mitre>      <id>T1546.007</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.