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

近期百度安全实验室发现一款“黑暗潜伏者”新型手机病毒。该病毒附着在众多壁纸和游戏类应用中。截至目前,已经发现感染该病毒的应用超过1万多款,感染用户超过3000万。
 
该病毒恶意行为如下:
1、 后台利用系统漏洞获取临时Root权限。
2、 获取临时Root权限后,安装SysPhones.apk恶意程序为系统软件,安装Root后门程序zy到/system/bin目录。
3、 SysPhones.apk根据服务器端指令静默下载、安装推广应用,并能够根据指令安装推广应用为系统软件,从而使其无法卸载。
4、 其它未知的潜在恶意行为。
 
 
一、利用系统漏洞获取临时Root的方式
 
该手机病毒利用知名的Root工具FramaRoot的漏洞能力获取临时Root权限。
(http://forum.xda-developers.com/apps/framaroot/root-framaroot-one-click-apk-to-root-t2130276)
FramaRoot集成了众多Android系统漏洞Root利用代码,目前能够提供对近400款Android设备的Root能力,支持设备列表如下:
(http://forum.xda-developers.com/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用户执行命令的能力。
 
 
二、躲避安全检测和逆向分析的方式
 
根据检测到的数据显示,附带该木马的应用2014年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 http://dl.appfreestore.com/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获取,这样能够保证该后门仅供恶意开发者使用。

时间: 2024-08-12 13:32:52

“黑暗潜伏者” -- 手机病毒新型攻击方式的相关文章

黑客利用HTTPS技术开发更多攻击方式

HTTPS协议并不像人们认为的那样安全.戴尔安全最近发现,利用HTTPS注入恶意软件的入侵事件数量正在增加. 戴尔安全通过流量探测器抓取了全球HTTPS链接的数量,该数字从2014年一月的1820亿上涨到了2015年三月的4370亿. 这意味着,HTTPS方式成为了网络连接的主流,在过去的一年中平均占到总连接数的60%.尽管该数字并未得到其它公司证实,但从SSL/TLS的快速发展情况上也能推断,加密网络链接几乎成为了当今的默认连接方式. 不幸的是,犯罪分子也明白这种趋势,他们利用HTTPS技术开

浅谈CSRF攻击方式

一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF. 二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全. 三.CSRF漏洞现状 CSRF这

Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如要求拖动等21.3. 第三代验证码 手机验证码 短信验证码22. 短信验证码的原理23. 常用破解法23.1. 漏洞绕过法23.2. 手机 软件转发法23.3. 手机api法33.4. 默认万能密码法 测试维护万能验证码33.5. 网站服务器短信发出截获33.6. 配置文件法33.7. 前端源码截获

xss原理、攻击方式与防御

xss原理: xss叫跨站脚本攻击,是Web程序中常见的漏洞只用于客户端的攻击方式,其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等.所以做网站的时候要明白一个道理:用户的输入是不可信的,所有可输入的地方都要进行数据进行处理才能杜绝xss攻击: xss攻击的二种方式: 1.反射型:一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人.通常为通

SQL的注入式攻击方式和避免方法

SQL 注入是一种攻击方式,在这种攻击方式中,恶意代码被插入到字符串中,然后将该字符串传递到 SQL Server 的实例以进行分析和执行.任何构成 SQL 语句的过程都应进行注入漏洞检查,因为 SQL Server 将执行其接收到的所有语法有效的查询. SQL 注入的主要形式包括直接将代码插入到与 SQL 命令串联在一起并使其得以执行的用户输入变量.一种间接的攻击会将恶意代码注入要在表中存储或作为元数据存储的字符串.在存储的字符串随后串连到一个动态 SQL 命令中时,将执行该恶意代码. 注入过

浅谈CSRF攻击方式(转)

add by zhj: 在看Django开发的应用时,看到了CSRF,然后搜到了这篇文章,讲的不错.其实CSRF 攻击也蛮简单的.当你登陆网站A后,会在本地存有cookie,在cookie没有过期的情况下,你又去访问 网站B,而网站B的js中包含发给A的http请求(即http的域名是A),因为这个请求的域名是A,所以会 携带你的对于A域名的cookie,这样就在你不知情的情况下完成了一次操作. 原文:http://www.cnblogs.com/hyddd/archive/2009/04/09

【转】浅谈CSRF攻击方式

一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF. 二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全. 三.CSRF漏洞现状 CSRF这

php网站常见的几种攻击方式(转)

针对 PHP 的网站主要存在下面几种攻击方式::1.命令注入(Command Injection)2.eval 注入(Eval Injection)3.客户端脚本攻击(Script Insertion)4.跨网站脚本攻击(Cross Site Scripting, XSS)5.SQL 注入攻击(SQL injection)6.跨网站请求伪造攻击(Cross Site Request Forgeries, CSRF)7.Session 会话劫持(Session Hijacking)8.Sessio

DDoS攻击、CC攻击的攻击方式和防御方法

DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的.分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没