0000-00-00 00:00:00

摘要

1、移动互联网黑产持续性攻击的核武器,用户设备沦陷的最后防线

       Android平台作为目前最流行的流量平台,由于它的开源使得大量的厂商加入其阵营,作为当前最大的流量来源,安卓平台是黑产分子眼中的香饽饽,各种恶意应用和手机病毒纷至而来。

       由于安卓系统先天就存在的一些限制,习惯了PC时代为所欲为的黑产分子为了绕过Android平台的安全机制以及与手机杀毒软件的对抗,病毒开发者需要获取手机等设备的最高权限以的身份来发号施令。恶意广告弹框一天几十个保底,恶意应用装个一打,恶意短信扣费今天就扣100块,用户隐私数据按吨卖,网络劫持手到擒来...,用户机器此时欲哭无泪。

       为了对抗手机安全厂商的,ROOT恶意病毒采取各种各样的措施,如应用加壳、动态加载、代码混淆、反调试,云端控制等招数,增加了病毒发现的难度,同时由于安卓平台的碎片化导致ROOT病毒的清理难度也很大,通常安全厂商都会通过发布专杀工具或者ROOT层拦截模块来进行最后的防御。

2、刚需是ROOT恶意病毒最大的安全来源

       ROOT病毒虽霸道,但是再霸道的东西能要装了才能“体会”,除了一部分小的应用分发平台,要想通过主流的应用分发平台进行传播的难度系数还是挺高的(比如绕过安全厂商的引擎) ,要让用户心甘情愿安全并且能够保证充足的用户群体。色情刚需的流量就理所当然成为ROOT病毒最温柔的家园。

       根据腾讯手机管家及腾讯反诈骗实验室大数据分析表明,Root类病毒在Android病毒中所占的比重越来越高,每日新增的病毒样本中将近一半的病毒包含Root模块,样本主要集中在色情应用这种刚需上,日影响用户在百万级别。

3、低版本安卓用户设备极度危险

       Root类病毒Root工具主要包括PingPongRoot、TowelRoot,、MtkfbExploit、FramaRoot 和Root Assistant等;最容易被攻击的手机机型和Android版本分别为:华为G7-TL00、小米Redmi 3、华为MT7-TL10 OPPO A31、红米NOTE 1S,Android4.4.2、Android5.1.1和Android4.3.1。

 

一、Root类病毒特点

       安卓Root类病毒,又称顽固木马,是指病毒应用会利用系统漏洞对设备进行Root提权,在Root提权成功后,再通过植入、感染和替换系统文件等方式将恶意的Apk、Elf等文件写入到系统目录,进行后续的恶意行为。这类病毒通常会进行恶意扣费、恶意推广、盗取数据等行为,部分具有极强的破坏性,会篡改用户设备信息和破坏系统,顽固木马通常具有极强的防卸载能力,一般的手机安全软件都无法彻底清除。

1、安卓Root类病毒的主要特点

1.1 功能强大,攻击方式多种多样:相比较于普通的Apk病毒,Root类病毒由于获取了设备的Root权限,其功能更加强大,它可以感染、注入系统文件和进程的方式来实现复杂多样的攻击;

1.2 攻击面日益增大:Root类病毒通过利用系统漏洞来获取设备的Root权限,Android平台相关系统漏洞不断被爆出,而由于Android系统严重的碎片化,这些系统漏洞很难全部被修复;

1.3 病毒驻留时间长,难以完全清除:首先,Root类病毒获取了设备Root权限,它能完全控制手机来进行恶意行为,且部分病毒具有极强的防卸载和与杀软对抗的能力,只具有普通权限的手机杀毒软件不能处理这类病毒,其次,elf文件是Root类病毒重要的组成部分,elf文件相对于Apk文件来说,分析难度更大,一般需要特定的清理方式,增加了清理难度;

14950125397365.png!small 

1.4 破坏力能力强:Root病毒通常会进行恶意扣费、恶意推广行为,部分病毒还具有极强的破坏性,会篡改用户设备信息和破坏系统,这严重影响了用户设备的正常使用,一旦中了此类病毒,用户通常会因无法清理病毒而选择刷机,导致用户数据丢失,造成很大的损失;

1.5 主要寄生的样本:Root类病毒一般以色情应用或仿冒游戏应用的形式来引诱用户安装运行;

