漏洞概要
关注数(24)
关注此漏洞
漏洞标题:wormhole第二弹来袭:360某应用可远程静默安装app
提交时间:2015-11-10 16:37
修复时间:2015-12-17 14:48
公开时间:2015-12-17 14:48
漏洞类型:远程代码执行
危害等级:高
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2015-11-10: 细节已通知厂商并且等待厂商处理中
2015-11-10: 厂商已经确认,细节仅向厂商公开
2015-11-13: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航)
2016-01-04: 细节向核心白帽子及相关领域专家公开
2016-01-14: 细节向普通白帽子公开
2016-01-24: 细节向实习白帽子公开
2015-12-17: 细节向公众公开
简要描述:
360一贯给分较低,这个写出来的主要目的是给大家看看的,所以写的比较详细,嘿嘿.
3.2.57 Google play版,可被黑客控制
3.2.68 官网最新稳定版,只能被360域触发
3.4.70 官网最新beta版,只能被360域触发
5.0.15 官网最新公测版,可被黑客控制
理论上3.2.68之前版本以及公测版本均受到影响,(后面测试蜂窝网的返回的 versioncode 也佐证此点)
详细说明:
影响版本信息
3.2.57 Google play版,可被黑客控制
3.2.68 官网最新稳定版,只能被360域触发
3.4.70 官网最新beta版,只能被360域触发
5.0.15 官网最新公测版,可被黑客控制
理论上3.2.68之前版本以及公测版本均受到影响,(后面测试蜂窝网的返回的 versioncode 也佐证此点)
---
漏洞分析
NanoHttpd监听38517端口
实现的接口如下
比较多,接下来分析两个重要的接口 in (远程静默安装 app) openBrowser(远程打开任意网页)
in接口接收如下参数
会有一个 sign 的验证的,比较简单是将 url 和一个静态 salt md5取 hash 值
openBrowser相对要较为复杂一点,对参数进行了 aes 加密,还对访问的域进行了限制.不过因为 aes 的密钥硬编码可以绕过,还域验证用了 endswith 也是可以绕过的
参数只接收了一个 url
之后便是 aes 解密了,key 和 iv 都是可以逆向得到的
解密得到的 url 会再进行一次检测
漏洞证明:
---
部分 poc
---
蜂窝网测试,影响范围不如百度的广,大概一个 c 段三四个 UE受到影响,之前百度 wormhole一个 C 段大概二三十个 UE 会受到影响 (一个运营商的条件下)
---
最新版(正式版)对功能触发的改进.
3.2.68之前 sign / aes 加密等由于都是本地验证且密钥都是硬编码的,所以可以轻易绕过.但是3.2.68以及之后版本加入服务端的验证,使得攻击成本更高.
传入的 url 会把拿到360的服务端获取一个url 进行比较,一样才会执行.这就意味着这个接口就只能360能够调用了.(看来经过百度的wormhole 后360研究了一个不错的解决方案.)
这里还得注意一点,就是在2015.11.3 nanohttpd 代码更新关于 remote-addr 的处理所以没办法继续伪造了.
https://**.**.**.**/NanoHttpd/nanohttpd/commit/0f5ae0751dcaf3182ba094403debaf085b3ac58e#diff-0656f07a7b3ca3d12d932e10d132ae31
---
关于 wormhole 后门说的见解
因为 webview 的安全性问题,谷歌对其重重限制,直到 4.4.2之后开始禁止 js 反射调用 java 方法.使得 web 和 app 的 java 层交换没法通过android 现在有 api 实现了.如果开发者需要这个功能就得另寻找他法了.比如利用 NanoHttpd 监听本地一个端口,接收传入的参数来执行一些操作或者命令.这时候如果访问网页就可以通过 js 调用请求触发这个功能了.
之前访问百度的手机站点,百度统计的 js 便会发起一些收集信息的操作
同样在360的域下 **.**.**.** **.**.**.** 也发现了一些调用这些功能的 js
对localhost 的端口进行访问
远程静默安装 app 的 js
访问直接触发信息收集的功能
所以我的结论是: 如果你信这个厂商wormhoel便是一个强大的 web app 交互功能, 你不信这个厂的话便是一个强大的后门.
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2015-11-10 17:15
厂商回复:
感谢提交,这个问题是和之前报告的是同一个问题。如乌云唐朝实验室提交的报告所描叙,下载的url会和360服务端进行比较,不管新老版本,这个是360默认就有的安全防护措施,不是针对百度虫洞漏洞所临时添加的安全防护措施,此类恶意下载行为360会在云端屏蔽,基于用户体验考虑不会打扰提醒用户。360手机助手的最新版本不存在此安全问题,已经将高权限的功能去掉对外端口开放,根据你们的建议,后期我们会给用户再加入更严苛的安全提示措施。
最新状态:
暂无
漏洞评价:
评价
-
2015-11-10 16:42 |
举起手来 ( 核心白帽子 | Rank:1161 漏洞数:117 | 准备好,举起手来!)
-
2015-11-10 16:43 |
F4K3R ( 普通白帽子 | Rank:318 漏洞数:34 | 学习)
-
2015-11-10 16:44 |
帅 ( 路人 | Rank:30 漏洞数:2 | 一个正经的JAVA程序猿)
-
2015-11-10 16:46 |
毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)
-
2015-11-10 16:47 |
随风的风 ( 普通白帽子 | Rank:211 漏洞数:76 | 微信公众号:233sec 不定期分享各种漏洞思...)
-
2015-11-10 16:48 |
随风的风 ( 普通白帽子 | Rank:211 漏洞数:76 | 微信公众号:233sec 不定期分享各种漏洞思...)
-
2015-11-10 16:48 |
我是你的益达! ( 路人 | Rank:29 漏洞数:5 | 容我喝壹杯捌贰年的雪碧压压精!!)
-
2015-11-10 16:51 |
DNS ( 普通白帽子 | Rank:711 漏洞数:73 | root@qisec.com)
-
2015-11-10 16:54 |
李旭敏 ( 普通白帽子 | Rank:672 漏洞数:99 | ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...)
-
2015-11-10 16:57 |
f4ckbaidu ( 普通白帽子 | Rank:223 漏洞数:28 | 开发真是日了狗了)
-
2015-11-11 20:13 |
duanwangye ( 路人 | Rank:1 漏洞数:1 | 我想静静...)
-
2015-11-18 05:01 |
小手冰凉 ( 普通白帽子 | Rank:188 漏洞数:20 | 幸福你我他)
"不是针对百度虫洞漏洞所临时添加的安全防护措施" 百度虫洞漏洞.....这个锅甩的我给100分
-
2015-11-19 22:22 |
吃虾小能手 ( 普通白帽子 | Rank:213 漏洞数:21 | 老板,还有虾吗?)
"不是针对百度虫洞漏洞所临时添加的安全防护措施"说别人总是很厉害