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:
User attempts administrative action (installing software, modifying system files)
Windows checks current integrity level and required permissions
If elevation needed, UAC displays consent/credential prompt
If approved, Windows creates new process with High integrity level
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:
Registry Manipulation - Modify registry keys that control auto-elevate behavior
File System Redirection - Abuse Windows file system redirections
Process Injection - Inject code into trusted processes
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:
FODHELPER reads registry keys under current user context
Attacker modifies HKCU registry to control FODHELPER behavior
FODHELPER auto-elevates without UAC prompt
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:
Create malicious .inf file with embedded commands
Use CMSTP to process the .inf file
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?