1.6 主要的收益:Root类病毒由于其难以清除的特点,其主要目的在于“推”,通过推广其他软件来获取推广利益价值,经常和恶意扣费类的应用捆绑在一起,此外,还有一些实现其他功能的Root类病毒,包括窃取用户隐私数据,盗刷网络流量等。


二、Root类病毒现状

1、感染量变化趋势

      从收集样本数看Root类病毒样本数处于稳定增长趋势。

14950127004539.png!small 

     从感染用户量来看,Root类病毒感染的用户量也是稳中有升。

14950127165435.png!small 

    从影响的Android系统版本来看,主要还是集中在Android4.4.2、4.3.1和5.1.1。 

14950127371664.png!small 


2、 Root类病毒主要传播途径

14950127524873.png!small 

2.1  色情应用:约占Root类病毒的98%用户主动下载或被推广安装。

14950127816184.png!small 

2.2 游戏应用:仿冒热门游戏,诱导用户下载安装。

14950127854918.png!small 

2.3 无图标或者伪装系统应用通过恶意推广或ROM内置。       

 14950127899016.png!small

 

3、Root类病毒黑色产业链

14950129181303.png!small 



三、Android Root类病毒技术分析

1、Root类病毒的攻击流程

       Root类病毒的攻击流程如下图所示,当感染用户手机后,Root类病毒会首先尝试去调用提权模块进行root提权操作,若提权失败,则它就不会执行后续的恶意行为,或者是像普通的Apk病毒一样,执行一些弹出广告等恶意行为; 然而,当提权成功后,它就会将恶意的Elf文件、病毒Apk文件植入到系统目录,并通过修改系统启动项、运行后台守护进程来保证病毒在开机时自启和防止病毒被卸载。由于获取了root权限,病毒的恶意行为就不局限于弹窗广告了,它可以进行更加复杂和多样的恶意操作,包括静默安装应用、修改系统文件、窃取用户数据、注入系统应用和其他用户应用等,给用户安全造成严重的威胁。

14950129505030.png!small 

 

2、Root提权模块

       Root提权模块作为Root类病毒的核心模块,是Root类病毒执行成功与否的关键。目前Root提权模块都是以dex、jar或apk子包的形式被病毒母包进行动态加载调用。一般病毒母包释放Root提权模块有两种方式,一是从自身Apk的资源目录中的加密文件中解密释放;另一种方式就是从远程的网络服务器上进行下载。目前采用较多的是从网络服务器上下载Root提权模块,这种方式具有很大的灵活性,Root提权模块的提供者可以通过更新服务器上的提权模块来提升病毒提权的成功率;同时也可以通过修改网络配置来使原先的服务器链接失效,增加病毒分析取证的难度。

       下图就是一个病毒母包从网络服务器上下载root提权工具包的代码。

14950129835456.png!small 

       动态抓取的病毒母包与网络服务器的通信内容,可以从中看到服务器配置的root工具包的版本、下载链接等相关信息。

14950129998972.png!small 

 

     通过对收集到的Root类病毒进行分析,发现病毒样本使用到的root提权子包主要有以下几种:

14950130087418.png!small 

     各提权子包在Root类病毒样本中使用的占比情况如下:

1495013019780.png!small 

3、Root病毒使用的系统漏洞

      Root类病毒通过利用Android系统的漏洞来获取root权限,一般使用到的系统漏洞主要包括:

14950130245015.png!small 

4、 Root类病毒恶意文件寄生常用的系统目录

14950130282722.png!small 

 

四、常见Android Root类病毒家族

1、Root类病毒6大家族

14950130934845.png!small 

       各家族的技术点对比:

1495013099272.png!small 

2、 FatalSexy

2.1 病毒简介

       此家族的Root类病毒是目前最常见的类型,影响面也是最广的主要通过色情类应用进行传播,诱惑用户下载安装。用户下载、运行了该病毒后,该病毒会立即下载提权模块来获取系统root权限,并植入恶意elf文件和恶意Apk文件到系统目录,进行恶意推广和流氓行为,对用户造成极大的损害。

2.2  病毒执行流程

14950131066625.png!small 

2.3 病毒变种变化

14950131126314.png!small 

 

2.4 技术点分析

(1)下载Root提权模块

        样本dex文件中包含嵌入的恶意代码,并在初始化过程中调用此代码,下载用于下载root工具包的so文件;

14950131171028.png!small 

14950131335685.png!small 

       下载的so文件为文件load2_5052eb2c

14950131405935.png!small 

