Skip to content

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

Siemphony’s repertoire

DllName value written under a W32Time time provider subkey

Matches the registry write that arms a Windows time provider — a DllName value set under a subkey of Services\W32Time\TimeProviders — which is the value the time provider manager reads at service start to decide which DLL to load, and the half of MITRE's AN0341 that a single event can carry. The path gate is anchored on \Services\ deliberately: the Group Policy copy of this tree lives under SOFTWARE\Policies\Microsoft\W32time\TimeProviders, no DLL is ever loaded from there, and an unanchored match would fire on every policy refresh in the domain. The built-in NtpClient, NtpServer and VMICTimeProvider subkeys are not excluded, because overwriting an existing provider's DllName is as workable a persistence route as the new arbitrarily named subkey MITRE describes and produces an identical event. The rule is written in the Sysmon registry_set vocabulary, where TargetObject carries key path and value name as one string; Sysmon EventID 13 is not collected at all unless the deployed configuration includes this key, and the widely used community configurations do not, so an unprepared host returns zero rows for reasons unrelated to adversary activity. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0122, 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

title: DllName value written under a W32Time time provider subkeyid: 5ef58136-2603-46e1-a2cf-c78a051b18bestatus: experimentaldescription: |  Matches the registry write that arms a Windows time provider — a DllName value  set under a subkey of Services\W32Time\TimeProviders — which is the value the  time provider manager reads at service start to decide which DLL to load, and  the half of MITRE's AN0341 that a single event can carry. The path gate is  anchored on \Services\ deliberately: the Group Policy copy of this tree lives  under SOFTWARE\Policies\Microsoft\W32time\TimeProviders, no DLL is ever loaded  from there, and an unanchored match would fire on every policy refresh in the  domain. The built-in NtpClient, NtpServer and VMICTimeProvider subkeys are not  excluded, because overwriting an existing provider's DllName is as workable a  persistence route as the new arbitrarily named subkey MITRE describes and  produces an identical event. The rule is written in the Sysmon registry_set  vocabulary, where TargetObject carries key path and value name as one string;  Sysmon EventID 13 is not collected at all unless the deployed configuration  includes this key, and the widely used community configurations do not, so an  unprepared host returns zero rows for reasons unrelated to adversary activity.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0122, not hand-written and not tested by its author. Any lab result is on this rule's own page.references:  - https://attack.mitre.org/techniques/T1547/003  - https://attack.mitre.org/detectionstrategies/DET0122author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.persistence  - attack.privilege-escalation  - attack.t1547.003logsource:  category: registry_set  product: windowsdetection:  selection_key:    TargetObject|contains: '\Services\W32Time\TimeProviders\'  selection_value:    TargetObject|endswith: '\DllName'  condition: selection_key and selection_valuefalsepositives:  - "An administrator or helpdesk script repairing time synchronisation with w32tm /unregister followed by w32tm /register, which rewrites DllName for NtpClient and NtpServer and is the most likely benign hit this rule ever produces."  - "Hyper-V integration component installation and virtual machine template deployment, which registers VMICTimeProvider and writes its DllName as part of guest tooling setup."  - "Third-party time synchronisation products — GPS and PTP hardware clock software, NTP appliance agents — registering their own provider subkey with a vendor DLL at install time. This is structurally identical to the attack and cannot be separated from it on this event alone; MITRE's RegistryPathScope knob is the wrong place to narrow it, so the exclusion belongs on the installing process."  - "Image build, sysprep and specialisation pipelines that reset the time service on every new image, producing a burst of these writes on hosts that are about to be handed out."level: high

Sentinel · KQL

Run this as a search.

DeviceRegistryEvents| where (RegistryKey contains "\\Services\\W32Time\\TimeProviders\\" and RegistryKey endswith "\\DllName")

Splunk · SPL

Run this as a search.

index=* (TargetObject="*\\Services\\W32Time\\TimeProviders\\*" AND TargetObject="*\\DllName")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(registry.path) LIKE "*\\\\services\\\\w32time\\\\timeproviders\\\\*" AND TO_LOWER(registry.path) LIKE "*\\\\dllname")

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="12">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="TargetObject" type="pcre2">(?i)\\Services\\W32Time\\TimeProviders\\</field>    <field name="TargetObject" type="pcre2">(?i)\\DllName$</field>    <description>DllName value written under a W32Time time provider subkey</description>    <mitre>      <id>T1547.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.