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

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

缺陷编号:wooyun-2014-069674

漏洞标题:利用系统缺陷过百度杀毒主动防御

相关厂商:百度

漏洞作者: 104705824

提交时间:2014-07-26 22:37

修复时间:2014-09-09 22:38

公开时间:2014-09-09 22:38

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-26: 细节已通知厂商并且等待厂商处理中
2014-07-28: 厂商已经确认,细节仅向厂商公开
2014-08-07: 细节向核心白帽子及相关领域专家公开
2014-08-17: 细节向普通白帽子公开
2014-08-27: 细节向实习白帽子公开
2014-09-09: 细节向公众公开

简要描述:

其实这个漏洞各大杀毒厂商都曾经存在过,名字就不点了。有的是自己从某些渠道得知修复了有的是上报修复的。前些天测试百度杀毒才知道也存在这个漏洞,利用微软的某个缺陷绕过百度杀毒主动防御,可进行各种敏感操作可加载驱动。

详细说明:

原理:利用微软畸形文件夹漏洞
新建一个带相同文件名带".."号的,系统将这个文件夹误认为同一个文件夹
那么将这个特殊文件夹里的程序命名为同一文件名的话系统也将此程序误认为同一程序
利用这个我们可以伪造任意可信任程序(如系统文件/可信任软件)
很多安全软件都会放过可信任软件或系统文件进行敏感操作的。
同样道理,我们可以将自己的任意驱动文件(包括恶意驱动)伪造成系统驱动或安全软件自己的驱动就可以加载自己的驱动了。
可信任程序加可信任驱动一般都是不提示的。
1.测试
在百度杀毒文件夹里创建一个与百度杀毒文件目录同名带".."的文件夹
命令:md "C:\Program Files\Baidu\BaiduSd\2.1.0.2625..\" (删除可以目录用 rd /q /s "C:\Program Files\Baidu\BaiduSd\2.1.0.2625..\" )
打开这个文件夹
在运行中输入:"C:\Program Files\Baidu\BaiduSd\2.1.0.2625..\" 说明:必须带"号否则无法打开
将利用程序复制到这个文件夹中,并重命名百度杀毒文件的任意一个程序比如BaiduSdTray.exe
发现图标起了变化 查看版本号等程序信息都变成了百度杀毒自己的文件。
微软提供的路径解析函数存在缺陷,会将利用的程序误认为是同名程序,这里利用程序变成了百度杀毒自己的程序,这样就可以绕过白名单机制(一般安全软件都会将系统自带文件或者认证的程序是白名单),可以进行敏感操作。比如加载驱动,一般没有认证的程序或驱动加载是被拦截的。
我们都知道系统的驱动文件都是放在C:\WINDOWS\system32\drivers文件夹
同样我们创建一个带..的文件夹 C:\WINDOWS\system32\drivers..\
将要利用的驱动文件放在这个文件夹中
找一个百度杀毒自己的驱动bd0001.sys
将利用的驱动文件重新命名为bd0001.sys
本来拦截的现在已经不拦截了
出现两个bd0001.sys 已经成功加载驱动
2.通用的利用方法方法:伪造系统文件和伪造系统驱动
伪造系统文件:创建一个 C:\WINDOWS\system32..\ 文件夹 将利用程序重新命名为svchost.exe
伪造系统驱动:创建一个系统驱动文件夹 C:\WINDOWS\system32\drivers..\ 将利用的驱动文件重新命名为beep.sys
这两个都是系统文件百度杀毒白名单机制肯定是允许进行各种敏感操作的

漏洞证明:

附上漏洞测试视频和程序
链接:http://pan.baidu.com/s/1nt5beqt 密码:isex

修复方案:

修正下检测文件的真实路径
或者直接拦截运行在畸形文件夹里的程序

版权声明:转载请注明来源 104705824@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-07-28 12:27

厂商回复:

感谢对百度安全的支持。我们已联系业务部门处理!

最新状态:

暂无