(2)Root提权

       调用so的方法去下载ROOT工具包和执行root方案

14950131479725.png!small 

14950131536374.png!small 

       下载的ROOT提权子包和相关工具

14950131592835.png!small 

(3)释放恶意Elf文件和Apk文件到系统目录

       此类病毒样本在root成功后,会将资源文件中释放出来的的恶意文件推送到手机的相应目录下,进行恶意扣费、流氓推广等行为。

14950131651276.png!small 

14950131706322.png!small 

       下图为病毒运行时释放的恶意文件,其中in-injectso.so和in-libvangd.so会注入系统进程进行恶意扣费,其他apk文件会被推送到/system/app下,进行恶意推广的行为。

14950131758947.png!small 


3、Jmedia病毒

3.1 病毒简介

       该病毒从去年6月份左右开始出现,最早是通过仿冒国内的知名手机游戏进行传播,之后切换到通过色情应用传播,一旦用户不慎下载、运行了该病毒,该病毒将立即下载提权文件来获取root权限,夺取系统的控制权;频繁静默下载推送应用;并下载恶意子包,注入系统进程发送扣费短信,造成用户极大的财产损失。

3.2 病毒执行流程

14950131863173.png!small 

3.3 病毒变种变化

14950131937662.png!small 

3.4 技术点分析

(1)释放子包 

       这类病毒程序具有通用的释放模块,通过运行时解密assets目录的资源文件来释放病毒的子包kload.apk,并动态加载子包,反射调用其中方法。

14950131984136.png!small 

14950132036718.png!small 

14950132097610.png!small 

 

(3)子包kload.apk下载root工具包,调用root工具包进行root行为

14950132699784.png!small 

       动态抓取的root工具包的相关链接

14950132227678.png!small 

      root工具包内容

14950132832415.png!small 

       其中rt.so实质是用于获取root的apk文件,子包kload.apk通过解密释放rt.so到应用的app_pt_odex目录下面,并通过反射调用com.power.RtEngineApi类的action方法启动程序,代码如下图所示:

14950132892208.png!small 

14950132934002.png!small 

       rt.so通过自解密自身代码中包含的固定字符串,在本地生成文件/files/prog16_b#/b.zip和/files/prog_om#/onem.zip(#号为生成文件的类实例化时传入的参数),然后解压zip包释放提权文件,并通过运行时调用提权文件私自对用户手机进行root行为,在root成功后,删除提权文件。代码如下图所示:

14950132997155.png!small 

14950133039407.png!small 

       本地生成的文件如下图所示,其中每个prog#(#表示序号)中包含提权文件r0,对应不同的root方案; .sys.attr文件实际上是实现了chattr功能的elf文件,能给文件进行加锁,防止文件被轻易卸载; .sys.us也是elf文件,是病毒之后用于获取root权限的后门;.sys.irf是sh文件,用于替换install-recovery.sh,保证恶意进程开机启动。

 

14950133117199.png!small14950133193082.png!small 

 

(3)恶意应用注入系统进程和恶意扣费

        病毒通过.r.sh脚本将恶意功能子包in-fun1.so,in-fun2.so,in-injectso.so,in-libvangd.so重定向到/data/local目录下。

14950133293901.png!small 

        其中恶意功能子包的描述如下:

14950133356374.png!small 

       注入系统进程调起功能子包

14950133412375.png!small 

      tmp-msg.apk和tmp-drp.apk程序包结构:

14950133512787.png!small  14950133576294.png!small

        发送扣费短信:

14950133648619.png!small 

         删除发送的扣费短信:

14950133712088.png!small 

14950133767457.png!small 

(4)频繁下载安装应用

        病毒通过在/sdcard/mmt/widegets/data目录下创建SQlite数据库来控制应用的下载和安装

14950133816354.png!small 

       数据库结构如下:

14950133927754.png!small 

       应用下载和安装

14950133986904.png!small 

14950134081528.png!small 

       主要下载的应用:

14950134146446.png!small 

 

 

4、FakeGame

4.1 病毒简介

       这类病毒主要通过重打包一些益智类小游戏和热门的应用进行传播,感染此病毒后,该病毒从资源文件assets目录下解密加载Root提权子包,上传用户的设备信息到远程服务器,获取相应的Root方案并进行Root提权行为。此外,此病毒还频繁下载推送应用,对用户正常使用手机造成影响。

4.2 病毒执行流程

14950134225658.png!small 

4.3 技术点分析

(1)宿主APK运行时动态加载dex文件

