Skip to content

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

Siemphony’s repertoire

Command interpreter spawned by an auto-elevated UAC bypass binary

Matches a process-creation event whose parent is one of the auto-elevated Windows binaries MITRE names in this analytic's ElevatedProcessNameList knob (eventvwr.exe, sdclt.exe, computerdefaults.exe and the closely related fodhelper.exe, slui.exe and wsreset.exe) and whose child is a command or script interpreter. That parent-child edge is the ParentProcessAnomalyThreshold knob written out as literals: these binaries elevate without a consent prompt, so an interpreter appearing beneath one is the observable moment of a hijacked auto-elevation. The analytic's real observable is a chain — registry write to a UAC-related key, then elevation, correlated inside a short TimeWindow — and Sigma cannot join two log sources or express a time window, so only the execution step is modelled here and the preceding registry tamper is not. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0388, 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: Command interpreter spawned by an auto-elevated UAC bypass binaryid: f1e07b28-4632-4407-8328-c6918008407dstatus: experimentaldescription: |  Matches a process-creation event whose parent is one of the auto-elevated  Windows binaries MITRE names in this analytic's ElevatedProcessNameList knob  (eventvwr.exe, sdclt.exe, computerdefaults.exe and the closely related  fodhelper.exe, slui.exe and wsreset.exe) and whose child is a command or  script interpreter. That parent-child edge is the ParentProcessAnomalyThreshold  knob written out as literals: these binaries elevate without a consent prompt,  so an interpreter appearing beneath one is the observable moment of a hijacked  auto-elevation. The analytic's real observable is a chain — registry write to a  UAC-related key, then elevation, correlated inside a short TimeWindow — and  Sigma cannot join two log sources or express a time window, so only the  execution step is modelled here and the preceding registry tamper is not.  UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0388, 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/T1548/002  - https://attack.mitre.org/detectionstrategies/DET0388author: Siemphony pipeline (machine-derived from MITRE ATT&CK v19.2)date: 2026-08-16tags:  - attack.privilege-escalation  - attack.t1548.002logsource:  category: process_creation  product: windowsdetection:  selection_parent:    ParentImage|endswith:      - '\eventvwr.exe'      - '\sdclt.exe'      - '\computerdefaults.exe'      - '\fodhelper.exe'      - '\slui.exe'      - '\wsreset.exe'  selection_child:    Image|endswith:      - '\cmd.exe'      - '\powershell.exe'      - '\pwsh.exe'      - '\wscript.exe'      - '\cscript.exe'      - '\mshta.exe'      - '\rundll32.exe'      - '\regsvr32.exe'  condition: selection_parent and selection_childfalsepositives:  - "Windows servicing and licensing repair, where wsreset.exe or slui.exe is driven by a vendor support script that wraps its own work in a cmd.exe one-liner. This is exactly what MITRE's ElevatedProcessNameList knob is for — a site that sees a given binary legitimately spawning an interpreter should remove it from the parent list rather than tune the child list."  - "An administrator troubleshooting from inside Event Viewer or Backup and Restore who then opens a shell in the same session. The parent-child edge is identical to the bypass and only the operator and the surrounding activity distinguish them; MITRE's ParentProcessAnomalyThreshold knob is where that judgement belongs."  - "Software packaging and OEM setup routines whose MSI custom actions chain through computerdefaults.exe or sdclt.exe and then call rundll32.exe or regsvr32.exe to register components during installation."  - "Authorised red-team and UAC-hardening validation runs, which use precisely these binaries and will fire this rule on every execution."level: high

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where ((InitiatingProcessFolderPath endswith "\\eventvwr.exe" or InitiatingProcessFolderPath endswith "\\sdclt.exe" or InitiatingProcessFolderPath endswith "\\computerdefaults.exe" or InitiatingProcessFolderPath endswith "\\fodhelper.exe" or InitiatingProcessFolderPath endswith "\\slui.exe" or InitiatingProcessFolderPath endswith "\\wsreset.exe") and (FolderPath endswith "\\cmd.exe" or FolderPath endswith "\\powershell.exe" or FolderPath endswith "\\pwsh.exe" or FolderPath endswith "\\wscript.exe" or FolderPath endswith "\\cscript.exe" or FolderPath endswith "\\mshta.exe" or FolderPath endswith "\\rundll32.exe" or FolderPath endswith "\\regsvr32.exe"))

Splunk · SPL

Run this as a search.

index=* ((ParentImage="*\\eventvwr.exe" OR ParentImage="*\\sdclt.exe" OR ParentImage="*\\computerdefaults.exe" OR ParentImage="*\\fodhelper.exe" OR ParentImage="*\\slui.exe" OR ParentImage="*\\wsreset.exe") AND (Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\pwsh.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe" OR Image="*\\mshta.exe" OR Image="*\\rundll32.exe" OR Image="*\\regsvr32.exe"))

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE ((TO_LOWER(process.parent.executable) LIKE "*\\\\eventvwr.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\sdclt.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\computerdefaults.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\fodhelper.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\slui.exe" OR TO_LOWER(process.parent.executable) LIKE "*\\\\wsreset.exe") AND (TO_LOWER(process.executable) LIKE "*\\\\cmd.exe" OR TO_LOWER(process.executable) LIKE "*\\\\powershell.exe" OR TO_LOWER(process.executable) LIKE "*\\\\pwsh.exe" OR TO_LOWER(process.executable) LIKE "*\\\\wscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\cscript.exe" OR TO_LOWER(process.executable) LIKE "*\\\\mshta.exe" OR TO_LOWER(process.executable) LIKE "*\\\\rundll32.exe" OR TO_LOWER(process.executable) LIKE "*\\\\regsvr32.exe"))

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="12">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="ParentImage" type="pcre2">(?i)(\\eventvwr\.exe$|\\sdclt\.exe$|\\computerdefaults\.exe$|\\fodhelper\.exe$|\\slui\.exe$|\\wsreset\.exe$)</field>    <field name="Image" type="pcre2">(?i)(\\cmd\.exe$|\\powershell\.exe$|\\pwsh\.exe$|\\wscript\.exe$|\\cscript\.exe$|\\mshta\.exe$|\\rundll32\.exe$|\\regsvr32\.exe$)</field>    <description>Command interpreter spawned by an auto-elevated UAC bypass binary</description>    <mitre>      <id>T1548.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.