当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-044618

漏洞标题:金山毒霸NDProxy漏洞防护再次轻易绕过(第二弹)

相关厂商:金山毒霸

漏洞作者: zeroday-king

提交时间:2013-12-01 22:43

修复时间:2014-03-01 22:43

公开时间:2014-03-01 22:43

漏洞类型:权限提升

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-12-01: 细节已通知厂商并且等待厂商处理中
2013-12-03: 厂商已经确认,细节仅向厂商公开
2013-12-06: 细节向第三方安全合作伙伴开放
2014-01-27: 细节向核心白帽子及相关领域专家公开
2014-02-06: 细节向普通白帽子公开
2014-02-16: 细节向实习白帽子公开
2014-03-01: 细节向公众公开

简要描述:

11.29提交了金山毒霸防御微软NDProxy内核漏洞的版本存在轻松绕过缺陷http://www.wooyun.org/bugs/wooyun-2010-044412。
今天看了看,金山已经修复了之前“拦一个漏一个的低级错误”(NDProxy漏洞CVE-2013-5065有两个设备控制码都可以触发),不过稍微变下攻击手法,金山这个漏洞防护又可以轻松绕过了,演示视频http://v.youku.com/v_show/id_XNjQyMTgxNTM2.html
其实绕过方法已经很old了,乌云上去年就有人提交过,所以说不认真学习乌云吞恶果啊。

详细说明:

金山毒霸的新驱动kisknl.sys (2013年11月29日 20:22:48) ,修复了之前报告的写一个漏一个的漏洞,把两个控制码都拦截了,不过拦截处理上还有问题。
在处理设备控制时,kisknl.sys会在异常处理捕获中访问缓存,并判断其中是否存在可造成攻击的数值。我们将缓存构造成PAGE_GUARD的,就会触发kisknl的异常处理,放行这个设备控制,接着系统就去除guard标记,将有问题的设备控制命令发送到有漏洞的驱动了,就这么绕过了金山毒霸的拦截。
这里用的guard page绕过技巧是乌云在2012年11月公开的一个漏洞: WooYun: 主动防御类软件的通用实现漏洞 里首先在国内公开的。

漏洞证明:

*((DWORD *)((PCHAR)InputBuffer+0x14)) = 0x7030125; DWORD dwoldprot ;
VirtualProtect(InputBuffer , 0x400 , PAGE_READWRITE | PAGE_GUARD , &dwoldprot);
DeviceIoControl(hDevice, 0x8fff23c8, InputBuffer, 0x400, InputBuffer, 0x80, &junk, 0);
运行后即BSOD,设置SHELLCODE后可内核执行代码。

test2.png


修复方案:

认真学习

版权声明:转载请注明来源 zeroday-king@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2013-12-03 11:03

厂商回复:

收到,非常感谢。我们将尽快协调业务部门进行漏洞确认与更新升级。

最新状态:

2013-12-10:目前最新版已经修复,非常感谢