漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-044352
漏洞标题:深信服Activex控件BOF漏洞
相关厂商:深信服
漏洞作者: 摸了你
提交时间:2013-11-28 22:37
修复时间:2014-02-26 22:38
公开时间:2014-02-26 22:38
漏洞类型:远程代码执行
危害等级:高
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-11-28: 细节已通知厂商并且等待厂商处理中
2013-11-29: 厂商已经确认,细节仅向厂商公开
2013-12-02: 细节向第三方安全合作伙伴开放
2014-01-23: 细节向核心白帽子及相关领域专家公开
2014-02-02: 细节向普通白帽子公开
2014-02-12: 细节向实习白帽子公开
2014-02-26: 细节向公众公开
简要描述:
BOF一枚,提交这个是想告诉,白帽子同学,如果知其所有然,就不会有相同的漏洞被其它人发现了(ActiveX 漏洞挖掘&分析教程)!
详细说明:
说明:
起因是这样的,在分析 WooYun: 深信服Activex控件bufferoverflow漏洞 这个漏洞的时候,发现其实还有处可导致BOF,只不过参数不一样,漏洞产生的位置也相近,
下面来过程。
1、Fuzz
前面洞主用的Fuzz工具是Dranzer,我用的是COMRadier。
没能找到其它地方下载该ActiveX,只能按 想要减肥的胖子 提供的链接下载程序并安装。
使用ComRadier的方法,很简单!搜一下便知。
Fuzz后,此处我们只关心Fuzz后Result列为Cause Exception的相关行,选中该行后,下面列表里会显示产生异常的Address,异常原因,这里我们只看,异常地址为41414141的,因为41414141意味着eip被覆盖成41414141。
2、分析异常原因
右击选中的行弹出菜单,选中Lauch in Olly,此外我设置的Immunity Debug(此外同样适用于OD),它会加载Fuzz的测试文件。
Alt+E打开Immunity Debug模块,找到OLEAUT32.dll
双击该模块,进去后按Ctrl+n键,找到DispCallFunc函数,按F2下断
F9直接跑,程序断在DispCallFunc,此时,托动鼠标向下找,找到Call Ecx 指令,按F4,执行到此处
然后 F7 单步步入
然后 按F8 一直走,走到每一个 Call的时候要注意记下,找到异常Call,要重复执行以上步骤。
直到我们找到产生异常的Call
此处我们便可以分析,汇编了,汇编可以发现
REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] 这条指令把执行了拷贝数据到堆栈的操作。
3、IDA
汇编太难懂,能不能更直观点呢,IDA上场了。
我们找到这个异常发生的函数的地址此处是020099A0,看下该模块在Immunity 里的地址是02001000,那么可得offset为89A0,那么我们用IDA打开ActiveX对应的dll,用IDA的起始地址10001000+89A0,得到函数的偏移,按住g,到达100099A0处
按下F5
得到如下从汇编到C的代码
分析代码可知,原因是由于之前的漏洞是因为此处
memcpy((char *)&v19 + v12 + 32, ArgList, v13);
导致,此处v19为局部变量,v12为第5个参数的长度,v13为函数第一个参数的长度,
这里将此参数的第一个参数的值拷贝到局部变量,而没有限制,校验长度,导致BOF。
那么我们细看,该函数还有一个参数是字符串,还有一个memcpy的调用
memcpy((void *)&v26, a5, ~v10);
这里是将函数的第5个参数拷贝到v26的地址,长度为a5的长度,同样会导致BOF。
往下拉我们的ComRaider,它也Fuzz出来了。
之前的BOF,通过Heay Spray可成功弹出计算器。此处同理,我们只需要把之前漏洞作者的POC中
target.ClientLoginToCDC(buffer,1,"defaultv",1,"defaultv",1,1);
target.ClientLoginToCDC("defaultv",1,"defaultv",1,buffer,1,1);
就行。
4、本想在zone发分析的,想想,这里有个隐藏的之前没有提,怕厂商像tx那样只修改一个参数,导致白帽子多次提交同一处的不同参数导致的漏洞,这里我就提交下。
漏洞证明:
IE7下测试,成功弹出Calc.exe
修复方案:
慎用memcpy
版权声明:转载请注明来源 摸了你@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2013-11-29 14:31
厂商回复:
现有补丁包中的已修复漏洞,依然谢谢
最新状态:
暂无