Skip to content

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

Siemphony’s repertoire

Registry write to an LSA package list or LSA extension key

Detects a registry value being set on one of the lists that decide which DLLs LSASS loads. Adding a name to any of them is the persistence write MITRE describes in AN0629, but only one arm is T1547.008: Authentication Packages, which is also the key MITRE's RegistryKeyScope knob names. The neighbours are kept because the write is indistinguishable in this telemetry and an analyst wants them in the same queue — Notification Packages is the password filter key (T1556.002), Security Packages and OSConfig\Security Packages are the Security Support Provider keys (T1547.005), and Control\LsaExtensionConfig is the LSA extension subtree, which is a sibling of Control\Lsa rather than a child of it and must be matched as its own path. The whole rule is a single `TargetObject` OR so every backend renders it, and the hive prefix is left out of the match because Sysmon and the Security channel spell it differently; on Defender data the rendered KQL lands on DeviceRegistryEvents.RegistryKey, which carries the same string. Two blind spots. The rule sees only the registry write, so the variant that overwrites the DLL already named in Authentication Packages on disk — the Hijack Execution Flow route the technique description calls out — writes no registry value and produces nothing here; Security 3033 (an LSA code-integrity load failure) and the brief's file_event, file_change and driver_load sources are the companion telemetry for that leg. And the analytic's correlation, this write followed by an unsigned DLL loading into lsass.exe at the next boot inside TimeWindow, is not expressible in Sigma. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0225, 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: Registry write to an LSA package list or LSA extension keyid: c8cb20b9-e191-40d5-8ce2-79b76b2ac644status: experimentaldescription: |  Detects a registry value being set on one of the lists that decide which DLLs  LSASS loads. Adding a name to any of them is the persistence write MITRE  describes in AN0629, but only one arm is T1547.008: Authentication Packages,  which is also the key MITRE's RegistryKeyScope knob names. The neighbours are  kept because the write is indistinguishable in this telemetry and an analyst  wants them in the same queue — Notification Packages is the password filter  key (T1556.002), Security Packages and OSConfig\Security Packages are the  Security Support Provider keys (T1547.005), and Control\LsaExtensionConfig is  the LSA extension subtree, which is a sibling of Control\Lsa rather than a  child of it and must be matched as its own path. The whole rule is a single  `TargetObject` OR so every backend renders it, and the hive prefix is left out  of the match because Sysmon and the Security channel spell it differently; on  Defender data the rendered KQL lands on DeviceRegistryEvents.RegistryKey,  which carries the same string.  Two blind spots. The rule sees only the registry write, so the variant that  overwrites the DLL already named in Authentication Packages on disk — the  Hijack Execution Flow route the technique description calls out — writes no  registry value and produces nothing here; Security 3033 (an LSA code-integrity  load failure) and the brief's file_event, file_change and driver_load sources  are the companion telemetry for that leg. And the analytic's correlation, this  write followed by an unsigned DLL loading into lsass.exe at the next boot  inside TimeWindow, is not expressible in Sigma.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0225, 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/008  - https://attack.mitre.org/detectionstrategies/DET0225author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.persistence  - attack.privilege-escalation  - attack.t1547.008  - attack.t1547.005  - attack.t1556.002logsource:  category: registry_set  product: windowsdetection:  selection:    TargetObject|contains:      - '\Control\Lsa\Authentication Packages'      - '\Control\Lsa\Notification Packages'      - '\Control\Lsa\Security Packages'      - '\Control\Lsa\OSConfig\Security Packages'      - '\Control\LsaExtensionConfig\'  condition: selectionfalsepositives:  - "Password filter and multi-factor authentication products being installed or upgraded. Their installers legitimately append a DLL name to Notification Packages, and a smartcard or federation agent does the same to Security Packages. MITRE's FileHashAllowList and ImagePathPattern knobs are aimed at this case — the value written names the DLL, so allowlist the specific package name your estate deploys rather than muting the key."  - "Entra ID join and Windows Hello for Business enrolment, which register the cloud authentication provider in Security Packages. It is one write per device, but a hybrid-join or WHfB rollout turns that into a fleet-wide burst over the days the enrolment wave runs."  - "Domain controller promotion and demotion, plus Credential Guard and RDP security feature changes, which rewrite the package lists as part of a supported Windows role or feature change."  - "Windows components registering LSA extensions under Control\\LsaExtensionConfig — that arm matches the whole subtree, so any in-box provider written during setup, servicing or a feature update lands in the queue."level: medium

Sentinel · KQL

Run this as a search.

DeviceRegistryEvents| where (RegistryKey contains "\\Control\\Lsa\\Authentication Packages" or RegistryKey contains "\\Control\\Lsa\\Notification Packages" or RegistryKey contains "\\Control\\Lsa\\Security Packages" or RegistryKey contains "\\Control\\Lsa\\OSConfig\\Security Packages" or RegistryKey contains "\\Control\\LsaExtensionConfig\\")

Splunk · SPL

Run this as a search.

index=* (TargetObject="*\\Control\\Lsa\\Authentication Packages*" OR TargetObject="*\\Control\\Lsa\\Notification Packages*" OR TargetObject="*\\Control\\Lsa\\Security Packages*" OR TargetObject="*\\Control\\Lsa\\OSConfig\\Security Packages*" OR TargetObject="*\\Control\\LsaExtensionConfig\\*")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(registry.path) LIKE "*\\\\control\\\\lsa\\\\authentication packages*" OR TO_LOWER(registry.path) LIKE "*\\\\control\\\\lsa\\\\notification packages*" OR TO_LOWER(registry.path) LIKE "*\\\\control\\\\lsa\\\\security packages*" OR TO_LOWER(registry.path) LIKE "*\\\\control\\\\lsa\\\\osconfig\\\\security packages*" OR TO_LOWER(registry.path) LIKE "*\\\\control\\\\lsaextensionconfig\\\\*")

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)(\\Control\\Lsa\\Authentication Packages|\\Control\\Lsa\\Notification Packages|\\Control\\Lsa\\Security Packages|\\Control\\Lsa\\OSConfig\\Security Packages|\\Control\\LsaExtensionConfig\\)</field>    <description>Registry write to an LSA package list or LSA extension key</description>    <mitre>      <id>T1547.008</id>      <id>T1547.005</id>      <id>T1556.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.