作者:陈宏伟 张昊
近日,不少网友反馈称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
行为概述:该软件伪装系统软件,通过手机解锁,网络状态改变等系统广播触发运行,后台联网根据服务器指令强制下载、安装和卸载指定软件,给用户带来安全风险和资费损失。
- com.mobile.factory.eng程序的启动
应用安装后没有图标,通过注册receiver来接受系统广播来实现启动。
- receiver的分析
在收到系统广播后判断是否是android.intent.action.PACKAGE_ADDED(应用安装广播),如果是该广播则继续处理。
查询数据库中的app_info表获得指定应用的相关信息,同时检查新安装的应用是否是指定的应用,如果是则启动这个新安装的应用。
之后判断网络状态,如未连接则直接返回
从数据库中读取要运行的应用的信息,并在在特定的情况下运行指定的应用。
随后继续运行,启动后续的2个服务。
- 主服务的分析
后台服务启动后主动读取用户信息如手机型号、IMEI、IMSI等信息,并上传至服务器,同时请求数据。
- 网络访问
访问的目标地址经过base64解密后:
动态调试中实际上传的信息:
接收服务器下发的数据信息并转换为json。信息内容包括要安装的软件列表和要卸载的软件列表。
解析转换后的json格式的数据信息,为插入数据库做准备。
具体数据解析过程。
将解析后的数据插入到数据库
生成数据库的结构及内容。
- 下载服务的分析
执行下载
- 应用的安装
由MainService发起安装,并通过调用jni的函数来实现,
安装的代码并不在com.mobile.factory.eng文件里,而是调用/system/lib/libsys-mpmsecure.so文件来实现。
实际参数不符合,并不会成功的执行安装。
由DownService发起的安装,根据服务net.omigo.android.server是否存在决定是采用静默安装还是正常安装。
应用的静默安装在/system/lib/libsys-mpmsecure.so文件中实现
java层加载so文件
声明函数
native层代码实现
service如果不存在,则采用正常的安装方式,弹出安装界面。
- 应用的卸载
通过分析,发现和应用卸载相关的信息存储在数据库的del_app表中。整个程序中有2处会卸载应用。
第一处是在MainService的启动中
第二处是在处理服务器下发的json来更新本地数据库的过程中。
在db文件中,发现已经删除的数据。
卸载的应用如下:
从数据库中查询要卸载的应用。
执行卸载操作。
- 伪造短信
是否插入短信是由服务器下发的信息来决定的,当下发的json中包含“vSms”时才会去执行伪造短信的操作。
从json中获取vSms相关的配置信息
由于病毒自身并没有短信相关的权限,所以他需要借助其他程序才能插入短信。
病毒先检测com.walmark.split是否存在,如果存在则继续准备插入短信的数据。
将待插入短信的信息以广播的方式发送出去。
在接收到广播后,会先去校验Bundle中的md5字段是否和程序预置的值相等,相等则继续处理广播,否则直接返回,不处理该广播。
预置的MD5值
从Bundle中获取要插入段的内容信息。
插入短信。
- 打开指定网址
设置打开网页Activity的界面布局
第二部分 CorePipe的分析
应用名:com.android.core
包名:com.android.core
MD5:4f5d6718f32e1d7f827079794dfd6154
该样本与com.mobile.factory.eng同样调用/system/lib/libsys-mpmsecure.so文件进行静默安装,不同点在于没有进行数据库操作,直接通过联网指令进行静默安装,未发现卸载操作。
- 应用的启动
接收定时器广播和网络状态改变触发运行
- 服务的启动
服务CoreService启动后会设置定时器,发出广播,以便后续启动服务
然后服务CoreService同样会联网上传手机基本信息,同时请求服务器指令。这部分功能与与com.mobile.factory.eng相同。
联网网址:
获取服务器返回指令后,解析服务器指令,与com.mobile.factory.eng不同的是,不会插入数据库。
样本解析指令后会启动另一个服务FileService,该服务用于下载指定APK和静默安装
服务FileService启动后会调用线程com.android.core.server.d来实现下载和静默安装
静默安装与com.mobile.factory.eng的实现一样,同样调用/system/lib/libsys-mpmsecure.so,此处不再赘述。
第三部分 其他关联样本分析
在com.mobile.factory.eng文件的manifest中,所在meta标签中读取了6个包名
并且在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的分析
检测并结束安全软件进程
检测安全软件
涉及的安全软件有:
com.tencent.qqpimsecure 腾讯手机管家
com.qihoo360.mobilesafe 360卫士
com.lbe.security LBE安全大师
com.ijinshan.mguard 金山手机卫士
第四部分 未知威胁
我们在libsys-mpmsecure.so中发现了可疑的文件名称。
我们在libcaivs-jni.so的文件中发现了存在另一个apk包的迹象,但是这个包不能够正常的使用。
由于文件损坏,所以无法继续分析。
关于这个文件的几点猜想:
病毒作者可能对数据进行了修改,在释放的时候进行修复,这样能保护文件不被他人破解;
apk的数据文件也许是分块存储,在其他地方还有另一部分。
Comments