Skip to content

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

Siemphony’s repertoire

WMI event subscription objects named on a command line

Siemphony@siemphonymediumT1546.003unverified
Matches the registration half of AN0236: a process whose command line names the WMI subscription classes, the subscription namespace, the PowerShell event-registration cmdlets, or the MOF compiler that turns a .mof file into those same objects. All terms sit on the single `CommandLine` field, so the rule renders the same way in every backend and does not depend on how a pipeline populates `Image`. The namespace is listed in both separator forms because WMI accepts `root/subscription` as readily as `root\subscription`, and a single-form gate is defeated by typing the other one. Note that `Register-WmiEvent` and `Register-CimIndicationEvent` register temporary, session-scoped subscriptions that die with the session: they are named in MITRE's analytic text and are kept here for that reason, but a match on either is not by itself evidence of the persistence this technique describes. The brief also offers the WMI-Activity channel (5857/5858/5860/5861), which is the more direct evidence — 5861 records the consumer binding itself — but that channel's fields are not standardised in Sigma's Windows taxonomy, and inventing field names there would produce a rule that parses and never matches, so it is not used here. Two limits: a subscription created entirely through the WMI API by compiled code, or one whose class names live only inside the .mof file rather than on the command line, leaves nothing for this rule except the mofcomp term; and the second half of the analytic — anomalous children of WmiPrvSE.exe within MITRE's `TimeWindow` knob — is a correlation Sigma cannot express. If your process_creation feed is Security 4688 rather than Sysmon EventID 1, note that 4688 needs *Audit Process Creation* and its `CommandLine` field needs the separate *Include command line in process creation events* policy; without the latter every selector here is blank and the rule silently returns nothing. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0086, 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 (ProcessCommandLine contains "__EventFilter" or ProcessCommandLine contains "__FilterToConsumerBinding" or ProcessCommandLine contains "EventConsumer" or ProcessCommandLine contains "Register-WmiEvent" or ProcessCommandLine contains "Register-CimIndicationEvent" or ProcessCommandLine contains "root\\subscription" or ProcessCommandLine contains "root/subscription" or ProcessCommandLine contains "mofcomp")

Splunk · SPL

Run this as a search.

index=* (CommandLine="*__EventFilter*" OR CommandLine="*__FilterToConsumerBinding*" OR CommandLine="*EventConsumer*" OR CommandLine="*Register-WmiEvent*" OR CommandLine="*Register-CimIndicationEvent*" OR CommandLine="*root\\subscription*" OR CommandLine="*root/subscription*" OR CommandLine="*mofcomp*")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*__eventfilter*" OR TO_LOWER(process.command_line) LIKE "*__filtertoconsumerbinding*" OR TO_LOWER(process.command_line) LIKE "*eventconsumer*" OR TO_LOWER(process.command_line) LIKE "*register-wmievent*" OR TO_LOWER(process.command_line) LIKE "*register-cimindicationevent*" OR TO_LOWER(process.command_line) LIKE "*root\\\\subscription*" OR TO_LOWER(process.command_line) LIKE "*root/subscription*" OR TO_LOWER(process.command_line) LIKE "*mofcomp*")

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="CommandLine" type="pcre2">(?i)(__EventFilter|__FilterToConsumerBinding|EventConsumer|Register-WmiEvent|Register-CimIndicationEvent|root\\subscription|root/subscription|mofcomp)</field>    <description>WMI event subscription objects named on a command line</description>    <mitre>      <id>T1546.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.