欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Google Play应用商店惊现首个拥有代码植入能力的Android恶意软件

来源:本站整理 作者:佚名 时间:2017-06-12 TAG: 我要投稿

从2017年4月份开始,我们就一直在观察这个通过Google Play应用商店进行传播的新型恶意软件。与其他root型恶意软件不同,这款恶意软件不仅会将自己的模块植入目标系统中,而且它还会将恶意代码注入至系统运行时库。卡巴斯基安全实验室将这款恶意软件标记为Trojan.AndroidOS.Dvmap.a。

Dvmap分析
实际上,通过Google Play应用商店来传播恶意软件已经不是什么新鲜事了。比如说,从2016年9月至今,Ztorg木马已经上传至Google Play大约100多次了。但Dvmap是一款非常特殊的Android root恶意软件,它使用了很多新的攻击技术,其中最有意思的是它竟然能够将恶意代码注入至目标设备的系统库中,例如libdmv.so或libandroid_runtime.so等等。
这也使得Dvmap成为了历史上首个能够在设备运行过程中向系统库中注入恶意代码的Android恶意软件。目前它在Google Play应用商店中的下载量已经超过了5万次。目前,卡巴斯基实验室已经将该木马报告给了Google,Google也在收到报告后的第一时间将其从应用商店中移除了。

为了成功绕过Google Play应用商店的安全检测,这款恶意软件的开发者使用了一种非常有意思的方法:他们在2017年3月底向应用商店上传了一个干净的App,随后又对这款App进行了更新,并将原本的代码替换成了恶意代码,操作完成之后他们会在同一天向Google Play重新上传一个干净版本的App。研究人员通过观察发现,攻击者在4月18日到5月15日之间至少进行了5次这样的上传和更新操作。
所有的恶意Dvmap App都拥有相同的功能,它们首先会对App安装数据包中assets文件夹下的一些归档文件进行解密,然后利用这些文件来启动恶意可执行文件(文件名包含“start”)。

有趣的地方就在于,该木马甚至支持Android的64位版本,这就非常罕见了。下图为该木马选取32位和64位兼容文件的部分代码:

所有的加密文件可以被分为两大类:第一类由Game321.res、Game322.res、Game323.res和Game642.res组成,恶意软件在攻击的初始阶段需要使用到这些文件;第二类由Game324.res和Game644.res组成,这些文件用于攻击的主要阶段。
初始阶段
在这个阶段中,木马会尝试获取目标设备的root权限并安装某些模块。这个阶段中所要用到的归档文件都包含相同的文件,但除了一个名叫“common”的文件之外。这是一个本地root利用包,而且该木马会使用4种不同的漏洞利用包文件,其中3个针对的是32位系统,另一个针对的是64位系统。如果这些文件成功获取到了root权限,该木马将会向目标系统中安装一些恶意工具。除此之外,它还会安装恶意App“com.qualcmm.timeservices”。
这些归档文件中包含一个名叫“.root.sh”文件,而这个文件代码的注释部分竟然写的是中文:

主要阶段
在这个阶段中,该木马会通过Game324.res或Game644.res启动之前的“start”文件。它会检测目标设备所安装的Android版本,然后再决定攻击哪一个库。对于Android 4.4.4或更老的版本,该木马会修改libdvm.so中的_Z30dvmHeapSourceStartupBeforeForkv方法,对于Android 5及其以上版本,它将会修改libandroid_runtime.so中的nativeForkAndSpecialize方法。这两个库是跟Dalvik和ART运行时环境相关的系统运行时库。在修改代码之前,该木马会对原始库进行备份,备份命名格式为bak_{原始名称}。下图为修改过后的libdvm.so:

在修改代码的过程中,该木马会用恶意代码重写现存的代码,然后它所要做的就是执行/system/bin/ip了。这是非常危险的,因为这种代码重写(覆盖)行为可能导致会导致设备发生崩溃。接下来,该木马会将修改过的库文件放回系统目录中,然后替换掉原始的/system/bin/ip。这样一来,Dvmap就可以确保它的恶意模块能够以系统权限执行。但是恶意ip文件中并不包含原始ip文件中的任何方法,这也就意味着所有需要使用这个文件的app都会失去一部分功能,有时甚至还会发生崩溃。
恶意模块 -“ip”
修改过的系统库将会执行这个恶意文件,它可以通过修改系统设置来关掉系统的“VerifyAPPs”功能并允许用户从第三方商店安装应用。除此之外,它还可以通过注入控制命令在与用户没有任何交互的情况下给“com.qualcmm.timeservices” App提供设备管理员权限,对于恶意软件获取设备管理员权限来说,这种方法还是很罕见的。
恶意App – “com.qualcmm.timeservices”
正如我之前所提到的,在攻击的初始阶段,该木马需要安装“com.qualcmm.timeservices” App。它的主要目的是下载归档文件并执行其中的“start”代码。在我们的分析过程中,这款App能够成功连接到其后台C&C服务器,但当时它并没有接收到任何命令。所以目前我们还不清楚它执行的到底是哪种文件,但肯定是恶意文件或广告文件。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载