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

Dvmap:第一款使用代码注入的Android恶意软件

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

2017年4月,我们开始调查通过Google Play应用商店发布的新的系统级恶意软件-Dvmap。
Dvmap木马程序与其他系统级恶意软件不同,该木马软件不仅将其恶意软件模块安装到系统中,还将恶意代码注入到系统运行时库中。卡巴斯基实验室产品检测到了这款木马,并将其命名为Trojan.AndroidOS.Dvmap.a。
其实,通过Google Play应用商店发布系统级恶意软件不是一件什么新鲜事了。例如,自从2016年9月以来,Ztorg Trojan这块恶意软件已经上传到Google Play应用商店几乎多达100次。但是Dvmap是非常特别的系统级恶意软件。它使用各种新技术,其中最有趣的是它将恶意代码注入到系统库libdmv.so或libandroid_runtime.so中。这使得Dvmap成为第一个在运行时将恶意代码注入系统库中的Android恶意软件,该恶意软件已从Google Play商店下载超过50,000次。卡巴斯基实验室向Google报告了该恶意软件,现在该恶意软件已经从Google Play应用商店中删除。
 

为了绕过Google Play应用商店的安全检查,恶意软件创建者使用了一个非常有趣的方法:他们在2017年3月底之前将一个干净的应用程序上传到Google Play应用商店,然后会在短时间内更新软件,更新后的软件将包含具有恶意功能的模块,一般他们都会同一天在Google Play应用商店上传一个干净的版本。调查发现他们在4月18日至5月15日期间至少进行了5次这样的操作。
一般情况下,所有的类似于Dvmap这样的恶意应用程序都具有相同的功能。他们都会从安装包的assets文件夹中解密多个归档文件,并从解密后的文件中执行以“start.”开头的可执行程序。
 

有趣的是,从下图可以看出Dvmap木马软件甚至支持64位版本的Android系统,这种情况是非常少见的。
 

所有加密的文件可以分为两组:第一组包括Game321.res,Game322.res,Game323.res和Game642.res,这些都是在感染的初期阶段使用的,而第二组则是Game324.res和Game644 .res,这些文件用于主要阶段的感染。
初期阶段
在初期阶段,特洛伊木马程序尝试在Android设备上获得root权限并安装一些功能模块。来自此阶段的所有档案都包含相同的文件,除了一个名为“common”的文件。这是一个本地系统漏洞利用工具包,木马程序中使用了4个不同的漏洞利用工具包文件,3个32位系统的和1个64位系统的。如果这些文件成功获得root权限,该木马程序将在系统中安装多个工具,它还将安装恶意应用程序“com.qualcmm.timeservices”。在这些档案文件中,我们发现了一个名为“.root.sh”的文件,这个文件中包含了一些中文注释。

 
主要阶段
在这个阶段,特洛伊木马从Game324.res或Game644.res启动以“star.”开头的文件。它将检查安装的Android系统的版本,通过Android系统的版本来并决定哪个库应该被“注入”恶意代码片段。对于Android 4.4.4及更高版本,该木马将修改libdvm.so中的_Z30dvmHeapSourceStartupBeforeForkv函数,对于Android 5或者更新版本,它将修改libandroid_runtime.so库中的nativeForkAndSpecialize函数。这两个库都是与Dalvik和ART运行时环境相关的运行时库。在“注入”之前,木马将以名称bak_ {original name}的方式备份原始库。

在代码“注入”期间,木马程序将使用恶意代码覆盖现有的代码,使得木马程序的所有模块可以执行系统模块/system/bin/ip。这种操作将是非常危险的,原因是模块代码被修改之后,设备上现有的需要使用该模块的应用程序将无法正常运行。成功“注入”代码之后,木马程序会将打过“补丁”的库放回系统目录中去。之后,木马将从文件(Game324.res或Game644.res)中使用恶意程序代替原始的/system/bin/ip。他们这样做的目的是:木马软件可以确保其恶意模块将以系统权限被执行。但由于恶意ip文件模块不包含原始ip文件中的任何方法,这意味着所有正在使用此文件的应用程序将无法再正常使用该模块,甚至会开始运行崩溃。
恶意模块“ip”
该文件将由被修改的系统库执行,它可以关闭“VerifyApps”,并可以通过更改系统设置去操作安装任何来自第三方应用市场的应用程序。此外,它还可以授予“com.qualcmm.timeservices”应用程序设备管理员权限,而无需与用户进行任何交互,只需运行命令即可,这种获取设备管理员权限是非常不正常的一种操作方式,在一定程度上这种操作应该引起安全研究人员的足够重视。
恶意应用程序com.qualcmm.timeservices
如前所述,在“初始阶段”中,木马将安装“com.qualcmm.timeservices”应用程序。其主要目的是下载恶意程序并从中执行以“start.”开头的二进制文件。在调查过程中,该应用程序能够成功连接到控制服务器,但由于没有截获到与命令传输相关的网络流量,所以我们不清楚要它将会执行什么样的命令,但可以确定的是它们是一些恶意的程序。
结论

[1] [2]  下一页

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