最终在 Windows 8.1 中也同样有三个可被利用的可执行程序,相关的DLL 如下:C:\windows\System32\sysprep\sysprep.exe
C:\Windows\System32\Sysprep\SHCORE.dll C:\Windows\System32\Sysprep\OLEACC.DLL C:\windows\System32\cliconfg.exe C:\Windows\System32\NTWDBLIB.DLL C:\windows\System32\pwcreator.exe C:\Windows\System32\vds.exe C:\Program Files\Common Files\microsoft shared\ink\CRYPTBASE.dll C:\Program Files\Common Files\microsoft shared\ink\CRYPTSP.dll C:\Program Files\Common Files\microsoft shared\ink\dwmapi.dll C:\Program Files\Common Files\microsoft shared\ink\USERENV.dll C:\Program Files\Common Files\microsoft shared\ink\OLEACC.dll
在调用 pwcreateor.exe 可执行文件时,它会调用 vds.exe(虚拟磁盘服务),之后会加载我们的DLL 并且执行后的进程的完整性级别为系统级别。wuaucltexe

在调用 sysprep.exe,cliconfig.exe,pwcreateor.exe 时会产生一个GUI窗口,你应该可以轻松的使它们运行在后台,并且在绕过 UAC之后将它们结束掉。



缓解措施
防止绕过 UAC的最好的方法是在用户的机器中不要给予他们本地管理员权限。在企业环境中的绝大多数用户帐户你都应该这么去做,以减少受攻击面。wuaucltexe然而,这不适用于在默认情况下具有本地管理员权限的家庭用户。
在实际的绕过中,仅对 UAC设置中的中间那两个选项起作用。要查看你的设置你可以在控制面板——用户帐户——改变用户帐户控制设置 中查看。
仅当应用程序尝试更改我的计算机时通知我(默认)
仅当应用程序尝试更改我的计算机时通知我(不降低桌面亮度)

因此,我们需要设置为“总是通知”,但是这样做有点像Windows Vista一样会持续进行通知,所以这并不实用,并且到最后,用户可能会设置为“从不通知”,这样的话,看起来这并不是一个好主意。
Microsoft 提供了 10 个UAC策略,我们有必要在你的域环境中实施策略前花点时间来了解并测试这些策略。你可以在开始-运行中键入 secpol.msc 来打开本地计算机的本地安全策略并展开 本地策略,在安全选项里可以找到应用在本地计算机的用户帐户控制策略。可以使用 rsop.msc 查看在域中应用到本地的组策略。

在注册表中,UAC的默认设置如下:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "ConsentPromptBehaviorAdmin"=dword:00000005 "ConsentPromptBehaviorUser"=dword:00000003 "EnableInstallerDetection"=dword:00000001 "EnableLUA"=dword:00000001 "EnableSecureUIAPaths"=dword:00000001 "EnableUIADesktopToggle"=dword:00000000 "EnableVirtualization"=dword:00000001 "FilterAdministratorToken"=dword:00000000 "PromptOnSecureDesktop"=dword:00000001 "ValidateAdminCodeSignatures"=dword:00000000
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27762-4.html
写出来也不认真