14950134284425.png!small 

1495013434174.png!small 

       dex文件代码结构很简单,主要实现的功能就是将需要使用到的相关命令、文件名等字符串进行加密存储,并进一步加载Root提权模块的dex文件。

14950134426974.png!small 

      加密字符串:主要就是将需要使用到的相关命令、文件名等字符串进行加密存储

14950134489766.png!small 

14950134565127.png!small 

       解密后得到的字符串:

 14950134684197.png!small 

       加载Root提权模块,从assets目录中的资源文件中将Root提权模块dex文件释放出来,并通过DexClassLoader进行加载调用。

14950134779941.png!small 

(2)Root提权

14950134874501.png!small 

       其中org.anonymous.encryption.EncryptedBox为解密工具类,通过加载lib目录下的lib_subox.so,调用其相关方法对类中的加密字符串常量进行解密,还原出annonymous_core.so文件,调用System.load加载annonymous_core.so,加载完毕后删除该annonymous_core.so文件。

14950134954594.png!small 

       annonymous_core.so这个so文件主要是实现加解密的功能

 

14950135049079.png!small 

 

       其中org.anonymous.subox.SuperShell类为提供root功能的核心类,首先通过EncryptedBox.loadResource方法来加载资源文件,释放到指定的目录,然后调用shell命令来实现root。  

14950135115788.png!small 

       其加载的资源来源主要从网络上下载,通过与远程服务器通信,获取设备的信息发送给远端的服务器,然后服务器下发对应的数据文件(包括root方案和一些相关的工具)

14950135229609.png!small 

1495013529493.png!small 

       下载释放的Root方案和一些相关的工具:

14950135366179.png!small 

(3)恶意弹窗推广

14950135431297.png!small14950135482082.png!small1495013553951.png!small 

       推广的应用主要包括:

14950135596549.png!small 

 

5、 mobo病毒

5.1 病毒简介

       该病毒通过仿冒网速监控器,手机清理工具、和播放器等应用进行传播,一旦用户手机不慎被感染,该病毒将立即下载提权文件来获取root权限,频繁推送广告,监控用户短信记录,私自发送扣费短信,注入大量恶意文件到手机系统用于守护病毒,防止病毒被卸载;

5.2 病毒执行流程

14950135737515.png!small 

5.3 技术点分析

(1)病毒母包行为

       加载子包assets/a,解码assets/c,assets/s,生成mcr.apk和libdt.so

 

14950135811551.png!small  

14950135933020.png!small 

 

        libdt.so的反射调用了mcr.apk的com.android.provider.power.Power类中的init方法

14950136117205.png!small

       mcr.apk的init方法通过getIsFirst方法判断程序是否第一次被运行,若是首次运行则调用Door.init(context)方法初始化配置并启动服务b和服务d,激活广告功能

1495013622663.png!small 

14950136295423.png!small 

       服务b通过接收广播弹出广告

14950136358251.png!small 

       服务d启动启动计费服务,并发送短信进行扣费,扣费成功后向服务器上传信息

14950136434060.png!small 

14950136518850.png!small 

14950136591492.png!small 

 

(2)Root提权

       Root提权模块判断root方案文件是否存在,若存在则加载进行root,若不存在则创建生成后再进行root

14950136684232.png!small 

14950136763709.png!small 

       /data/data/应用包名/files/.sunny目录下的b.png解压后为r1~r4,分别是四种不同的root方案,利用系统漏洞来进行root提权。

14950136836131.png!small 

14950136926514.png!small 

(3)恶意文件注入

         主要恶意文件及其功能简要说明

 

14950137006593.png!small 

        修改install-recovery.sh设置恶意文件开机启动

14950137097274.png!small 

        mkdevsh脚本文件,将恶意文件注入系统中并修改权限

14950137162006.png!small 

       推送的恶意apk子包

14950137306247.png!small 

6、GameGhost

6.1 病毒简介

       该病毒表面上是正常的游戏应用,实际在运行该应用后,病毒母包解密释放.jar模块,此模块分正常版本和恶意版本(具有恶意行为),可以通过服务器进行远程配置。若病毒加载了恶意的.jar模块,其会下载root提权工具包并进行root提权,提权成功后,会在系统注入恶意模块进行刷量行为。此病毒隐蔽性极强,可以长期驻留于用户手机,威胁用户数据安全。

6.2 病毒执行流程

14950137368063.png!small 

