首页安全播报安全快讯 › APP SDK漏洞WormHole虫洞漏洞分析报告

APP SDK漏洞WormHole虫洞漏洞分析报告

2015-11-05

APP SDK漏洞 - WormHole虫洞漏洞分析报告


        近日,一份关于“百度全系APP SDK漏洞——WormHole虫洞漏洞分析报告”在网上流传。这份报告表示:“找到了一个非常严重的socket远程攻击漏洞,影响多个用户量过亿的APP。”基于此,腾讯安全实验室对WormHole虫洞漏洞进行了分析研究。

    1.基于对WormHole虫洞漏洞的影响与危害分析,腾讯移动安全实验室查询到至少15款百度系APP被感染。(未全部列出)


2,以下将针对漏洞分析及其原理进行解说


   动态分析:启动百度地图后,通过netstat指令查看监听接口,发现该应用会启动7777和40310两个端口进行监听。


    首先在手机安装手机百度app,通过adb shell连接到手机,使用netstat会打开40310/6259端口,并且任何IP来访问都可以进行连接,下面将对百度云包展开分析。

下面是关键代码部分:

漏洞原理:

  这个漏洞是基于客户端端口接收任意ip的连接,这个端口是java层nanohttp实现的,并且这个http服务是不死服务,百度取名叫ImmortalService,为什么叫不死服务呢?原因是这个http服务在手机后台一直运行,不会被系统Kill掉,黑客正好利用该端口接收任意ip的连接,并且一直在工作的特点,从而是外部恶意代码被发送到客户端执行。

         查看清单文件AndroidManfest.xml中,发现应用会启动com.baidu.hello.ImmortalService的服务。

       经测试,目前该sdk漏洞已修复,但是还会开启7777端口进行监听,目前漏洞核心已修改,本次漏洞的核心在om.baidu.hello.moplus中:

        百度sdk漏洞核心处

        通过静态代码分析,发现应用开启了一个http服务器NanoHttpd.通过内嵌入java的方式处理GET和POST等一系列请求。

      应用绑定好IP地址等信息后,后台会启动一个处理远端请求的线程,类V中的run(com.baidu.hello.patch.moplus.nebula.b),在新线程中应用会创建一个socket去进行数据交互,只要当前线程通信未终断,每当接收到一个输入流对象InputStream时,就会实例化一个I类对象去处理数据流。

        在com.baidu.hello.path.moplus.nebula.b.l分类中处理socket中的输入流,对具体数据进行解析

       再继续计进入com.baidu.hello.path.moplus.nebula.b.w类中处理Session,“Access-Control-Allow-Origi”客户端可以正常收到反馈过来的消息。

        攻击者解析命令和构建参数信息通信

   攻击者如果想要远程访问,需要在构造请求包的时候添加一个名为“remote-addr”的字段,并将这个字段的值置为127.0.0.1,判断是否是本地指令请求。

3,防御措施:

1,升级百度app版本,建议到指定官方网站下载升级应用

2,安装安全团队开发的”wormhole”漏洞工具 

3,安装腾讯手机管家最新版检测修复漏洞,确保手机安全。

安全快讯 更多

超98%安卓应用存有风险

超98%安卓应用存有风险

2019-06-17
2019高考查分倒计时

2019高考查分倒计时

2019-06-17
下载“端午大礼包”遭锁屏勒索

下载“端午大礼包”遭锁屏勒索

2019-06-06

安全视频 更多

小管说安全(4)——狗阿旺的案情回顾

2017-12-06

手柄助手完美适配光荣使命

2017-11-30

小管说安全(3)——谣言有毒

2017-10-24