篡改install-recovery.sh脚本的流氓插件程序

近期,AVL移动安全团队截获一款会篡改手机启动脚本的流氓插件,该插件一旦被加载运行,首先尝试请求超级用户权限,进而恶意篡改手机启动脚本,释 放特定重打包应用(应用商店类)到系统应用目录。此外,已释放的重打包应用还会静默上传设备中的系统应用信息到远程服务器,侵犯用户隐私。

一、行为及危害

  • 该插件依靠应用主体运行,被加载启动后会尝试请求超级用户权限
  • 篡改手机启动脚本,释放特定重打包的应用商店类应用到系统应用目录下
  • 后台上传设备Rom自带的应用相关信息到远程服务器

二、插件结构

该插件安装后无图标,并伪装成“skype”在后台加载运行。如图1所示: 1 图1 插件运行情况

插件的包结构相对简单,assets目录下包含很多ELF可执行文件和经过加密的资源文件。如图2所示:

2 图2 插件包结构

三、详细分析

1、插件被加载运行后,尝试申请超级用户权限

该插件常见为依赖主体应用直接进入用户设备中,也出现过通过某应用弹出的插件下载提示,由用户自行下载该插件。插件一旦进入用户设备中,将依靠主体应用加载运行,首先会申请超级用户权限。

3

2、篡改脚本并释放应用到系统应用目录

当插件获取超级用户权限后,后台服务QService启动,并在/data/data/com.q.t/目录下生成.f的隐藏目录,将资源文件 a,b,c,da,db,dc,dd,de读取后存放在该隐藏目录下,并解密文件43bin和ntf,在.f隐藏目录下生成insqn的脚本。

创建脚本:

4

生成的脚本如下图所示:

5

脚本被执行后,将隐藏目录当中的文件替换系统的配置文件,包括apn,install-recovery.sh。

除此之外,程序运行时,还会后台监控脚本是否执行成功,并将相关的状态信息上传到远程服务器。一旦执行成功,便立即删除插件程序以及插件程序对应的数据目录文件。

6

资源文件释放位置对应关系表:

QQ截图20151030121418

替换系统启动脚本后,手机会在启动后传入“—auto-daemon”参数以守护进程形式运行update模块,载入正常的启动脚本。而后在系统目录中安装一款名为“应用商店”的应用。

initpintu_副本

经过分析发现,“应用商店”重打包了名为“柠檬助手”的市场类应用,如下图所示,与官方版本相比,重打包后的应用在原官方应用基础上增加了com.ally和com.fun这样的包结构。

9

在程序清单文件当中也发现重打包应用当中增加了相应的Receiver和Service。

10

3、后台上传用户手机Rom相关信息到远程服务器

在重打包应用增加的com.ally包结构当中,其通过调用native层方法来获取用户设备和Rom内置应用相关信息。

11

1

通过该方法获取的用户信息包含以下两类:

1)设备相关信息

包含用户手机IMEI,IMSI,手机品牌,型号,SDK版本,当前应用程序包名,wifi mac地址,网络联网状态。

12

2)用户安装的应用信息

主要是用户安装的应用信息、Rom自带的应用信息,含/system/framwork以及/system/app目录下的应用。

13

14

获取用户应用信息后,通过回调接口将获取的用户隐私信息上传到远程服务器。

通过分析,发现如下远程服务器:

  • xxpl.mehadoop.com
  • 103.17.42.195
  • flashapi.5dong.com.cn

16

通过对域名反查发现,这些域名都是通过阿里云注册的,部分域名是由国内做rom推广的厂商所拥有,而部分已失效。

1718

四、总结

此类插件的特点是,加载运行后请求获取超级用户权限,一旦获取便篡改手机启动脚本,并将特定的应用以及运行时依赖的库文件重定向到系统应用和系统库 目录来达到防止卸载、后台收集用户手机应用相关信息的目的。AVL移动安全团队提示您,请不要随意root手机,超级用户权限一旦被恶意程序获取,极易给 您带来难以意料的后果。如果您的手机已经root,那么当安全性未知的应用请求超级用户权限时,请您谨慎处理,以免受到手机病毒或者流氓软件的危害。

【via@AVL移动安全团队