Detection rules › Sigma

Shell Open Registry Keys Manipulation

Status
test
Severity
high
Log source
product windows, category registry_event
Author
Christian Burkard (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the shell open key manipulation (exefile and ms-settings) used for persistence and the pattern of UAC Bypass using fodhelper.exe, computerdefaults.exe, slui.exe via registry keys (e.g. UACMe 33 or 62)

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Shell Open Registry Keys Manipulation
id: 152f3630-77c1-4284-bcc0-4cc68ab2f6e7
related:
    - id: dd3ee8cc-f751-41c9-ba53-5a32ed47e563
      type: similar
status: test
description: Detects the shell open key manipulation (exefile and ms-settings) used for persistence and the pattern of UAC Bypass using fodhelper.exe, computerdefaults.exe, slui.exe via registry keys (e.g. UACMe 33 or 62)
references:
    - https://github.com/hfiref0x/UACME
    - https://winscripting.blog/2017/05/12/first-entry-welcome-and-uac-bypass/
    - https://github.com/RhinoSecurityLabs/Aggressor-Scripts/tree/master/UACBypass
    - https://tria.ge/211119-gs7rtshcfr/behavioral2 [Lokibot sample from Nov 2021]
author: Christian Burkard (Nextron Systems)
date: 2021-08-30
modified: 2022-01-13
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1548.002
    - attack.t1546.001
logsource:
    category: registry_event
    product: windows
detection:
    selection1:
        EventType: SetValue
        TargetObject|endswith: 'Classes\ms-settings\shell\open\command\SymbolicLinkValue'
        Details|contains: '\Software\Classes\{'
    selection2:
        TargetObject|endswith: 'Classes\ms-settings\shell\open\command\DelegateExecute'
    selection3:
        EventType: SetValue
        TargetObject|endswith:
            - 'Classes\ms-settings\shell\open\command\(Default)'
            - 'Classes\exefile\shell\open\command\(Default)'
    filter_sel3:
        Details: '(Empty)'
    condition: selection1 or selection2 or (selection3 and not filter_sel3)
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection1 or selection2 or (selection3 and not filter_sel3)

Stage 1: selection1

selection1:
    EventType: SetValue
    TargetObject|endswith: 'Classes\ms-settings\shell\open\command\SymbolicLinkValue'
    Details|contains: '\Software\Classes\{'

Stage 2: selection2

selection2:
    TargetObject|endswith: 'Classes\ms-settings\shell\open\command\DelegateExecute'

Stage 3: selection3

selection3:
    EventType: SetValue
    TargetObject|endswith:
        - 'Classes\ms-settings\shell\open\command\(Default)'
        - 'Classes\exefile\shell\open\command\(Default)'

Stage 4: not filter_sel3

filter_sel3:
    Details: '(Empty)'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
Detailseq(Empty)

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Detailsmatch
  • \Software\Classes\{
EventTypeeq
  • SetValue corpus 6 (sigma 6)
TargetObjectends_with
  • Classes\exefile\shell\open\command\(Default)
  • Classes\ms-settings\shell\open\command\(Default)
  • Classes\ms-settings\shell\open\command\DelegateExecute
  • Classes\ms-settings\shell\open\command\SymbolicLinkValue