近期,CheckPoint公司发布中国地区多款安卓手机被安装了一个被命名为“RottenSys”的手机恶意推广软件,包括华为、三星、小米、OPPO、VIVO、金立等手机。
360安全团队在进行相关技术分析后,确认“RottenSys”主要是通过一家名为“Tian Pai”的电话分销平台来进行传播的,攻击者在该环节上通过“刷机”或APP(再root)的方式,在手机到达用户手中前,在目标上安装部分RottenSys应用程序,从而达到感染传播的效果。
“RottenSys”在感染了国内众多安卓手机后,会伪装成“系统WIFI服务”等应用,并通过不定期给用户推送广告或指定的APP来获取利益,给安卓手机用户造成了一定的困扰。
感染趋势
360安全团队对“RottenSys”进行进一步的分析跟进后,统计了2018年1月1日到2018年3月15日,感染量总计185,317,相关信息如下:
技术分析
目前有如下4种和“RottenSys”相关的应用程序存在:
其中自称系统Wi-Fi服务(com.android.services.securewifi)不会向用户提供任何Wi-Fi相关服务,实际上它是一个“下载器”并与其控制(C&C)服务器通讯,接受下载指令实施推广服务,具体细节如下:
1.伪装成系统服务进程,该恶意软件实际上为普通应用程序,由于大多数普通用户很难对这样的伪装做出正确判断,因此恶意软件的存活也就变得显而易见。
2.巨大的敏感权限列表,其中包括像静默下载这样的权限,使得用户很难察觉到恶意软件的更新、推广。
3.使用开源框架MarsDaemon、广播等手段保证自身服务长期存活,即使用户在设备关机重启之后,恶意软件也会很容易的启动起来。
4.推迟操作,当用户中招后在较长一段时间内尝试接收、推送弹窗广告,避免让用户立刻感知到。
5.恶意模块通过云端下载,并且使用开源的轻量级插件框架Small,它能隐秘的进行恶意模块加载,并且模块之间代码不相互依赖,这使得恶意推广变得更加灵活。
此外,360进一步分析对比了该样本在2016和2017年的两个版本。
主要行为:
其中install.sh:把所有释放的文件替换到系统 sdk.apk:发送心跳包,检查更新时间,关闭com.qihoo360.mobilesafe,私自下载sample.apk,私自安装,卸载,弹通知栏 glesva.jar:与服务器通信,上传手机设备信息,检查更新,检查自己签名,检查sdk.apk信息,确认hash,签名等并执行 install_recovery:执行googlegs googlesq:监控释放的文件是否被删除,删除则再写入 googlegs:执行googlesq
“df”, “rfg”, “bm”, “gcgdd”拼接成dfm.zip
dfm.zip结构
IOC
部分C2:
样本:
com.system.service.zdsgt
com.android.yellowcalendarz
com.changmi.launcher
com.android.services.securewifi
FAQ
Q:为什么有的厂商感染量这么高,是什么原因?
A:厂商被感染量的高低主要取决于该厂商在“Tian Pai”平台的出货量,比如近两年某厂商在该平台的出货量一直都是比较高,所以它也成了“RottenSys”感染的一个重要占比。
Q:“RottenSys”通过什么途径感染到目标设备的?
A:“RottenSys”的感染途径重要主要有两个方式。一种是物理接触方式的目标安卓设备刷机行为,黑产者通过物理接触直接变更目标系统。另一种是软件方式的安装APP和进一步root目标设备来进行“RottenSys”感染。
报告编号: B6-2018-031902
报告来源: 360-CERT
报告作者: 360烽火实验室,360-CERT, 360NetLab, 360VulpeckerTeam
更新日期: 2018-03-19
参考
https://research.checkpoint.com/rottensys-not-secure-wi-fi-service/
https://thehackernews.com/2018/03/android-botnet-malware.html
原文:https://cert.360.cn/report/detail?id=d16cf0e2a477d1f1013c7154ef4c2893