暴雷漏洞在互联网边界防御怎么防御,把攻击在...

东莞时报多媒体数字报刊平台_东莞时间网
东莞日报社旗下媒体:  
Windows XP明年终止服务 360继续提供安全防护
 来源:东莞时间网-东莞时报
&&&&东莞时报讯&(记者&黄月)&随着Windows&8.1正式发布,微软公司再次强调将在2014年4月终止Windows&XP安全更新,也就是不再为XP漏洞提供补丁。对此,360安全中心表示,鉴于XP系统在中国市场仍占据主流地位,360安全卫士将继续为XP用户提供全方位的安全防护,并将针对XP新出现的高危漏洞提供防护措施。在微软IE极光漏洞、IE劳动节水坑漏洞、Windows暴雷漏洞等多个高危漏洞“零日攻击”爆发时,360安全卫士都曾推出漏洞防御解决方案,在微软官方补丁发布前有效保护了用户上网安全,并多次入选微软MAPP(主动防御计划)快速防御“零日攻击”的安全厂商名单。此外,360独立发现并报告漏洞,迄今已11次获得微软致谢,是国内报告微软漏洞最多的电脑安全厂商。

----澳媒调侃阿博特普京尴尬相遇----习***称赞梁振英----高校出版《男生安全手册》称----环球时报发表评论暴雷漏洞(CVE-)分析及利用
(一个7月份左右的漏洞,漏洞出在windows的基础组件MSXML上,刚出来时由于尚无补丁,且利用稳定,so成为了网页挂马的利器。这个漏洞也被N多人分析过了。。。本文纯粹是基于学习目的。因为这个漏洞的起因类似于释放后重用类型的漏洞,且产生原因和2月份左右的RDP漏洞MS12-020有些许神似,可以说比较典型。故还是有研究一下的价值的。。利用方式可以采用浏览器漏洞惯用的Heap
spray技术,也可以顺便熟悉实战一下这个东西。。。)
直接运行poc,崩溃到windbg中,
看崩溃出的汇编代码,eax指向的地址很像是一个对象,mov ecx [eax],因为ecx通常用于thiscall调用协定,故这个语句很像是传递对象的首地址(即虚表指针)。所以根据这里可以大致推断这是由于错误的把攻击数据当成了对象。
这里我们需要搞清楚两个问题,1:这个攻击数据的源头。2为什么这些数据会复制到eax里面。首先先高清第一个问题:
从这里开始向上顺藤摸瓜。
根据下列的栈回溯记录,首先大致看一下崩溃的函数的大致结构。
除了知道有几个if结构外,貌似看不出什么特别有价值的东西。。。
OK,直接在IDA中找到崩溃点,
这里可以看到eax里面的数据来自与pvarg(-1这个局部变量,pvarg这个局部变量被一个导入函数OLEAUT32!VariantInit初始化了
这个函数很简单,只是把pvarg的低2个字节初始化为0。这里看来这个函数似乎没用(- -0)
根据eax指向的地址,在这里之前已经被填充了攻击数据。根据address命令,这些数据是在栈上。
我们发现这个函数在这之前并没有初始化这个局部变量,其他的函数也不可能初始化这个函数栈帧里的局部变量,故这些栈上的数据应该是其他函数用完释放的,故这个漏洞是个类似Use-after-free的漏洞。分析到这里我们也可以根据栈回溯的记录去动态调试确定这些数据的来源,根据poc里的代码:
ActiveXObject("MICROSOFT.XMLDOM");
while (src.length & 0x1002)
src = "\\\\\\\\xxx" +
src = src.substr(0, 0x1000 -
document.createElement_x("img");
obj.definition(00);
这些\X41都是正常申请的。
因为这个漏洞类似与UAF型漏洞,故如果要弄清楚这个漏洞的成因,我们应该更关心为什么会重用栈上的数据而不是这些数据是怎么来的(如果关心漏洞的利用,需要关注数据来源)。
Ok,重新明确了思路后,我们想看一下MSDN中关于definition的定义:
可见definition是作为属性的,而poc通过调用definition方法触发了漏洞,可见这个漏洞可能是由于本来作为属性的definition被当作方法调用产生的。
我们仔细分析以下这个msxml3!_dispatchImpl::InvokeHelper这个函数。
我们修改一下poc,在poc里作为属性调用definition,然后在windbg里对这个函数起始处下断点。
通过对比属性和方法两个poc中这个函数的流程,我们发现这个函数所走的流程是不同的。
通过上面f5出来的代码也可以看到函数是被一个if else分成了两个大部分,当definition作为方法调用时,走的是if为真的分支。
我们先看一下if的条件。
对于第一个条件:
当definition作为属性调用时,[EDI+8]等于0,当definition作为方法调用时,[EDI+8]等于1,这里决定了函数的大的分支走向。通过IDA里面的注释:
可以看到这个参数的名称为tagDISPPARAMS,通过测试可以确定这个是definition参数的个数,=0时即是definition作为属性调用的时候。
第二个条件:
Invoke_methods这个参数是用过后续的函数调用来确定,我们在IDA里向下分析,就会发现这个参数作为index在switch结构的线性表结构里选择执行函数,故可以确定这个参数是用于选择方法的,这里它的值是0x17,最后会选择get_definition函数。这里不为空(ebx为0)
这个参数在definition作为属性调用时为0x02,方法调用时为0x01,具体用途不明。
第四个和第五个
我们在windbg中跟踪到这里,查看eax的值为5de1f638,这个是dll文件中数据段的地址,直接在IDA中看注释:
我们看到很多类似的内容,以下面的firstChild为例,发现偏移14h和16h的地方都是一样的2和9。通过查MSDN可以知道firstChild也是只作为属性来调用的,所以我们可以把poc里面的definition改成firstChild,看看是否也会触发漏洞。
通过测试,并没有触发漏洞。我们在definition崩溃点下断点来比较一下:
在调用firstChild方法时,pvarg附近的数据是:
可见偏移8h的数据是01614c18,这个地址是有效的地址,他指向的5dda726c是一个虚表指针。而使用definition时,这里是0x。
根据紧挨这个位置的代码,pvarg的地址是作为参数的。Esi+20h指向的函数是一个switch结构,根据invoke_methods参数来选择调用的函数,当使用firstChild参数时调用的是get_firstChild函数,使用definition时调用的是get_definition函数,调用的时候都把pvarg的地址作为参数传入了。可见问题的关键是get_firstChild函数(5dda5358)对pvarg做了正确的处理,而get_definition(5dda5d38)则没有。
所以接下来的重点是仔细分析一下get_definition函数,以及对比一下这两个函数的区别。
未完待续...
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。你的位置: >
> 河南文化监管软件“矮哨兵”被利用仿造万象进程、图标通过IE漏洞(暴雷)下载病毒并执行,导致网吧QQ等帐号信息被盗
【问题现象】
客户机开机登录QQ过半小时左右QQ进程会消失、右下角小企鹅图标消失。通过监控软件监控发现是一个随机数字名字的进程将QQ进程结束,以下为模拟环境截图:
【原因说明】
经过层层排查,最终发现是文化监管软件“矮哨兵”下载模仿万象进程名字和图标的程序,利用IE漏洞(暴雷)下载病毒,并通过仿造万象的进程执行病毒。
而的IE安全插件SunwardIeSafe.dll却只能防御其执行,不能防御其下载,病毒也正是利用这个特征。真乃防不胜防。
【解决方案】
***微软2012年7月份针对XML组件溢出漏洞补丁,详情请见 。
【问题分析】
通过监控的截图发现,是一个名为“clssmn.exe”并且图标与万象客户端管理软件图标极其相似的进程打开IE浏览器下载了z.exe到C:\Documents and Settings\Administrator\Application Data目录,下载完成后clssmn.exe执行了z.exe。
在看到这个现象的时候还以为是万象的进程下载了这个病毒,但是仔细查看发现,比万象的进程多了一个“s”,打开目录后发现这并不是万象的文件,而且进程可以随时结束、文件可以随时删除。
为了确认这个进程到底是怎么运行起来的,与用户沟通后,在一个单独***网维软件,不***任何其他第三方收费、文化软件的还原点上进行了测试,测试后发现,是运行了河南文化监管软件“矮哨兵”以后这个名为clssmn.exe的进程就创建了。详见下图:
通过上图可以发现,矮哨兵的navi.exe在临时目录(%temp%)下创建了一个名为census.exe的文件并执行。此文件执行后又创建了一个名为tongjinew.exe的进程,最后这个tongjinew.exe的进程在system32目录下创建了clssmn.exe并运行了一个批处理。批处理通过软件查看命令如下:
从命令内容来看,是延迟1200秒也就是20分钟后执行c:\windows\system32\clssmn.exe。到此已经很明显的确定此现象就是***了文化监管软件“矮哨兵”造成的。但是仔细观察后发现,clssmn.exe调用IE并非是直接下载的exe文件,而只是访问了一个广告网站,怎么会下载出一个exe文件到系统内呢?如下图:
当手动输入网站
时并不会有什么文件创建出来。查看了一下在访问此网站之前clssmn.exe做过的操作,是执行了一条清除缓存的命令“RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2”,随后自己测试先在命令提示符下运行这个命令,再访问此网站,果然病毒下载出来了。
这是什么?没错,这是IE漏洞,在不经过我允许的情况下私自从某网站下载并执行文件,没有任何提示、任何警告就运行了,为了确认是否的确是IE漏洞,重新启动客户机,在不启动矮哨兵的情况下直接访问这个网站,也的确100%会下载这个z.exe的文件。但是不会执行,其实原因很简单,是我们的IE安全插件起到了作用,当X:\NBMSClient\SunwardIeSafe.dll插件在IE的管理加载项存留时,所有通过IE浏览器溢出方式执行的文件都会被拦截掉,但是防御不了他下载。而clssmn.exe也正是钻了可以下载的空子执行了z.exe。
至此已经确定是IE漏洞,但是具体是哪方面的漏洞又让我纠结了很久,开始一直以为是IE浏览器里面的某个插件漏洞导致的问题,而一一删除这些插件和注册表项都无法阻止病毒的下载。最后还是通过网页源代码逐一分析。
当打开这个网站时,发现左下角加载时间最长的一个地址就是:113/ppp.html,如下图:
使用httpwacth监控可以看到,在访问的一系列地址中可以找到与上面地址类似的域名:
当直接访问这个域名的时候,病毒就下载了出来。分析时可以看到,的确是有执行ppp.html这个地址的代码:
下载打开ppp.html查看源代码发现大部分已经被加密,根本没办法看。不过通过上次XML组件漏洞的学习知道,只要想利用某些文件的漏洞下载病毒,那么它一定会有一段“clsid”,尝试在ppp.html里面搜索clsid时发现,的确是调用了一个组件,而且这个组件正是与我们7月发现的暴雷漏洞的组件一样的ID。如下图:
排查到这里,我不得不怀疑与之前的暴雷漏洞如出一辙了,马上提醒网吧管理人员开启超级用户***好7月份的补丁查看效果,最终确定***补丁后访问此网站或运行矮哨兵再也不会中毒了。
转载请注明: &
与本文相关的文章

参考资料

 

随机推荐