“响尾蝶”病毒:隐藏在手机底层的致命杀手

阅读量    772700 | 评论 9

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

一、背景

日前,360核心安全团队检测到一款藏匿长达四年之久的Android系统级病毒“响尾蝶”,受影响手机用户多达十万。自2015年起,“响尾蝶”病毒便伪装为各种类型的APP进行传播,利用多个NDay漏洞获取系统最高权限,并在全球范围进行广泛传播。近日,“响尾蝶”在云端频繁更新,日趋活跃,有进一步升级的迹象。

随着Android应用层反病毒技术的日趋成熟,Android应用层病毒已得到有效遏制,但Android病毒总量只增未减。近年来“长老木马”、“百脑虫”、“地狱火”等病毒家族纷至出现,系统级病毒数量呈持续增长趋势。与APP应用层病毒相比较,系统级病毒存在于系统底层,借助Root权限、感染、注入系统文件和进程等方式,获得极强的自我保护和与杀软对抗的能力,更容易隐藏自己、不容易查杀。由于其难以发现和清除的特点,系统级病毒通常可长时间存活,并通过恶意推广、恶意扣费、窃取隐私数据等方式获得巨额收益,危害性更大。

 

二、感染量统计

据360核心安全团队监测数据显示,“响尾蝶”病毒在全球范围广泛传播,其踪迹遍及六大洲,其中亚洲感染量较大,且受害者多集中在中国。

“响尾蝶”病毒集中爆发于2016年,2017年起感染量呈缓慢上升趋势。而360核心安全团队对病毒C&C服务器的追溯发现,该病毒多年来从未停止并且在不断的变化升级。截至2018年8月累计感染量已超十万。

受“响尾蝶”病毒影响的Android系统版本主要集中在Android4.2和Android4.1。尽管目前Android6.0和Android7.0成为最流行的系统版本,但统计显示,Android 5.1 及以下版本的市场占有率依然有40.1%。由于Android 5.1 及其以下版本平均漏洞数量较多,受病毒影响最严重,360核心安全团队建议用户及时更新系统版本或安装补丁。

各Android系统版本受感染具体分布如下图所示。

 

三、“响尾蝶”特点

1) 潜伏时间长

360核心安全团队发现病毒最早出现于2015年,藏匿在用户手机中已长达近四年之久。

早期的核心文件较少、功能集中、影响较小。2016年起,病毒进行了模块分割,加强了隐蔽性、健壮性,感染量呈爆发式增长。下图为“响尾蝶”病毒版本演变时间轴:

360对此病毒的每个版本进行关注并率先全面查杀。

2) 病毒危害大

一旦安装了此类病毒APP,将被强行推送广告、卸载手机应用、大量下载安装推广软件并造成金钱损失。

3) 伪装能力强

病毒以伪装成常用软件(如淘宝、微信)方式,一方面迷惑用户,使用户放松警惕,另一方面这类软件为“装机必备软件”,伪装成此类软件是利用了用户对软件的强需求,使病毒更容易传播。而伪装成系统软件的好处在于其不含图标,用户不易察觉和卸载。

  1. 图标和名称伪装常用软件。

  1. 伪装系统软件。

4) 传播途径广

除了伪装成常用软件和系统软件,该病毒还利用多种途径进行广泛传播,统计显示,病毒通过以下几种类型的APP进行传播:

传播“响尾蝶”病毒的应用类型繁多,令人防不胜防,在此360核心安全团队提醒广大网友,要想手机不中毒,必须养成良好的上网习惯,拒绝安装来路不明的手机软件。

5) 利用NDay漏洞提权

分析发现,病毒利用多个NDay漏洞尝试进行提权。通过分析“响尾蝶”病毒的历史版本,其利用的漏洞在持续更新中,并且相关文件置于云端服务器,非常便于进一步更新升级。

 

四、详细分析

“响尾蝶”病毒流程图如下图所示:

4.1 APP释放病毒文件

当用户打开这类病毒应用时,自动调用伪装的UMGameAgents类,解密获得一个伪装成图片格式的数据文件的URL:

下载的加密数据文件ic_res_long_test.png(或ic_res.png)是病毒的“源头”,解密后的x.zip包含病毒的所需要的文件。目前版本包含的文件如下:

4.2 准备模块

