03月11, 2014

浏览器杀手 :“暗杀黑帮”木马的技术分析

作者:陈宏伟 张昊

近日,不少网友反馈称UC浏览器在手机解锁后无故被卸载删除。360手机安全中心研究发现这是“暗杀黑帮”木马所为,据360手机安全专家分析,该木马很可能通过手机预装系统或第三方ROM感染,木马在云端远程控制下可删除任何指定软件和安装任何指定软件,不排除后续演化成更加恶劣的扣费行径。粗略统计,仅一月时间该木马已感染近百万安卓手机,甚至包括部分智能电视也已中招。暗杀黑帮木马的病毒文件很多,其中有一些深深扎根于系统的ROM中,普通的手机杀毒软件难以清除,为此,360手机安全中心独家发布“暗杀黑帮”木马专杀工具下载),完全清除该木马,保护用户的信息和财产安全。

下面是“暗杀黑帮”木马的完整分析报告。

目录

第一部分 Down Manager Eng 的分析

第二部分 CorePipe的分析

第三部分 其他关联样本分析

第四部分 未知威胁

第一部分 Down Manager Eng 的分析

文件1

应用名:下载管理

包名:com.mobile.factory.eng

md5:6a51a2332ffe3591f27450b0c3b34f43

文件2

文件名:libsys-mpmsecure.so

存在路径:/system/lib/

md5:044bb91af02d871a117236145c5eb8a7

行为概述:该软件伪装系统软件,通过手机解锁,网络状态改变等系统广播触发运行,后台联网根据服务器指令强制下载、安装和卸载指定软件,给用户带来安全风险和资费损失。

  1. com.mobile.factory.eng程序的启动

应用安装后没有图标,通过注册receiver来接受系统广播来实现启动。

image1

  1. receiver的分析

在收到系统广播后判断是否是android.intent.action.PACKAGE_ADDED(应用安装广播),如果是该广播则继续处理。

image2

查询数据库中的app_info表获得指定应用的相关信息,同时检查新安装的应用是否是指定的应用,如果是则启动这个新安装的应用。

image3

之后判断网络状态,如未连接则直接返回

image4

从数据库中读取要运行的应用的信息,并在在特定的情况下运行指定的应用。

image5

随后继续运行,启动后续的2个服务。

image7

image8

  1. 主服务的分析

image7

后台服务启动后主动读取用户信息如手机型号、IMEI、IMSI等信息,并上传至服务器,同时请求数据。

image9

  1. 网络访问

image10

image11

访问的目标地址经过base64解密后:

image12

image13

image14

动态调试中实际上传的信息:

image15

接收服务器下发的数据信息并转换为json。信息内容包括要安装的软件列表和要卸载的软件列表。

image16

image17

消息处理image18

解析转换后的json格式的数据信息,为插入数据库做准备。

image19

具体数据解析过程。

image20

image21

将解析后的数据插入到数据库

image22

生成数据库的结构及内容。

image23

  1. 下载服务的分析

image24

操作数据库,image25

执行下载

image26

image27

image28

image29

image30

  1. 应用的安装

由MainService发起安装,并通过调用jni的函数来实现,

image31

安装的代码并不在com.mobile.factory.eng文件里,而是调用/system/lib/libsys-mpmsecure.so文件来实现。

实际参数不符合,并不会成功的执行安装。

image32

image33

image34image35

由DownService发起的安装,根据服务net.omigo.android.server是否存在决定是采用静默安装还是正常安装。

image36

应用的静默安装在/system/lib/libsys-mpmsecure.so文件中实现

java层加载so文件

image37

声明函数

image38

native层代码实现

image39

image40

image41

service如果不存在,则采用正常的安装方式,弹出安装界面。image42

image43

  1. 应用的卸载

通过分析,发现和应用卸载相关的信息存储在数据库的del_app表中。整个程序中有2处会卸载应用。

第一处是在MainService的启动中

