漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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后可内核执行代码。
修复方案:
认真学习
版权声明:转载请注明来源 zeroday-king@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:7
确认时间:2013-12-03 11:03
厂商回复:
收到,非常感谢。我们将尽快协调业务部门进行漏洞确认与更新升级。
最新状态:
2013-12-10:目前最新版已经修复,非常感谢