libxbmc.so被应用加载执行ROOT过程:解密数据文件wert,得到xk——开源Root方案android run root shell,利用多个NDay漏洞尝试提权。

在系统/data/dalvik-cache目录下有很多安装卸载文件(优化过的字节码),这些文件是当安装好一个应用程序后,系统会自动生成的一个优化过的字节码文件,但是卸载某些应用软件后可能对应字节码文件不会同时删除,即残留的垃圾。清理Dalvik缓存时,需要Root权限。

由于该病毒推广的应用非常多,在准备阶段执行脚本cl.sh删除应用缓存、删除指定系统应用(Maps、YouTube),为病毒进行恶意推广清理手机存储空间。

病毒替换系统核心文件install-recovery.sh,实现开机时启动核心ELF文件/system/bin/.xbmc。

4.3 ELF核心模块

x.zip释放、应用加载的libxbmc.so,其执行释放.vncs、.xbmc、libqwerts.so 等核心功能文件、部署保护模块,并执行推广模块。

核心ELF文件.vncs执行释放nander_event,nander_event作为守护进程在后台运行,与其它文件进行通信,根据接收的参数命令执行不同功能:

参数命令为keep_on时,执行“响尾蝶”病毒的核心恶意功能:

  1. 联网下载/释放保护模块;

         b. 检查推广模块的w0.png(com.android.phoneservices),若不存在则下载安装;

    c. 对核心文件进行备份,并使用“伪系统文件名称”进行隐藏,肉眼难以辨别。当病毒执行过程中发现文件缺失时,会尝试读取备份文件进行恢复。

libqwerts.so与nander_event通信,发送rapp指令,安装推广模块com.android.settlngs,(x.zip中的数据文件wert部分解密生成的.xk文件),并启动服务com.android.settlngs/com.android.settlngs.SettingsService实现病毒的恶意推广功能。

         .xbmc 执行安装HtDaSystemsa.apk,完成推广模块com.android.phoneservices的部署,病毒的APK、ELF文件中的命令字符串、URL大多以加密形式存储,增加分析、检测难度。

4.4 恶意推广模块

“响尾蝶”病毒的恶意推广功能主要由两个伪装系统应用的APK实现。伪装的系统文件包名与真实系统应用包名极为相似,难以辨别,例如下图中第一个、第三个为病毒文件,第二个为正常系统文件:

         并且此类应用不含图标,用户一般难以察觉。

1) com.android.phoneservices(HtDaSystemsa.apk)

不断发送请求到云端,获取推广应用的URL,

返回推广app的URL等信息,

下载后加载asdfqwer.jar进行安装。一旦安装完成,病毒会发送Report信息给服务器,若安装成功,服务器返回下一个推广应用的URL,否则停止进一步推广。

2)com.android.settlngs

同样发送请求到云端,获取推广app的URL:

http://www.w*w.com/LLDownLoadServer/getInfo

http://www.z*u.com/LLDownLoadServer/getInfo

下载安装的推广应用通过私自下载安装软件、频繁弹出广告骚扰用户,诱导用户订购虚无的服务,并通过拦截短信进行扣费来获取巨大利益。下面列表为病毒推广的部分APP:

4.5 保护模块

“响尾蝶”病毒隐藏四年且持续活跃的原因在于其具有完整的保护模块,包含多个具有保护功能的文件,相互配合,难以彻底清除。

tt.sh卸载杀软类软件和ROOT类软件,进行“自我保护”,避免被杀软拦截和清除,阻止ROOT权限被其它软件获取。tt.sh会被ELF核心文件每隔5分钟检查更新并执行一次:

.vst.io 每10分钟会启动一次病毒ELF核心文件.xbmc和.vncs。

为了应对母包被卸载,w0-w4.png对应的四个APK负责检查母包的状态,若不存在就立即下载rework.png(即母包APK),并重新安装,使病毒“复活”:

 

五、相关C&C服务器信息

 

六、相关APK列表

 

七、安全建议

360核心安全团队建议,手机上网时,对于来源不明的手机软件、安装包、文件包等不要随意点击下载;不明链接不随意点击;安全性未知的二维码不随意扫描;养成良好的手机使用习惯。同时,建议及时安装更新固件。

目前360全线产品已经支持对“响尾蝶”病毒的全面查杀,如果您担心手机中毒,请及时使用360手机卫士或360手机急救箱进行全面体检。

   

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多