[分享]win8.1 x86/x64 bypass UAC新玩法
前两天exploit-db公布了一份新的绕过win8.1 uac的漏洞。该漏洞是由Google安全团队的Jon Erickson发现的。
[SIZE="5"]具体细节:[/SIZE]

以上是对于该漏洞详情的描述:
微软在Win8.1上更新了系统调用NtApphelpCacheControl(具体实现在ahcache.sys中),允许建立兼容性数据缓存并在新的进程被创建时重新使用。
一个普通用户可以查询缓存但是不能添加新缓存条目因为操作被重定向到administrators。这一检查由AhcVerifyAdminContext函数实现。
这个函数存在一个漏洞,他没有正确的检查调用者的模拟令牌来确定用户是否为管理员。
他通过PsReferenceImpersonationToken来读取调用者的模拟令牌,然后比较模拟令牌中的SID和系统的SID。但是他没有检令牌中的impersonation等级,所以有可能在系统进程中获得一个身份令牌从而绕过检查。
目前还不清楚该漏洞能否在win7上利用,他们没有去研究。
Poc在win8.1 32位和64位上都测试成功,跟着下面的步骤来验证:
1)解压获得AppCompatCache.exe和Testdll.dll文件。
2)确保UAC开启,并且为默认设置,当前用户是一个split-token admin。
3)在命令行下运行AppCompatCache.exe c:\windows\system32\ComputerDefaults.exe testdll.dll
4)如果出现计算器表示成功,如果第一次没有成功,请从步骤三重新开始。
Download份POC下来瞧瞧。

[SIZE="5"]我们执行命令看看:[/SIZE]

我测试了下,编译为32位版本对win8.1 x86/x64均有效。仅仅对win8.1适用。
下面是POC,原POC源码是VS2012,我机器上只有VS2010,所以就整了个VS2010的工程,
命令执行成功会弹出一个CMD窗口,标题会显示管理员权限。
--------------------------------------------------------------------------------------------------------
