报告来源:趋势科技
目前,人们之所以称之为漏洞是基于 Moplus SDK 的访问权限控制以及应该如何限制这种访问的角度。因此,它虽然具有漏洞相关的概念而实际上是一个后门程序,如推送钓鱼网页,插入任意联系人,发送伪造短信,上传本地文件到远程服务器,未经用户授权安装任意应用到 Android 设备。而执行这些行为唯一的要求是该设备首先需要连接互联网。由于 Moplus SDK 已经被集成到众多的 Android 应用程序中,这就意味着有上亿的Android用户受到了影响。
<img src="https://images.seebug.org/1446731796747" hight="640" width="360"></img>
图1.恶意软件使用的 Moplus SDK 来进行静默安装
#### 通过 Moplus SDK 挖掘
Moplus SDK是由百度开发的。在本例中,百度地图(com.baidu.BaiduMap,8.7.0)和“奇闻异录”(com.ufo.dcb.lingyi,1.3)。他们使用的Mo+ SDK的版本虽不同,但大部分代码是相同的。
![](https://images.seebug.org/1446731829604)
图2 com.ufo.dcb.lingyi使用的Moplus SDK
![](https://images.seebug.org/1446731807254)
图3 com.baidu.BaiduMap使用的 Moplus SDK
#### 它是如何集成到应用程序?
从应用程序的 Manifest 文件中可知 Moplus SDK 被包含在一个独立的进程中。其 main service 叫做com.baidu.android.moplus.MoPlusService,可以通过不同的广播事件触发,其中包括系统启动的广播。
![](https://images.seebug.org/1446731837842)
图4. Moplus 被集成到一个独立的背景。实际上,该恶意程序会自动启动
### Moplus SDK 的后门功能
当用户启动一个应用程序,Moplus SDK 会偷偷地在设备上自动设置一个本地 HTTP 服务器,用来监控通过socket的消息。为了实现这一点,它在代码中集成并修改了用Java编写的一个简单的开源HTTP服务器NanoHttpd。
![](https://images.seebug.org/1446731844958)
图5. Moplus SDK 在代码中集成并修改了 NanoHttpd
绑定到这个 HTTP 服务器的 TCP 端口并不总是一样的。在我们的例子中,我们发现 com.ufo.dcb.lingyi 绑定的端口是 6259,而 com.baidu.BaiduMap 绑定的端口是 40310。
![](https://images.seebug.org/1446731857681)
图6.绑定到本地的 HTTP 服务器的 TCP 端口并不总是一样的
HTTP 服务器保持监听 TCP 端口。它将接收和解析从远程客户端发送的消息。一旦有新的 HTTP 请求时,它会获取和解析消息头和消息体,并通过覆盖 NanoHttpd 文档中指定的 "server" 功能开始执行自己的恶意功能。
![](https://images.seebug.org/1446731862076)
图7.从 socket 连接中监控 HTTP 请求
![](https://images.seebug.org/1446731865253)
图8.调用自己的恶意行为覆盖 "server" 功能
这是一个典型的命令与控制(C&C)攻击模式。与传统的C&C攻击比较,唯一不同的是在这种情况下,服务器在用户端,而攻击客户端可以在任何地方。有很多恶意功能包含在SDK中,如下载和上传文件等。每个行为都是单独的一个类文件。
![](https://images.seebug.org/1446731869055)
图9. Moplus SDK 支持的恶意功能
![](https://images.seebug.org/1446731873392)
图10.恶意命令及源代码类之间的对应关系
从上述截图可以看出,攻击者可以从用户设备远程获取位置信息,搜索框信息,包信息和其它敏感数据。它可以在用户设备上远程添加联系人,扫描下载文件,上传特定文件。所有这些行为只需简单的通过发送 HTTP 请求便可以完成。
![](https://images.seebug.org/1446731876743)
图11.批量插入任意联系人
"sendintent" 是一个特殊的命令,可以用来在设备上发送本地意图。攻击者可以利用它来远程拨打电话,发送虚假消息,并在未经用户同意的情况下安装任意应用。
![](https://images.seebug.org/1446731880475)
图12. "sendintent" 命令可以被攻击者用于在用户设备上执行恶意控制行为
该 SDK 还可以检测设备是否 root 并且静默安装 APK
![](https://images.seebug.org/1446731891711)
图13.支持静默安装应用
![](https://images.seebug.org/1446732275163)
图14.区分 root 用户以便进行更多的恶意攻击
这些细节清楚地证明了这是一个后门恶意软件。一个攻击者可以攻击已经被 Moplus SDK 感染的任意设备。我们在 Nexus 6 最新的 Android 6.0 系统上有一个简短的演示(见图16-18)。当百度地图启动后,我们可以发现恶意服务(bdservice_v1)总是在后台运行。
![](https://images.seebug.org/1446732312911)
图15.恶意服务 bdservice_v1 一直在后台运行
![](https://images.seebug.org/1446732318293)
图16-18 自动添加联系人到移动设备上
因为在本地 HTTP 服务(由 Moplus SDK 建立的)中没有进行身份认证,使得攻击行为不仅可以通过 app 开发者,也可以由任何其它人来触发。只需一个命令,攻击者或者网络罪犯就可以远程控制感染的设备。此外,他们只需要使用nmap进行全网段扫描,测试 TCP 端口 6259 或 40310 的状态,端口状态为 OPEN 的所有 Android 设备都可能被远程控制。需要注意的是在同一个局域网内,以及在同一个的 3G/4G 网络的所有设备都可以被攻击。
这是一个严重的漏洞,也许甚至比需要包含有钓鱼链接的 Web 网页或用于发送恶意彩信的电话号码才能利用的 Stagefright 漏洞更糟糕。对于这个安全漏洞,攻击者只需简单地扫描网络IP,不需要用户终端的任何行为或任何社会工程学攻击。
#### 其它的发现
恶意软件(ANDROIDOS_WORMHOLE.HRXA)在使用 Moplus SDK 来自动和定期下载用户不需要的应用。当这些应用被下载到用户设备后,如果用户设备已经 root 了,则应用程序将被自动安装。
```
SHA1:2FA40A5302D92FB0C5C64CF6197F2D671BA7C30D
```
### 集成 Moplus SDK 的应用程序有哪些?
Moplus SDK 是一个开放的 SDK,根据我们的数据,总共有 14112 个应用程序集成了这个 SDK,其中 4014 个是百度官方的应用程序。在受影响的应用中排名前 20 位的应用如下:
```
com.qiyi.video
com.baidu.video
com.baidu.BaiduMap
com.baidu.browser.apps
com.baidu.appsearch
com.nd.android.pandahome2
com.hiapk.marketpho
com.baidu.hao123
com.baidu.searchbox
tv.pps.mobile
com.mfw.roadbook
com.tuniu.app.ui
com.ifeng.newvideo
com.baidu.netdisk
com.quanleimu.activity
com.dragon.android.pandaspace
com.yuedong.sport
com.dongqiudi.news
air.fyzb3
com.managershare
```
百度在最新的更新中已经移除了 Moplus SDK 中的恶意代码,并在其最新的产品中解决了该问题。经审查,百度地图最新的代码,我们发现,他们仍然在用户设备中开启了绑定 40310 开放端口的 NanoHttpd 服务。
![](https://images.seebug.org/1446732347796)
图19.在最新 Moplus 更新中本地 HTTP 服务仍保留与原来相同的 TCP 端口
虽然删除了部分恶意命令及相应的代码,包括在 root 手机中自动静默安装应用的恶意代码部分。然而,如图21所示,并非所有的恶意功能都已经被删除,用户设备仍处于危险之中。
![](https://images.seebug.org/1446732721628)
图20.部分恶意命令仍保留在最新 Moplus SDK
![](https://images.seebug.org/1446732726693)
图21.只有红色部分的恶意代码在最新的 Moplus SDK 中被删除
转载自 Freebuf, 参考来源 blog.trendmicro,译者:gh0stbo,VillanCh
参考链接:
http://blog.trendmicro.com/trendlabs-security-intelligence/setting-the-record-straight-on-moplus-sdk-and-the-wormhole-vulnerability/
全部评论 (4)