IE沙箱特权提升漏洞(CVE-2015-0016)分析


发布人:admin分类:网络安全浏览量:26发布时间:2017-12-12

本月微软的“星期二补丁”如约而至,其中就包括MS15-004补丁,修复了一个可能导致特权提升的漏洞(CVE-2015-0016),这是一个非常罕见的针对IE沙箱的漏洞,趋势科技的研究员对这个漏洞进行了详细的分析。

补丁详情

漏洞在TSWbPrxy.exe模块中,TSWbPrxy.exe是一个ActiveX控件,是微软远程桌面服务网络代理的程序。
首先,我用IDA插件patchdiff2查看补丁所作的修改,修改的是函数CTSWebProxy::StartRemoteDestop

我用OleView加载了TSWbPrxy.exe,查看CTSWebProxy::StartRemoteDestop的定义。

StartRemoteDesktop的定义

我发现StartRemoteDesktop有两个参数,都和mstsc.exe有关,这个mstsc.exe就是远程桌面程序。

bstrMstsc: mstsc.exe的文件路径
bstrArguments: mstsc.exe的参数

StartRemoteDesktop函数创建进程启动mstsc.exe。我使用了IDA插件更加仔细地检查打过补丁版本和未打补丁的区别:

打过补丁版本和未打补丁的区别

左图是打过补丁的版本,右边是没有打过的。左图显示在调用CreateProcessW之前,首先会调用check_path函数(灰色部分),而未打补丁的版本没有调用这个函数。
那我们来仔细看看这个函数:

check_path代码

函数中有一个参数(lpApplicationName),函数执行过程如下:

    首先检查lpApplicationName的长度,如果大于0x104,返回错误0x80075007。
    对lpApplicationName进行格式化,将字符‘/’转换为‘\’,将结果保存至var_formatApplicationName。
    调用CompareStringW对SystemDirectory + “mstsc.exe”与var_formatApplicationName进行比较,如果两者相同,check_path返回"0"。
    调用CompareStringW对SystemWow64Directory + “mstsc.exe”与var_formatApplicationName进行比较,如果两者相同,check_path返回"0",否则返回0x80075007错误。

    我们看一看出微软是如何修复漏洞的。程序会检查lpApplicationName的值是否与远程桌面程序在系统文件夹(对于32位版本的系统是C:\Windows\System32,对于64位是C:\Windows\SysWOW64)中的路径相同。如果二者相同,就会创建进程,否则会返回错误。

漏洞的原理很简单:StartRemoteDesktop函数的功能应该是启动远程桌面程序mstsc.exe,但执行这一程序时没有检查lpApplicationName参数,这就意味着攻击者可以通过修改lpApplicationName参数启动其他任意的进程。

下面是未打补丁版本的代码

未打补丁版本的代码

绕过IE的沙箱

为了绕过IE的沙箱,我们先得知道沙箱的提升策略是怎样的。提升策略决定进程怎么启动,以什么特权级别启动,这些都储存在注册表项中:

HKLM\Software\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{GUID}

注册表项中有如下几个值:

AppName: 程序执行名称
AppPath: 程序路径
Policy: 程序的特权级别

不同的特权级别

对于特权级别为3的进程,IE沙箱会以中等完整性级别(当前用户的权限)运行这个进程。
而TSWbPryx.exe的特权级别正是3。

TSWbPryx.exe的注册表项

攻击者可以利用另一个漏洞通过IE运行任意代码,但前面说过,由于IE的沙箱机制,代码可能被限制为在较低的完整性级别(权限非常有限)运行,攻击者随后可以利用此漏洞导致任意代码在中等完整性级别(当前用户的权限)运行。攻击者可以用TSWbPrxy ActiveX控件调用StartRemoteDesktop,攻击者就可以较高权限运行某些程序,如,它的父进程TSWbPrxy.exe。

我们可以将这个漏洞与CVE-2014-6332配合使用,这样就可以绕过IE沙箱,以中等完整性级别运行程序。

另外,我们也可以使用CVE-2014-6332绕过ActiveX的安全机制。也就是说IE不会显示像下图这样的窗口,而是直接运行这些控件。

最终结果就是攻击者可以以中等完整性级别运行某些程序,如下图所示

以中等完整性级别运行计算器

[参考来源TrendMicro,译/Sphinx,转载请注明来自Freebuf黑客与极客(FreeBuf.COM)]


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21380830(PV) 页面执行时间:99.606(MS)
  • xml
  • 网站地图