近期,AVL移动安全团队在GooglePlay应用市场发现一款名为POPBIRD的游戏应用(现已下架),一旦安装,该应用就会立即弹出三只活泼可爱的小鸟图标,迅速调动用户启动该应用的欲望。
图1 应用图标
该应用打包了恶意提权广告件PermAd,该应用运行后立即弹出开始界面,在颜色绚丽的开启界面背后其实暗藏各种流氓性质的恶意行为。具体恶意行为如下:
1 自动下载提权工具,提升应用权限。 2 开机自启动。 3 监控相关恶意子包应用,提升恶意子包权限。 4 上传用户系统信息。 5 恶意子包进行自我更新,推送第三方广告。 6 防止被卸载。
图2 应用开启界面
一、 恶意代码整体运行流程
以下介绍恶意提权广告件PermAd的详细运行流程。
图3 PermAd的详细运行流程
该应用运行时会联网下载提权应用.perm.apk,.perm.apk被DexClassLoader加载执行后会释放多个文件并提升应用权限。以下列举被释放的文件及其信息:
被释放文件的运行流程如图4所示。
图4 被释放文件的运行流程及作用
二 提权模块执行流程
图5 提权模块执行流程
1.运行后,应用会联网访问http://****/RootsdkUpdate/Index,获取提权应用的最新地址,并下载保存在指定地址。
2.DexClassLoader .perm.apk后反射调用相关方法释放文件并提权。
3.执行提权回调命令:
> 写入命令进启动文件install-recovery.sh,达到开机启动的目的。 > 释放.dler.apk文件,更改权限,静默安装应用com.android.service.utc0 > 复制释放的文件到相关目录提升权限并执行.rt_daemon,进行后台监听。
图6 后台监听
创建一个线程监听,每3.6秒监听进程,若无com.android.service.utc0进程则读取并执行.exeam文件里的am命令启动com.android.service.utc0
三 防卸载模块执行流程
.perm.apk释放.catr.apk(实际是ELF文件),运行锁定相关文件, 锁定文件后即便卸载应用后也不能删除。
使用lsattr指令可以查看该文件隐藏属性,相对其他文件多了ia两个参数,使之不能被删除:
四 释放的DownLoader子包执行流程
1.rt_daemon am 方式执行com.android.service.utc0/com.example.demo10.WakeActivity
2.联网访问指定网址以获得DownLoadr应用最新地址,在测试中发现该DownLoader还在更新。
3 自我更新,并释放/files/.catr.apk,锁定文件,防止被删除。
4 访问特定网址获取广告列表,并进行广告推送。
五 总结及安全建议
该应用释放的子包能通过install¬-recovery.sh启动,在后台监听使子包一直处于运行状态,并通过chattr锁定自身/data/app中的应用,通过应用管理卸载后依旧存在,开机后通过.rt_daemon使用am命令启动,达到无法轻易被卸载的目的,只能通过先使用chattr解除权限再使用rm来完成删除。
此外,该应用还会删除su文件,导致之前Root过的手机都无法获取Root权限。
面对此类纷繁复杂的恶意应用,AVL移动安全团队建议:
1 虽然这是个看脸靠颜值的社会,但咱也不要看人家长得好看就乱下载呀!
2 大家在使用新安装应用前,安装并开启手机安全软件AVL Pro进行全面扫描,避免开启恶意应用,远离恶意应用威胁。
* 作者/AVLTeam,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)