把“用户帐户控制设置”设置为“总是通知”,相关的注册项的值改变如下:
"ConsentPromptBehaviorAdmin"=dword:00000002
把“用户帐户控制设置”设置为“仅当应用程序尝试更改我的计算机时通知我(不降低桌面亮度)” 相关的注册项的值改变如下:
"PromptOnSecureDesktop"=dword:00000000
当把“用户帐户控制设置”设置为“从不通知”时,相关的注册项的值改变如下:
"ConsentPromptBehaviorAdmin"=dword:00000000 "EnableLUA"=dword:00000000 "PromptOnSecureDesktop"=dword:00000000
我们注意到 "EnableLUA"的值为0 ,意味着UAC已被禁用。这是非常危险的,因此,强烈推荐您在组策略中设置此设置选项,这样可以在用户或者是被以前删除的恶意软件重置/改变了设置选项后,依旧可以应用策略,启用UAC。
用户帐户控制: 以管理员批准模式运行所有管理员
一旦禁用此策略将有不只一个恶意进程能够直接并无需任何绕过行为就能以高级别完整性运行而且 IE浏览器进程的完整性级别为中等。在IE浏览器提供的额外的安全性中,UAC 给用户提供了保护模式 (沙盒)。IE浏览器通常在低级别完整性的子进程中运行,因此会将IE 漏洞所带来的一些威胁最小化并且在低级别完整性中,可写入的位置很少。
上述这些改变在 Windows 7中有效,在Windows 8/8.1中 EnableLUA 不会被更改为禁用状态。因此,在将“用户帐户控制”设置为“从不通知”时,只产生了下列改变:
"ConsentPromptBehaviorAdmin"=dword:00000000 "PromptOnSecureDesktop"=dword:00000000
这个时候,由于“EnableLUA”=dword:00000001的值没有发生改变,因此, UAC没有完全禁用,同时IE浏览器依旧运行在低级别完整性中。
然而,如果一个用户使用本地管理员帐户登录到计算机时,UAC的设置对于所有使用高级别完整性的进程是不起作用的。因此,在Windwos 7/8 和 8.1中,总是要确保用户没有使用本地管理员帐户登录计算机,如果将域帐户添加到本地管理员组中将会更好的请求本地管理员权限。


不管出于什么原因使用本地管理员帐户登录计算机,最好设置 UAC 策略为启用状态。
用户帐户控制: 对内置管理员帐户使用管理审批模式
“FilterAdministratorToken”=dword:00000001
另一个选项则是如果在系统上不是必须需要这些程序,你可以重命名或删除Mcx2Prov.exe、 sysprep.exe、 cliconfg.exe 和 pwcreator.exe 可执行文件,这样,在第二个步骤中利用 DLL 劫持就会失败。
最后,如果用户请求本地管理员权限并且值得他们修改计算机的UAC为“总是通知“,那么他们将会得到持续不断的通知。
用户帐户控制: 在管理审批模式下管理员的提升提示行为(在安全桌面上同意提示)
结论
这些绕过方式仅在满足所有的条件时才会起作用,只要有一个条件不满足,那么绕过 UAC就会失败。Office 文档进程的完整性级别为中等,因此,这将是一个理想的用于 UAC绕过的目标。由于可以毫不费力地实现 UAC 的绕过,真正唯一能做的就是将 UAC 设置为"始终通知"或删除该用户的本地管理权限。最后可以使用像微软的 EMET或 MalwareBytes 来更好的防御零日漏洞。
这是一些源代码和二进制文件,你可以自行测试。我测试了 Windows 企业版的 7/8/8.1 64 位系统。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27762-5.html
臭美国鬼子压根就没想过要帮伊拉克
海警