你的应用是如何被替换的,App劫持病毒剖析

简介:

你的应用是如何被替换的,App劫持病毒剖析

 

 

 

 

一.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劫持木马威胁。

 

 

本文来自合作伙伴“阿里聚安全”,发表于2016年04月19日 10:54.

相关文章
|
1月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
3月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
2月前
|
机器学习/深度学习 搜索推荐 数据挖掘
北邮移动互联网应用大作业实验报告《云账本app》开发
北邮移动互联网应用大作业实验报告《云账本app》开发
45 0
|
4月前
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
|
4月前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
4月前
|
安全 前端开发 网络安全
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
147 0
|
4月前
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
|
4月前
|
开发框架 前端开发 JavaScript
【Azure App Service】.NET应用读取静态文件时遇见了404错误的解决方法
【Azure App Service】.NET应用读取静态文件时遇见了404错误的解决方法
|
4月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
4月前
|
存储 大数据 索引
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题