Skip to content

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

Siemphony’s repertoire

User account marked hidden in the Windows SpecialAccounts UserList

AN1001 asks for account creation (Security 4720) correlated with a registry edit that marks the new account hidden, a join Sigma cannot express. This rule matches the registry edit alone: a Sysmon EventID 13 write under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\ UserList where the value name is the account and the DWORD data written is 0, the documented mechanism that removes an account from the Welcome screen and Fast User Switching list. That is a real signal on its own even without the 4720 join, since it also catches an existing account being hidden after the fact, a case the correlated version would miss entirely. Sysmon EventID 14 (registry_rename) is not used -- renaming or deleting a UserList value un-hides an account rather than hiding one, the opposite of this analytic's intent. The Linux and macOS legs in this strategy, AN1002 and AN1003, are not attempted here: AN1002's gsettings/Display-Manager mechanism toggles visibility for the entire greeter user list rather than one account, a coarser match to "hidden user" than the Windows value-per-account write; AN1003's logsource ({product: macos, service: unifiedlog}) has no established Sigma field vocabulary anywhere in this corpus. Sysmon is not installed by default, and shipped Sysmon configurations commonly allowlist which registry subtrees EventID 13 reports on -- SpecialAccounts\UserList must be in that allowlist or this rule returns zero rows, which reads as quiet when it actually means blind. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0353, 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: User account marked hidden in the Windows SpecialAccounts UserListid: 96a10031-fdaf-4d55-bcf7-fab8b20b65c8status: experimentaldescription: |  AN1001 asks for account creation (Security 4720) correlated with a registry  edit that marks the new account hidden, a join Sigma cannot express. This  rule matches the registry edit alone: a Sysmon EventID 13 write under  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\  UserList where the value name is the account and the DWORD data written is  0, the documented mechanism that removes an account from the Welcome  screen and Fast User Switching list. That is a real signal on its own even  without the 4720 join, since it also catches an existing account being  hidden after the fact, a case the correlated version would miss entirely.  Sysmon EventID 14 (registry_rename) is not used -- renaming or deleting a  UserList value un-hides an account rather than hiding one, the opposite of  this analytic's intent. The Linux and macOS legs in this strategy, AN1002  and AN1003, are not attempted here: AN1002's gsettings/Display-Manager  mechanism toggles visibility for the entire greeter user list rather than  one account, a coarser match to "hidden user" than the Windows  value-per-account write; AN1003's logsource ({product: macos, service:  unifiedlog}) has no established Sigma field vocabulary anywhere in this  corpus. Sysmon is not installed by default, and shipped Sysmon  configurations commonly allowlist which registry subtrees EventID 13  reports on -- SpecialAccounts\UserList must be in that allowlist or this  rule returns zero rows, which reads as quiet when it actually means blind.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0353, 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/T1564/002  - https://attack.mitre.org/detectionstrategies/DET0353author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-18tags:  - attack.defense-evasion  - attack.t1564.002logsource:  category: registry_set  product: windowsdetection:  selection:    TargetObject|contains: '\SpecialAccounts\UserList\'    Details: 'DWORD (0x00000000)'  condition: selectionfalsepositives:  - "Administrators deliberately hiding a support, service or break-glass account from the Welcome screen for privacy or operational-security reasons -- the technique's own description names this as a legitimate, common admin practice, and it produces the identical registry write this rule matches."  - "Remote-support and RMM agents (helpdesk tooling, some endpoint-management suites) that provision a local service account for their own agent and hide it from the logon screen this same way as part of routine installation."  - "Kiosk-mode and shared-device imaging tooling that hides default or built-in local accounts from the Welcome screen as a standard step in a locked-down device profile."level: medium

Sentinel · KQL

Run this as a search.

DeviceRegistryEvents| where (RegistryKey contains "\\SpecialAccounts\\UserList\\" and RegistryValueData =~ "DWORD (0x00000000)")

Splunk · SPL

Run this as a search.

index=* (TargetObject="*\\SpecialAccounts\\UserList\\*" AND Details="DWORD (0x00000000)")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(registry.path) LIKE "*\\\\specialaccounts\\\\userlist\\\\*" AND TO_LOWER(registry.data.strings) == "dword (0x00000000)")

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)\\SpecialAccounts\\UserList\\</field>    <field name="Details" type="pcre2">(?i)^DWORD \(0x00000000\)$</field>    <description>User account marked hidden in the Windows SpecialAccounts UserList</description>    <mitre>      <id>T1564.002</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.