6.3 技术点分析

(1)释放加载恶意模块

        病毒app在每次启动时,会调起包含恶意代码的广告模块,此模块会在游戏启动后的初始化过程中,通过libTTPK.so,从assets目录中提取压缩包文件,释放.jar子包;

14950137443920.png!small 

14950137608530.png!small 

       云端控制更新.jar子包;

14950137653721.png!small 

       动态加载调用.jar文件的相关方法;

14950137721747.png!small 

(2)下载Root提权模块进行root提权

         下载http://c.xxxxxx.cn/images/r3.png,实际上为zip压缩包;

14950137792455.png!small 

       解压r3.png,获取利用工具包,其中my32, p52是root方案,brplugin_c2000.jar是另外一个root工具箱,集成了多种root方案;

14950137887441.png!small 

      木马程序根据手机型号选择使用my32、p52还是brplugin_c2000.jar来进行root提权

freebuf-logo.jpg 

       推送恶意文件到系统目录

1495013803969.png!small 

       清理犯罪现场:

 freebuf-logo.jpg 

(3)加载远控恶意插件框架,进行恶意刷量行为

       病毒在完成入侵后,在/data/misc/目录驻留agent远控插件框架,并且在/system/bin目录下篡改vold服务,在开机启动时,调起远控框架。

远控插件框架通过与远程服务器交互,下载不同的任务模块,其中task模块是用于恶意刷量行为。

14950138363489.png!small 

1495013842922.png!small 

       task模块运行后,通过注入so的方式注入应用进程,获取用户信息等相关敏感数据,后续通过与控制服务器、应用服务器进行交互,最终从控制服务器获取包含key,uid参数的任务请求,从而进行恶意刷量。

       注入应用进程的恶意so,获取相关的sessionkey、cookie等敏感数据,保存到sdcard卡上

14950138545462.png!small 

        从文件中获取数据,上传到控制服务器,并与控制服务器进行交互

freebuf-logo.jpg 

14950138673293.png!small 

14950138988638.png!small 

控制服务器返回任务请求链接,进行刷量

1495013903878.png!small 

 

7 EvilPlugin

7.1 病毒简介

       该病毒通过仿冒系统服务和系统应用等进行传播,一旦用户手机不慎被感染,该病毒将立即下载提权文件来获取root权限,root成功后,推送大量的恶意Apk子包到设备系统目录,对用户正常使用手机造成影响。

7.2 病毒执行流程

149501391060.png!small 

 

7.3 技术点分析

(1)病毒母包运行时下载Root提权子包dex

14950139208195.png!small 

      释放的dex文件

14950139266896.png!small 

(2)root提权子包

       目录结构如下:

14950139323069.png!small 

       相关的root方案列表

14950139376482.png!small 

       调用工具包进行root

14950139435022.png!small 

(3)推送恶意apk文件到系统rom内

        主要推送的apk有

14950139478788.png!small



五、Root类病毒的预防和清理方案

1、安全建议

       防范此类技术高超、功能强大的手机病毒,安卓手机用户需要提高安全意识,养成良好的手机使用习惯,腾讯手机管家及腾讯反诈骗实验室建议:

下载应用时尽量通过官方或正规第三方电子市场下载安装

不要轻易下载安装所谓“色情类”相关视频应用

c  日常使用手机过程中,谨慎点击软件内的推送广告

来源不明的安装包、文件等不要随意点击下载;

e  手机上网时,对于不明链接、安全性未知的二维码等信息不随意点击或扫描;

f  定期使用诸如腾讯手机管家等手机安全软件查杀手机病毒

2、清理方案

       如发现手机已有中Root类病毒的迹象,可下载使用腾讯手机顽固木马专杀进行查杀腾讯手机顽固木马专杀支持Elf、jar、dex和APK等多种格式的文件扫描和查杀,可以深度清理寄生于手机系统底层Elf病毒和Apk病毒。

 图片119.png

安全快讯 更多

新型勒索病毒加密文件内容

新型勒索病毒加密文件内容

2017-10-20
WPA2遭破解的影响分析

WPA2遭破解的影响分析

2017-10-17
WiFi爆出重大安全漏洞

WiFi爆出重大安全漏洞

2017-10-17

安全视频 更多

腾讯手机管家产品经理笑唱安全报告

2017-08-16

腾讯手机管家微信小程序可一键识别诈骗电话啦!

2017-08-02

小管说安全(2)——红包炸弹

2017-07-24