首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
Android安全
发新帖
1
3
你的应用是如何被替换的?App劫持病毒剖析
2016-4-19 15:36
3461
你的应用是如何被替换的?App劫持病毒剖析
阿里安全
1
2016-4-19 15:36
3461
一.App劫持病毒介绍
App劫持是指执行流程被重定向,又可分为Activity劫持、安装劫持、流量劫持、函数执行劫持等。本文将对近期利用Acticity劫持和安装劫持的病毒进行分析。
二.Activity劫持病毒分析
2.1 Activity劫持病毒介绍
Activity劫持是指当启动某个窗口组件时,被恶意应用探知,若该窗口界面是恶意程序预设的攻击对象,恶意应用将启动自己仿冒的界面覆盖原界面,用户在毫无察觉的情况下输入登录信息,恶意程序在把获取的数据返回给服务端。
以MazarBOT间谍木马为例,该类木马有一下几个特点:
伪装成系统短信应用,启动后请求激活设备管理权限,随后隐藏图标;
利用Tor与C&C控制中心进行匿名通信,抵御流量分析;
C&C控制中心下发指令进行手机控制、update html、以及信息收集;
通过服务器动态获取htmlData,然后实施界面劫持,获取用户账号信息;
以下是C&C控制中心指令列表:
我们发现该木马能接受并处理一套完整的C&C控制指令,并且使用Tor进行匿名网络通信,使得流量数据的来源和目的地不是一条路径直接相连,增加对攻击者身份反溯的难度。结下来我们将详细分析该木马界面劫持过程。
2.2 界面劫持过程分析:
入口梳理首先看到axml文件。WorkerService服务处理C&C控制中心下发的”update html”指令,同时后台监控顶层运行的Activity,若是待劫持的应用将会启动InjDialog Acticity进行页面劫持。
图axml信息
下图是后台服务对顶层Acticity监控过程,若是待劫持应用则启动InjDialog进行劫持。getTop函数做了代码兼容性处理,5.0以上的设备木马也可以获取顶层Acticity的包名。
图后台监控
InjDialog Activity通过webView加载伪造的html应用界面,调用webView.setWebChromeClient(new HookChromeClient())设置html页面与Java交互,在伪造的Html页面里调用prompt把JS中的用户输入信息传递到Java,HookChromeClient类重写onJsPrompt方法,处理用户输入信息,最后将劫持的用户信息通过Tor匿名上传到指定域名。
图劫持用户信息
图上传劫持信息
三.应用安装劫持病毒分析
3.1安装劫持病毒介绍
安装劫持病毒通过监听android.intent.action.PACKAGE_ADDED和android.intent.action.PACKAGE_REPLACED intent实施攻击,包括两种手段,一种是卸载删除掉真正安装的apk,替换为攻击者伪造的应用;另外一种是借用用户正在安装的这个消息,悄悄的安装自己推广的其他应用。这个过程就像你平时喝的“六个核桃”,某天你居然喝到“七个核桃”。
3.2应用相关信息
该应用是一款名为”FlashLight”的应用,程序包名:com.gouq.light,应用图标如下:
3.3主要组件分析
.App 应用Application类,加载Assest目录下加密jar包,获取接口ExchangeImpl对象,在jar里实现接口函数onApplicationCreate、triggerReceiver、triggerTimerService;启动核心服务LightService;
.LightService 应用核心服务,可外部调用启动LightTiService,达到替换进程名,以及am启动服务以自身保活;
.LightTiService 由LightService启动,该服务会调用动态加载包里的triggerTimerService接口方法,完成对以安装应用的删除、当前设备信息上传、从服务器下载待安装应用;
.AppReceiver 广播接收器,通过加载的jar包里triggerReceiver接口方法实现,处理android.intent.action.PACKAGE_ADDED和android.intent.action.PACKAGE_REPLACED intent查看安装跟新应用是否是劫持应用,若是通过execCmd进行安装劫持。
下图安装劫持过程,通过监听应用的安装和更新,实施关联的其他应用的静默安装。
图安装劫持
上图可以知道此恶意应用借用安装或更新intent,安装预设的关联应用,这样在安装完毕后用户并不清楚哪个是刚真正安装的应用,这样增加了推广应用点击运行的几率。
四.怎么有效防治App劫持或安全防护建议
针对企业用户:
作为一名移动应用开发者,要防御APP被界面劫持,最简单的方法是在登录窗口等关键Activity的onPause方法中检测最前端Activity应用是不是自身或者是系统应用。
当然,术业有专攻,专业的事情交给专业的人来做。阿里聚安全旗下产品安全组件SDK具有安全签名、安全加密、安全存储、模拟器检测、反调试、反注入、反Activity劫持等功能。 开发者只需要简单集成安全组件SDK就可以有效解决上述登录窗口被木马病毒劫持的问题,从而帮助用户和企业减少损失。
针对个人用户:
安装阿里钱盾保护应用免受App劫持木马威胁。
作者:逆巴@阿里移动安全,更多技术文章,请访问阿里聚安全博客
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!
收藏
・
1
免费
・
3
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
日期
飘零丶
为你点赞~
2天前
shinratensei
为你点赞~
2天前
一笑人间万事
为你点赞~
2023-2-21 04:41
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
2
)
Tennn
雪 币:
1176
活跃值:
(1219)
能力值:
( LV12,RANK:380 )
在线值:
发帖
38
回帖
711
粉丝
60
关注
私信
Tennn
5
2016-4-19 16:07
2
楼
0
没有ROOT情况下一般都需要用户确认安装的。当然了也有可能用户主动在不可信的站点下载安装。
千言万语汇成一句话:保持良好XXXXXXXXXXXXXXXXXX
Zkeleven
雪 币:
53
活跃值:
(106)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
124
粉丝
0
关注
私信
Zkeleven
2016-4-19 16:41
3
楼
0
我海威武
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
阿里安全
1
108
发帖
123
回帖
70
RANK
关注
私信
他的文章
[推荐]阿里90后工程师利用ARM MMU硬件特性开启安卓8终端的上帝模式
10163
[分享] RSAC 2018:人工智能成为驱动网络安全的新 “引擎”
2338
[分享]阿里安全X实验室最新黑科技:“人脸识别”3.0版可毫秒识破假人脸
2312
[分享]前沿 | 抗击黑产 阿里安全八大实验室首秀技术实力
3008
[分享]阿里云在RSAC 2018上宣布 将在西雅图建立安全实验室
2699
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
留言:
快捷留言
返回
顶部