Adversaries may bypass UAC mechanisms to elevate process privileges on system. Windows User Account Control (UAC) allows a program to elevate its privileges (tracked as integrity levels ranging from low to high) to perform a task under administrator-level permissions, possibly by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action.
If the UAC protection level of a computer is set to anything but the highest level, certain Windows programs can elevate privileges or execute some elevated Component Object Model objects without prompting the user through the UAC notification box. An example of this is use of Rundll32 to load a specifically crafted DLL which loads an auto-elevated Component Object Model object and performs a file operation in a protected directory which would typically require elevated access. Malicious software may also be injected into a trusted process to gain elevated privileges without prompting a user.
Many methods have been discovered to bypass UAC. The Github readme page for UACME contains an extensive list of methods that have been discovered and implemented, but may not be a comprehensive list of bypasses. Additional bypass methods are regularly discovered and some used in the wild, such as:
Another bypass is possible through some lateral movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on remote systems and default to high integrity.
BitPaymer can suppress UAC prompts by setting the
|S0141||Winnti for Windows|
Check for common UAC bypass weaknesses on Windows systems to be aware of the risk posture and address issues where appropriate.
|M1026||Privileged Account Management||
Remove users from the local administrator group on systems.
Consider updating Windows to the latest version and patch level to utilize the latest protective measures against UAC bypass.
|M1052||User Account Control||
Although UAC bypass techniques exist, it is still prudent to use the highest enforcement level for UAC when possible and mitigate bypass opportunities that exist with techniques such as DLL Search Order Hijacking.
|ID||Data Source||Data Component||Detects|
Monitor executed commands and arguments that may bypass UAC mechanisms to elevate process privileges on system.
Monitor newly executed processes, such as
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner that may bypass UAC mechanisms to elevate process privileges on system.
|DS0024||Windows Registry||Windows Registry Key Modification||
Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example:* The