失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > “黑暗潜伏者” -- 手机病毒新型攻击方式

“黑暗潜伏者” -- 手机病毒新型攻击方式

时间:2018-07-15 18:00:06

相关推荐

“黑暗潜伏者” -- 手机病毒新型攻击方式

近期百度安全实验室发现一款“黑暗潜伏者”新型手机病毒。该病毒附着在众多壁纸和游戏类应用中。截至目前,已经发现感染该病毒的应用超过1万多款,感染用户超过3000万。

该病毒恶意行为如下:

1、 后台利用系统漏洞获取临时Root权限。

2、 获取临时Root权限后,安装SysPhones.apk恶意程序为系统软件,安装Root后门程序zy到/system/bin目录。

3、 SysPhones.apk根据服务器端指令静默下载、安装推广应用,并能够根据指令安装推广应用为系统软件,从而使其无法卸载。

4、 其它未知的潜在恶意行为。

一、利用系统漏洞获取临时Root的方式

该手机病毒利用知名的Root工具FramaRoot的漏洞能力获取临时Root权限。

(http://forum.xda-/apps/framaroot/root-framaroot-one-click-apk-to-root-t2130276)

FramaRoot集成了众多Android系统漏洞Root利用代码,目前能够提供对近400款Android设备的Root能力,支持设备列表如下:

(http://forum.xda-/apps/framaroot/framaroot-supported-devices-t2722980)

FramaRoot关键功能都集成在libframalib.so库中,该so库提供了两个接口供JAVA层调用:

Check接口: 检测设备漏洞,返回漏洞列表。

Launch接口:根据传入的漏洞名称,执行相应漏洞利用代码获取Root。

Root成功后安装so库中附带的Superuser.apk和su文件到系统目录。

该手里病毒巧妙利用了FramaRoot的工作机制,通过关键数据替换的方式,构建了恶意的FakeFramaRoot。如下图所示:

通过关键数据替换方式巧妙的利用了FramaRoot的Root能力,在获取临时Root权限后,安装替换后的恶意SysPhones.apk为系统应用,安装zy到/system/bin目录,zy作为后门程序,提供SysPhones.apk以Root用户执行命令的能力。

二、躲避安全检测和逆向分析的方式

根据检测到的数据显示,附带该木马的应用2月份首次出现,到被检测发现已默默潜伏9个月,该病毒采用了如下方式达到恶意行为隐蔽性:

1、 通过反调试技术、关键恶意代码native化、关键代码数据加密、网络通讯数据加密等方式阻碍逆向分析。

2、 关键恶意行为代码云端下载、动态加载。

3、 恶意行为云端动态触发,行为可控。

三、黑暗潜伏者工作原理

经过对代码的完整逆向分析,整个手机木马的工作原理如下图所示:

四、恶意代码分析

内嵌在应用中的恶意代码有两部分组成:

1、 com.android.luahc[Java]

主要上传设备信息到指令服务器,并根据指令服务器的返回的指令下载恶意代码FakeFramaRoot.so库。

2、 libluahc.so[Native]

调用FakeFramaRoot.so库,触发获取临时Root权限,安装SysPhones.apk 和zy的恶意行为。

该手机木马安装后并不会立即触发,只有在设备下次重新启动后,才会触发恶意行为。所有关键字符串如网址、路径等信息经过加密处理并以byte数组形式存放,这样可以躲避目前杀毒软件的查杀。

所有的网络通讯数据都进行了加密处理,以下是com.android.luahc[Java]请求指令服务器获取FakeFramaRoot.so库下载地址的网络交互数据:

请求服务器获取FakeFramaRoot下载地址指令:

服务器返回数据如下:

解密后服务器返回数据内容如下:

http://106.187.44.144/qwe

com.android.luahc[Java]获取到下载地址后,下载文件并保存为libframalib.so1,libframalib.so1为压缩文件,解压后获取libframalib.so文件:

com.android.luahc[Java]通过调用libluahc.so间接加载FakeFramaroot.so库函数。

libluahc.so 以assets/tenatt文件附带在应用安装包中,运行时释放到文件目录并被com.android.luahc[Java]层加载。功能如下:

1、在JNI_OnLoad中通过调用ptrace达到反调试目的:

2、加载fakeframaroot.so库并调用check接口获取漏洞列表

3、加载fakeframaroot.so库并调用launch接口进行Root

FakeFramaroot.so在获取临时Root权限后,安装恶意SysPhones.apk为系统应用,安装zy到/system/bin目录,zy作为后门程序,提供SysPhones.apk以Root用户执行命令的能力。

SysPhones.apk恶意程序代码结构如下:

SysPhones.apk开机后自动启动,后台请求服务器获取指令,并根据服务器指令静默下载、安装推广应用。

请求数据如下:

解密服务器返回结果如下:

org.zxl.appstats 4.0 /1104/AppStats.apk 1 0

返回指令格式为:

[包名] [版本] [下载地址] [是否安装为系统应用(1:系统应用)] [保留]

解密并解析返回结果代码如下:

根据指令构建命令脚本:

通过SysPhones.apk的libSysPhones.so获取调用zy可执行文件所需的password参数:

调用zy程序执行构建的命令脚本:

zy做为Root后门在系统目录,它接收外部转过来的指令,并以Root身份执行传入的shell命令。

调用格式为:

zy password command

password:通过SysPhones.apk中的libSysPhones.so获取,这样能够保证该后门仅供恶意开发者使用。

如果觉得《“黑暗潜伏者” -- 手机病毒新型攻击方式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。