安天AVL联合小米MIUI首擒顽固病毒“不死鸟”
不死鸟作为希腊神话中的一种怪物,拥有不断再生的能力,每当寿限将至时,它会在巢穴中自焚,并在三天后重新复活。就在近期,安天AVL移动安全团队和小米MIUI安全中心发现了病毒界的“不死鸟”,其顽固程度之深,用户很难通过常规的卸载手段清除该病毒。
这款病毒名为Fushicho,一旦运行,它首先会通过一系列手段攻击手机的“免疫系统”:联网下载root工具对用户手机进行提权处理,进一步根据文件中的sql语句将自身插入某知名杀毒软件白名单中,并通过“pm disable”命令禁用某知名杀毒软件,致使手机安全防护功能全线崩溃。
接下来Fushicho病毒会替换系统启动脚本文件,实现开机自启动并获得root权限。而为了使其自身成为手机中唯一具有root权限的应用,该病毒会删除手机中其他root程序、su文件。除此之外,由于病毒应用被锁在系统目录下,用户很难通过常规卸载手段清除该病毒。
至此,Fushicho病毒将紧紧扎根在手机中,像不死鸟一般难以消灭。同时该病毒将通过联网获取恶意扣费指令对手机进行长期的扣费并下载其他恶意扣费软件,使感染用户遭受巨大的财产损失。
接下来,我们将对这只病毒界的“不死鸟”进行详细的解剖分析。
Fushicho病毒运行流程图

详细分析
私自提权
Fushicho病毒运行时加载本地Pxivuurauu.so文件,解密资源文件中的ico.png文件来释放子包oko.jar。子包释放后被动态加载,并在本地解密。Fushicho病毒获取到提权工具下载地址后下载并解密,获取提权工具包cab.zip,解压并加载其中的data.jar文件,对用户手机提权。

获取提权工具下载地址:

解压后的文件如下所示:

各文件功能及作用如下表所示:

提权工具包结构:

将自身写入某知名杀毒软件白名单
Fushicho病毒运行时解密root工具包中的ql文件获取将自身插入某知名杀毒软件白名单的sql语句,通过qlexec文件打开数据库并执行sql语句,将自身插入某知名杀毒软件白名单中来逃避检测。
ql文件内容如下:


删除提权相关文件
Fushicho病毒在获得root权限后会删除手机中其他的root相关文件和apk程序,将下载提权工具包cab.zip中的su文件分别重定向到/system/xbin/.sysd,/system/bin/android.sys,/system/etc/android.sys,/system/etc/android.sys中。
删除其他root权限:


将su文件重定向到系统目录中:

禁用某知名杀毒软件
Fushicho病毒通过“pm disable”命令禁用某知名杀毒软件,将该软件停止使用,并隐藏图标和已安装应用列表中的展示,致使用户无法找到该应用也无法重新安装该应用。

为了验证该命令的效果,我们测试了一下:
Step1:安装某知名杀毒软件,可以在已安装应用程序中看到该应用:

Step2:使用pm disable命令:

Step3:在已安装应用中查找该应用,已经找不到该应用了,说明该应用已被成功禁用:

Step4:用命令行工具查看data/app下的应用列表,可以看出该应用是存在的:

Step5:如果尝试在手机中再次安装该应用,提示已安装:

替换系统脚本文件
Fushicho病毒运行时会替换系统的启动脚本文件install-recovery.sh、install-recovery-2.sh,新的脚本文件将在手机启动后立即给Fushicho病毒赋予root权限。

脚本运行时以守护进程的形式启动对应目录下的.sysd和android.sys文件

恶意扣费
Fushicho病毒的扣费模块通过监听用户解锁、网络变化以及手机开机的系统广播启动,付费模块启动后联网获取付费短信数据和要拦截的短信关键字。
并联网向hxxp:// www.mmchong[.]com上传用户设备信息,获取短信相关扣费短信数据。

扣费短信数据解密后如下,其中字段port、cmd对应的是要发送的号码和内容,字段hport、hcmd对应的是要拦截的号码和短信内容,Fushicho病毒通过以上字段进行恶意扣费而用户无法感知。此外Fushicho病毒还会拦截包含“银行”和“快递”关键字段的短信。在接收到包含msg字段的值的短信时还会自动回复短信或联网发送拦截的短信。


推送恶意应用
Fushicho病毒运行时解密root工具包中的data0文件,通过解析文件中的指令将root工具包中的恶意应用推送到系统目录下并启动。在推送时将这些恶意应用加锁,并修改创建时间为2008-01-01 00:00,伪装成系统应用让用户难以察觉。

推送的恶意应用:


