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

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

缺陷编号:wooyun-2015-0155003

漏洞标题:360手机浏览器wormhole漏洞可导致任意命令执行

相关厂商:奇虎360

漏洞作者: ilovewuyun

提交时间:2015-11-23 11:16

修复时间:2015-12-17 14:48

公开时间:2015-12-17 14:48

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-23: 细节已通知厂商并且等待厂商处理中
2015-11-23: 厂商已经确认,细节仅向厂商公开
2015-11-26: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2016-01-17: 细节向核心白帽子及相关领域专家公开
2016-01-27: 细节向普通白帽子公开
2016-02-06: 细节向实习白帽子公开
2015-12-17: 细节向公众公开

简要描述:

360手机浏览器(包括最新版)存在远程控制漏洞。任何来源的攻击者均可远程大规模控制受害者手机并执行任意命令。命令执行可以享有360手机浏览器的所有权限(拍照、录像、录音等),如果360手机浏览器有root,问题会更严重。

详细说明:

此分析基于360手机浏览器的最新版:

1.png


MD5= 675d2679790bf16476840f61314bd3cb
Package Name: com.qihoo.browser
点开运行后发现静默监听端口6587,且远程可连,也没有对连接来源做任何限制:

2.png


从/proc/net/tcp可以看出app uid是10092,且从netstat的返回结果看,是进程8235在监听该端口,通过ps可以找到该进程及其命令:

3.png



找到该文件(um.3)发现,这是个ELF文件。通过逆向证实它的确打开了6587端口并监听。
进一步的检查发现,它通过http request接收两个参数,t和u。t的取值可以是0或1。
当t为0时,功能为查询app版本信息,如下图所示(**.**.**.**为受害者IP,下文同):

4.png


当t为1时,功能为打开u参数所指定的任意URL,如下图所示:

5.png


进一步逆向发现打开URL对应如下代码:

6.png



可以看出实际上是调用com.google.android.apps.chrome.Main这个activity来打开URL ,并且会尝试用root权限打开。虽然最新版里并不存在这个activity,所以不能完成打开URL操作,其他渠道发布的版本以及历史版本中是否有该acitivity仍待确认。
这里要强调的是,不管360手机浏览器的各个版本是否实现了com.google.android.apps.chrome.Main来打开URL,这部分逻辑是可以被任意来源的攻击者远程exploit执行任意命令的。原因是该逻辑并没有对http request来的内容做任何检查就送进了system()执行,攻击者可以将那条am start命令截断(例如用分号)然后插入自己想执行的命令。以360强大的安全能力,我们不多加猜测他们这个用法是漏洞还是后门。例如,攻击者可以调用:

curl -X GET 'http://**.**.**.**:6587/t=1&u=**.**.**.**;echo haha > /sdcard/xixi;'


执行该命令后可以看到sdcard里出现了xixi文件,内容是haha。
所以,攻击者能 用360手机浏览器的权限大规模控制受害者手机。360手机助手的部分权限列举如下:
android.permission.ACCESS_FINE_LOCATION
android.permission.CAMERA
android.permission.RECORD_AUDIO
android.permission.GET_ACCOUNTS
android.permission.MANAGE_ACCOUNTS
android.permission.USE_CREDENTIALS
android.permission.SEND_SMS
android.permission.RECEIVE_SMS
android.permission.WRITE_SETTINGS
com.android.browser.permission.READ_HISTORY_BOOKMARKS
com.android.launcher.permission.WRITE_SETTINGS
基本上控制受害者手机录像、拍照、录音、窃取隐私、发起高级钓鱼攻击等都不成问题。而如果360手机浏览器拥有root权限,情况将会更严重。

漏洞证明:

假设要执行的攻击命令为CMD,受害者IP为**.**.**.**,则在运行360手机浏览器后执行如下命令即可。其中**.**.**.**并不重要,可以换成任何url。

curl -X GET 'http://**.**.**.**:6587/t=1&u=**.**.**.**;CMD;'

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-11-23 14:13

厂商回复:

非常感谢白帽子对360产品安全的帮助。我们已紧急修复此漏洞,并会全网推送升级,提示用户尽快更新版本。

最新状态:

暂无