漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0170984
漏洞标题:360 安全浏览器远程命令执行漏洞(访问任意网站即可植入恶意软件)
相关厂商:奇虎360
漏洞作者: 唐朝实验室
提交时间:2016-01-19 09:29
修复时间:2016-04-11 16:08
公开时间:2016-04-11 16:08
漏洞类型:远程代码执行
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-01-19: 细节已通知厂商并且等待厂商处理中
2016-01-19: 厂商已经确认,细节仅向厂商公开
2016-01-22: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-03-14: 细节向核心白帽子及相关领域专家公开
2016-03-24: 细节向普通白帽子公开
2016-04-03: 细节向实习白帽子公开
2016-04-11: 细节向公众公开
简要描述:
只是单纯的分享技术,其他的留给下面的评论吧。
详细说明:
测试环境为 Windows 7 + 360 安全浏览器,最新版本,如下:
360 安全浏览器支持两种类型的扩展程序:
1. 类似 http://**.**.**.**/ext/xxx.crx 的 chrome 扩展,安装过程需要用户确认;
2. 类似 http://**.**.**.**/xxx/xx.zip 的 360 私有应用,安装过程不需要用户确认;
安装扩展是通过浏览器的私有 api 完成,代码为:
第二类扩展程序功能较为强大,扩展中常有 exe/dll 等文件。正因为如此,浏览器做了限制,downurl 中的链接只有符合条件才会被下载安装。
具体什么条件?咱们来分析下:
通过浏览器目录文件命令大概判断,扩展相关的功能是放在 seappmgr.dll 文件中,放入 IDA 中,通过搜索 InstallAppItem,downurl,360safe,http:// 等关键字,最后定位到如下代码:
看样子应该白名单,
进一步分析从 downurl 中取域名是通过 InternetCrackUrlW 函数完成的,并不是直接通过正则匹配 downurl,怎么能够绕过 InternetCrackUrlW 是个问题?如果能够在这些域名下载找个 URL 跳转那岂不完美,可问题一分钱难道英雄汉。
**.**.**.** 这个域名中间有个通配符,值得关注。反复测试,当把 downurl 写成:
奇迹出现了,x.x.x.x/.**.**.**.** 符合 **.**.**.** 策略,而宽字节字符 / 又会被浏览器识别为 /,完美。
把 ExtYouxi**.**.**.**2.zip 文件下载到自己的服务器上,经过测试,插件静默安装完成。接着就是想办法把 ExtYouxi**.**.**.**2.zip 替换成恶意的文件,来达到命令执行的目的。
反复测试发现,ExtYouxi_**.**.**.**2.zip 文件中当加入别的 dll/exe 等可执行文件则无法完成插件的安装,难道是对压缩包内的文件做了签名校验?但是当把一个文件名中含有 ../ 的文件放进压缩包内则能够顺利安装插件,并且这个文件顺利的放到了我们让其跳转的目录。你肯定想到我们要做什么事情了。
是的,我们要把一个 exe 文件放到 Windows 的启动目录内。
插件安装后的目录为:
我们把文件名为 /../../../../../Microsoft/Windows/Start Menu/Programs/Startup/funny.exe 的文件放进压缩包。通过之前的代码安装该插件,funny.exe 文件完美的放到了下面的文件夹中:
到这里我们的正常流程应该是在某特权域下找一个 xss,然后通过 xss 写入恶意代码来完成攻击,最初我也是这么想的,还找到一个 xss,并且完成了攻击代码的编写(其实超简单)。
但是,万万没想到,当我把 se6api.sid 设置为空,随便在一个域名下执行安装代码都能够安装成功。
简直不敢想像,这可是 360 啊!!!
漏洞证明:
请看:
链接: http://**.**.**.**/v_show/id_XMTQ1MDE0MDU1Mg==.html 密码:haidianwooyun
修复方案:
1. 最简单的是把宽字节的斜线符号 / 过滤掉
2. 特权 api 当然在特权域下才能调用
版权声明:转载请注明来源 唐朝实验室@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2016-01-19 12:22
厂商回复:
感谢白帽子反馈,我们第一时间跟进处理,预祝白帽子同学们新年快乐。
最新状态:
暂无