Abuse Elevation Control Mechanism: Bypass UAC
Process Invoke SystemCall — Invoke a Windows elevation mechanism through a method that bypasses User Account Control consent prompts to gain elevated privilege without user interaction.
Detect
The integrity level transition (medium → high without a UAC consent event) is technique-defining and method-agnostic. Detecting this transition is STP 5 regardless of which bypass was used.
Correlate process creation events with UAC consent events. Any high-integrity process spawned from a medium-integrity parent without a corresponding consent event is STP 5. Do not write primary detections for individual bypass methods.
Mitigate
Setting UAC to "Always Notify" or removing the user from the local administrators group eliminates the elevation path regardless of bypass method.
Set UAConsentPromptBehaviorAdmin = 2 (Always Notify). Running users as non-administrators eliminates the technique entirely — UAC bypass requires the user to already be in the administrators group.
Respond
The attacker holds elevated privileges. Contain the process that gained them. Investigate everything it accessed or modified since escalation occurred.
actor.processprocessd3f:ProcessTerminationd3f:NetworkIsolationOCSF event model▼
Event class: Process Activity (1007)
· activity_id: Launch
%%{init: {"theme": "dark", "themeVariables": {"edgeLabelBackground": "#18181b", "lineColor": "#52525b"}}}%%
graph TD
classDef attacker fill:#7c2d12,stroke:#ea580c,color:#fed7aa
classDef victim fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe
classDef postSuccess fill:#78350f,stroke:#d97706,color:#fde68a
classDef tainted fill:#18181b,stroke:#52525b,color:#a1a1aa
EVENT(["Process Activity\n· Launch"])
actor_process["Medium-Integrity Process\nactor.process\nd3f:Process"]:::attacker
elevated_process["Elevated Process\nprocess\nd3f:Process"]:::attacker
device["Host\ndevice\nd3f:Host\n⚠ tainted"]:::tainted
EVENT --> actor_process
EVENT --> elevated_process
EVENT --> device
actor_process -.->|"spawns without consent"| elevated_processactor.process·d3f:Processactor.process.integrity_level | invariant | = Medium |
actor.process.file.path | attacker_controlled | Specific bypass binary used — Execution Medium, attacker-chosen |
d3f:ProcessTerminationprocess·d3f:Processprocess.integrity_level | invariant | = High |
process.file.path | attacker_controlled | Elevated child process path — attacker-chosen, varies by bypass method |
d3f:ProcessTerminationdevice·d3f:Hostd3f:NetworkIsolationDefinitional Sigma rule▼
Broad by design — defines the technique, not an operational alert. Gate on variable or attacker-controlled field conditions to narrow for production use.
title: Abuse Elevation Control Mechanism: Bypass UAC (T1548.002)
status: experimental
description: >
Definitional rule — broad by design. Defines the technique independent of
medium, tool, or attacker-controlled variables. Narrow with variable and
attacker-controlled field conditions for operational use.
logsource:
product: ocsf
category: Process Activity (1007)
detection:
selection:
activity_id: 'Launch'
actor.process.integrity_level: 'Medium'
process.integrity_level: 'High'
condition: selectionExecution Medium–scoped detectionSTP 3 ceiling▼
Sample rules — not canonical definitions. Each constrains detection to a specific Execution Medium and has a hard STP 3 ceiling. The attacker switches Execution Medium; the rule misses. Compare with the definitional rule above.
fodhelper.exe auto-elevates and inherits the calling process environment, including HKCU registry keys. Detecting a high-integrity process parented by fodhelper is STP 3 — evaded immediately by switching to eventvwr, CMSTPLUA, or any other auto-elevating binary.
process.integrity_level → extension proposal ↗
title: Bypass UAC — fodhelper.exe medium (sample)
status: experimental
description: >
Sample — STP 3 ceiling. Detects a high-integrity process spawned by
fodhelper.exe. Evaded by switching to eventvwr, CMSTPLUA, or any other
bypass method.
logsource:
product: ocsf
category: Process Activity (1007)
detection:
selection:
activity_id: 'Launch'
actor.process.file.name: 'fodhelper.exe'
process.integrity_level: 'High' # NOTE: not OCSF native; Windows-specific extension
condition: selectionSeen in the wild1report▼
PowerShower uses fodhelper.exe UAC bypass to execute a credential harvester with elevated privileges — matching the Bypass UAC definition of spawning a high-integrity process without a UAC consent dialog.