UAC bypass techniques

Understanding User Account Control (UAC)

What Is User Account Control?

User Account Control (UAC) is like a security checkpoint at an airport. Even if you have a valid ticket (administrator account), you still need to go through additional screening (UAC prompt) before accessing restricted areas (performing administrative tasks).

UAC was introduced in Windows Vista to reduce the attack surface by running applications with limited privileges by default, even when logged in as an administrator.

How UAC Works

UAC Integrity Levels:

  • System - Highest level, used by system services

  • High - Used by elevated administrative processes

  • Medium - Standard user level, default for most applications

  • Low - Used by sandboxed applications like web browsers

UAC Process Flow:

  1. User attempts administrative action (installing software, modifying system files)

  2. Windows checks current integrity level and required permissions

  3. If elevation needed, UAC displays consent/credential prompt

  4. If approved, Windows creates new process with High integrity level

  5. Administrative action proceeds with elevated privileges

Real-World UAC Example

Without UAC (Windows XP era):

  • All applications run with full administrative rights

  • Malware has immediate system access

  • No protection against privilege escalation

With UAC (Modern Windows):

  • Applications run with limited rights by default

  • Administrative actions require explicit consent

  • Creates barrier against automatic privilege escalation

UAC Bypass Fundamentals

UAC bypass techniques exploit specific Windows features or applications that are configured to automatically elevate privileges without showing a UAC prompt. These are called "auto-elevate" executables.

Why UAC Bypasses Work

Trusted Applications: Some Windows applications are marked as "auto-elevate" and can request high privileges without UAC prompts:

  • Built-in Windows utilities

  • Digitally signed Microsoft applications

  • Applications with specific manifest settings

Common Bypass Methods:

  1. Registry Manipulation - Modify registry keys that control auto-elevate behavior

  2. File System Redirection - Abuse Windows file system redirections

  3. Process Injection - Inject code into trusted processes

  4. Application Manifest Abuse - Exploit auto-elevate application configurations

Enumeration

Checking Current UAC Status

Check UAC configuration:

UAC level interpretation:

  • EnableLUA = 0 - UAC completely disabled

  • EnableLUA = 1 - UAC enabled

  • ConsentPromptBehaviorAdmin values:

    • 0 - Never notify (no UAC prompts)

    • 2 - Always notify (traditional UAC)

    • 5 - Notify me only when apps try to make changes (default)

PowerShell UAC status check:

Identifying Bypass Opportunities

Find auto-elevate applications:

PowerShell auto-elevate enumeration:


Registry and File System UAC Bypasses

Understanding Registry-Based Bypasses

Registry-based UAC bypasses exploit the fact that certain registry locations can be modified without elevation, but changes to these locations can affect how elevated applications behave.

Registry Key Hijacking

Many Windows applications read configuration from the registry. If an attacker can modify these registry keys, they can potentially control the behavior of elevated applications.

Common vulnerable registry locations:

  • HKCU\Software\Classes - User-specific file associations

  • HKCU\Environment - User environment variables

  • HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths - Application paths

FODHELPER UAC Bypass

FODHELPER is a Windows feature that manages optional features and is marked for auto-elevation.

How FODHELPER Bypass Works

Attack methodology:

  1. FODHELPER reads registry keys under current user context

  2. Attacker modifies HKCU registry to control FODHELPER behavior

  3. FODHELPER auto-elevates without UAC prompt

  4. Executes attacker-controlled payload with high privileges

FODHELPER Exploitation

Registry modification method:

PowerShell FODHELPER bypass:

COMPUTERDEFAULTS UAC Bypass

Similar to FODHELPER, computerdefaults.exe is another auto-elevate application.

Attack execution:

Environment Variable UAC Bypass

This technique abuses Windows environment variable expansion in elevated contexts.

SystemPropertiesAdvanced bypass:


Application and Process UAC Bypasses

DLL Hijacking UAC Bypasses

Many auto-elevate applications are vulnerable to DLL hijacking, allowing attackers to execute code in elevated context.

CMSTP UAC Bypass

CMSTP (Connection Manager Profile Installer) can be abused to bypass UAC using a malicious .inf file.

CMSTP bypass methodology:

  1. Create malicious .inf file with embedded commands

  2. Use CMSTP to process the .inf file

  3. CMSTP auto-elevates and executes embedded commands

CMSTP exploitation:

PowerShell CMSTP bypass:

SDCLT UAC Bypass

SDCLT (Backup and Restore) is another auto-elevate application that can be abused.

SDCLT registry hijack:

SLUI UAC Bypass

SLUI (Software Licensing User Interface) can be exploited through file association hijacking.

SLUI exploitation:

Metasploit UAC Bypasses

Metasploit UAC bypass modules:

Meterpreter UAC bypass:

PowerShell Empire UAC Bypasses

Empire UAC modules:

Quick Enumeration and Testing

UACMe tool usage:

PowerShell comprehensive UAC test:

Last updated

Was this helpful?