总结
总体而言,Fushicho病毒一旦运行,将会通过攻击感染手机安装的杀毒软件来使整个手机的“免疫系统”形同虚设,并采取一列后续手段将其自身紧紧扎根于手机中,用户很难通过常规卸载手段来清除。此外,从上述攻击步骤可以看出,Fushicho病毒非常注重root权限,从自身提权,到删除其他root工具,再到替换系统启动脚本,使自身可以在系统启动的第一时间得到root权限。这一系列操作之后,Fushicho病毒成为系统第一个也是唯一一个有root权限的应用。 在保证“不死”的情况下,“不死鸟”(Fushicho)病毒将通过发送恶意扣费短信持续对用户的财产造成损害,危害极大。
安全建议
针对Fushicho系列病毒,集成AVL反病毒引擎的MIUI安全中心已经实现全面查杀。安天AVL移动安全团队和MIUI安全中心提醒您:
l 请不要轻易root手机,否则您的手机将遭受巨大的安全风险;
l 请勿在非官方网站或者不知名应用市场下载任何应用;
安天AVL移动安全团队专注于移动互联网安全技术研究及反病毒引擎研发,为合作伙伴提供强大的移动安全解决方案。AVL移动反病毒引擎致力于为企业和厂商伙伴提供针对性的移动终端威胁防护解决方案,如病毒检测、金融安全防护、上网安全防护等安全能力输出。目前除了为小米MIUI输送安全能力外,也与其他众多知名厂商达成战略合作,为猎豹、阿里云YunOS、OPPO、VIVO、步步高、努比亚、LBE、安卓清理大师、AMC等合作伙伴提供移动反恶意代码能力,为全球过亿终端用户保驾护航。
安天AVL联合小米MIUI首擒顽固病毒“不死鸟”的更多相关文章
- 病毒四度升级:安天AVL Team揭露一例跨期两年的电信诈骗进化史
自2014年9月起,安天AVL移动安全团队持续检测到一类基于Android移动平台的间谍类病毒,病毒样本大多伪装成名为"最高人民检察院"的应用.经过反编译逆向分析以及长期的跟踪调查 ...
- 彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题
1.Toast的基本使用 Toast在Android中属于系统消息通知,用来提示用户完成了什么操作.或者给用户一个必要的提醒.Toast的官方定义是这样的: A toast provides simp ...
- 小米miui系统怎么关闭文件管理里的热门视频和表情?
小米miui系统怎么关闭文件管理里的热门视频和表情? 打开"文件管理"后,切换到"手机"选项卡. 然后,点击屏幕右上角的一排竖点. . 在弹出的菜单中点击&qu ...
- 小米MIUI 360wifi掉线解决方案 落雨
问: 360WIFI 小米WIFI 联网无网速的解决办法 方法1.退出电脑和手机上的360安全卫士(我抱着试试的态度退出了之后,我艹,速度立马有了!),估计是这些安全软件太强大,导致的. 方法2.我用 ...
- 小米MIUI禁止系统更新
删除downloaded_rom的文件夹,随便找一个文件(文件,不是文件夹),重名为downloaded_rom(是把一个文件重命名),这样系统后台偷偷下载时,就不知道该存放更新包的文件,就无法偷偷更 ...
- WannaRen来袭:螣龙安科带你盘点那些年的勒索病毒
2020年4月7日,360CERT监测发现网络上出现一款新型勒索病毒wannaRen,该勒索病毒会加密windows系统中几乎所有的文件,并且以.WannaRen作为后缀.360CERT该事件评定:危 ...
- Client病毒已感染超7万人 暗扣费并频弹广告
恶意木马病毒横行,您的钱包还hold得住吗?猎豹移动安全实验室与安天AVL移动安全团队于2015年下半年,共同截获一款名为Client的木马病毒,并且对该病毒进行持续监测.通过进一步关注,我们发现该病 ...
- 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具
近日,一种名为"DressCode"的恶意代码引起了国内安全行业的关注,该恶意代码以企业员工的移动设备作为跳板对企业内网进行攻击,对企业安全造成严重威胁.安天移动安全公司威胁情报团 ...
- 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备
安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...
随机推荐
- matlab画图函数plot()/set/legend
简单plot()/legend/XY轴范围axis 除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下 x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); ...
- 【原】聊聊js代码异常监控
在平时的工作,js报错是比较常见的一个情景,尤其是有一些错误可能我们在本地测试的时候测试不出来,当发布到线上之后才可以发现,如果抢救及时,那还好,假如很晚才发 现,那就可能造成很大的损失了.如果我们前 ...
- web应用中浏览器与服务端的编码和解码
转自:http://blog.sina.com.cn/s/blog_87cb63e50102w2b6.html 以下为正文: ************************************* ...
- thinkphp中的查询语句
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- .gitignore过滤个人配置
git还是一个很好使用的版本工具.所以用eclipse做自己的小玩意儿,在多台电脑之间同步的时候我经常会使用它.. 但是有个问题..不同电脑的eclipse的个人配置稍微有那么一点点的不同..比如有几 ...
- ORACLE常用数值函数、转换函数、字符串函数
本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表 ...
- 【Sorting Collection】
排序集锦 各种排序算法,总结一下,一直在遗忘...... [冒泡排序] 就是下面这个鬼啦: c实现代码(升序): #include<stdio.h> void BubbleSort(int ...
- Python中的if __name__='__main__'语句的作用
笔者在自学Python的过程中,对于if __name__='__main__'的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__='__main__'语 ...
- 配置 PHP 的 Session 存储到 Redis
PHP 的会话默认是以文件的形式存在的,可以配置到 NoSQL 中,即提高了访问速度,又能很好地实现会话共享,,,爽歪歪! 配置方式如下: 方法一:修改 php.ini 的设置 session.sav ...
- Linux下Python 文件内容替换脚本
Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...