image44

第二处是在处理服务器下发的json来更新本地数据库的过程中。

image45

在db文件中,发现已经删除的数据。

image46

卸载的应用如下:

image47

从数据库中查询要卸载的应用。

image48

执行卸载操作。

image49

  1. 伪造短信

是否插入短信是由服务器下发的信息来决定的,当下发的json中包含“vSms”时才会去执行伪造短信的操作。

从json中获取vSms相关的配置信息

image50

image51

由于病毒自身并没有短信相关的权限,所以他需要借助其他程序才能插入短信。

image52

病毒先检测com.walmark.split是否存在,如果存在则继续准备插入短信的数据。

image53

image54

image55

将待插入短信的信息以广播的方式发送出去。

image56

在接收到广播后,会先去校验Bundle中的md5字段是否和程序预置的值相等,相等则继续处理广播,否则直接返回,不处理该广播。

image57

预置的MD5值

image58

image59

从Bundle中获取要插入段的内容信息。

image60

插入短信。

image61

image62

  1. 打开指定网址

image63

设置打开网页Activity的界面布局

image64

image65

第二部分 CorePipe的分析

应用名:com.android.core

包名:com.android.core

MD5:4f5d6718f32e1d7f827079794dfd6154

该样本与com.mobile.factory.eng同样调用/system/lib/libsys-mpmsecure.so文件进行静默安装,不同点在于没有进行数据库操作,直接通过联网指令进行静默安装,未发现卸载操作。

  1. 应用的启动

接收定时器广播和网络状态改变触发运行

image66

image67

  1. 服务的启动

服务CoreService启动后会设置定时器,发出广播,以便后续启动服务

image68image69

然后服务CoreService同样会联网上传手机基本信息,同时请求服务器指令。这部分功能与与com.mobile.factory.eng相同。

image70

image71

联网网址:

http://x.omigo.net/new/js

http://211.155.230.83/new/js

获取服务器返回指令后,解析服务器指令,与com.mobile.factory.eng不同的是,不会插入数据库。

image72

样本解析指令后会启动另一个服务FileService,该服务用于下载指定APK和静默安装

image73

image74

服务FileService启动后会调用线程com.android.core.server.d来实现下载和静默安装

image75

静默安装与com.mobile.factory.eng的实现一样,同样调用/system/lib/libsys-mpmsecure.so,此处不再赘述。

第三部分 其他关联样本分析

在com.mobile.factory.eng文件的manifest中,所在meta标签中读取了6个包名

image76

并且在com.mobile.factory.eng的主服务代码中会启动安装,但实际参数为空,导致事实这6个样本并不会安装。

样本对应包名如下:

com.union.factory.info

net.om.mpmsecure

com.android.system.mics

com.android.union.face

com.union.comm.info

com.union.comm.notice

我们对这些样本进行了分析,它们除了具备和com.mobile.factory.eng的恶意行为相同之外,还发现net.om.mpmsecure具有其他的恶意行为:

net.om.mpmsecure的分析

检测并结束安全软件进程

image77

检测安全软件

涉及的安全软件有:

com.tencent.qqpimsecure 腾讯手机管家

com.qihoo360.mobilesafe 360卫士

com.lbe.security LBE安全大师

com.ijinshan.mguard 金山手机卫士

image78

第四部分 未知威胁

我们在libsys-mpmsecure.so中发现了可疑的文件名称。

image79

我们在libcaivs-jni.so的文件中发现了存在另一个apk包的迹象,但是这个包不能够正常的使用。

image80

image81

由于文件损坏,所以无法继续分析。

关于这个文件的几点猜想:

  1. 病毒作者可能对数据进行了修改,在释放的时候进行修复,这样能保护文件不被他人破解;

  2. apk的数据文件也许是分块存储,在其他地方还有另一部分。

本文链接:http://blogs.360.cn/post/analysis_of_delbrwkiller.html

-- EOF --

Comments