Detection rules › Sigma

UAC Bypass Using NTFS Reparse Point - Process

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

Detects the pattern of UAC Bypass using NTFS reparse point and wusa.exe DLL hijacking (UACMe 36)

MITRE ATT&CK coverage

Event coverage

ProviderEventTitle
SysmonEvent ID 1Process creation

Rule body yaml

title: UAC Bypass Using NTFS Reparse Point - Process
id: 39ed3c80-e6a1-431b-9df3-911ac53d08a7
status: test
description: Detects the pattern of UAC Bypass using NTFS reparse point and wusa.exe DLL hijacking (UACMe 36)
references:
    - https://github.com/hfiref0x/UACME
author: Christian Burkard (Nextron Systems)
date: 2021-08-30
modified: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: process_creation
    product: windows
detection:
    selection1:
        CommandLine|startswith: '"C:\Windows\system32\wusa.exe"  /quiet C:\Users\'
        CommandLine|endswith: '\AppData\Local\Temp\update.msu'
        IntegrityLevel:
            - 'High'
            - 'System'
            - 'S-1-16-16384' # System
            - 'S-1-16-12288' # High
    selection2:
        ParentCommandLine: '"C:\Windows\system32\dism.exe" /online /quiet /norestart /add-package /packagepath:"C:\Windows\system32\pe386" /ignorecheck'
        IntegrityLevel:
            - 'High'
            - 'System'
        CommandLine|contains|all:
            - 'C:\Users\'
            - '\AppData\Local\Temp\'
            - '\dismhost.exe {'
        Image|endswith: '\DismHost.exe'
    condition: 1 of selection*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    CommandLine|startswith: '"C:\Windows\system32\wusa.exe"  /quiet C:\Users\'
    CommandLine|endswith: '\AppData\Local\Temp\update.msu'
    IntegrityLevel:
        - 'High'
        - 'System'
        - 'S-1-16-16384'
        - 'S-1-16-12288'

Stage 2: selection2

selection2:
    ParentCommandLine: '"C:\Windows\system32\dism.exe" /online /quiet /norestart /add-package /packagepath:"C:\Windows\system32\pe386" /ignorecheck'
    IntegrityLevel:
        - 'High'
        - 'System'
    CommandLine|contains|all:
        - 'C:\Users\'
        - '\AppData\Local\Temp\'
        - '\dismhost.exe {'
    Image|endswith: '\DismHost.exe'

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
CommandLineends_with
  • \AppData\Local\Temp\update.msu
CommandLinematch
  • C:\Users\ corpus 7 (sigma 7)
  • \AppData\Local\Temp\ corpus 26 (sigma 26)
  • \dismhost.exe {
CommandLinestarts_with
  • "C:\Windows\system32\wusa.exe" /quiet C:\Users\
Imageends_with
  • \DismHost.exe corpus 2 (sigma 2)
IntegrityLeveleq
  • High corpus 21 (sigma 17, kusto 3, splunk 1)
  • S-1-16-12288 corpus 21 (sigma 17, kusto 3, splunk 1)
  • S-1-16-16384 corpus 29 (sigma 22, splunk 4, elastic 3)
  • System corpus 29 (sigma 22, splunk 4, elastic 3)
ParentCommandLineeq
  • "C:\Windows\system32\dism.exe" /online /quiet /norestart /add-package /packagepath:"C:\Windows\system32\pe386" /ignorecheck