近期,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

4.执行/system/xbin/.rt_bridge写入am命令到/data/local/.exeam文件,添加包的MD5到/data/local/.bridge文件, Socket方式向.rt_daemon发送请求。

三 防卸载模块执行流程

.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)

源链接

Hacking more

...