AVPass技术分析:银行劫持类病毒鼻祖BankBot再度来袭,如何绕过谷歌play的杀毒引擎?
背景
近期,一批伪装成flashlight、vides和game的应用,发布在google play官方应用商店。经钱盾反诈实验室研究发现,该批恶意应用属于新型BankBot。Bankbot家族算得上是银行劫持类病毒鼻祖,在今年年初曾爆发,之前主要针对欧洲国家,可劫持50多家银行应用,而新发酵的BankBot已将攻击目标扩散到全球,可劫持银行增加到145家。
那么新型BankBot是怎么再次入侵用户手机?
能上架应用商店和入侵用户手机,BankBot使用了AVPass技术,包括针对静态分析和动态沙盒的逃逸,这样成功绕过大多数杀毒引擎。可信应用商店+绕过杀毒引擎,这样病毒自然能轻松入侵用户手机。本文接下来的内容将解析BankBot是如何规避杀毒引擎,病毒劫持钓鱼过程可参考《警惕一大波银行类木马正在靠近,新型BankBot木马解析》。
AVPass分析
1、使用成熟的AVPass技术,可绕过反病毒检测系统
病毒AvPass工作流程图如下:

Binary Obfuscation
混淆自身特征,包括类名、函数名、字符串加密、反射调用,并将待劫持应用包名sha1编码,随后使用加固技术,将恶意dex打包加密。处理后的app如下图:

2、对抗动态沙盒
通过自检测运行环境和增加用户行为交互对抗沙盒,新型BankBot只有同时满足以下4条才会触发恶意行为:
- 运行在Android5.0以及以上设备
- 运行设备非俄罗斯、巴西、乌克兰用户
- 检测运行环境,若非真机环境将不会触发恶意行为
- 用户行为交互,点击按钮
下图运行设备检测

3、FCM远控,获取短信验证码
目前,各大银行实施双因素认证即在支付过程中进行身份认证和基于手机动态密码的验证。BankBot在通过钓鱼拿到用户银行身份信息后,还差动态短信,之前BankBot直接使用短信劫持,但这样杀软可通过静态或动态检测出恶意行为。新型BankBot通过集成谷歌提供的Firebase Cloud Messaging(简称FCM)框架,利用FCM向指定设备发送指令数据,从而获取受害者短信验证码,也就是控制端在成功钓鱼后,通过FCM下发获取短信的指令,病毒读取最新短信,通过网络上传至控制端。下图整个攻击流程。

FCM下发的指令数据还包括:更新C&C地址、弹伪造的通知栏、界面劫持数据,其中弹伪造的通知栏和界面劫持都是BankBot的钓鱼手段。下图下发的指令数据。

攻击者一旦成功截获受害者银行账号、密码和短信动态验证码,将绕过银行双因素认证,这样受害者们不仅仅构造成了一个可以被攻击者控制的移动僵尸网络,更成了攻击者的天然提款机。
安全建议
1、建议用户安装钱盾等手机安全软件,定期进行病毒扫描。
2、切勿点击任何陌生链接,尤其是短信、QQ、微信等聊天工具中不熟识的“朋友”发来的链接。
------------------------------
* 作者:钱盾反诈实验室,更多安全类热点信息和知识分享,请关注阿里聚安全的官方博客
AVPass技术分析:银行劫持类病毒鼻祖BankBot再度来袭,如何绕过谷歌play的杀毒引擎?的更多相关文章
- 【渗透技术】渗透测试技术分析_TomCat
[渗透技术]渗透测试技术分析_TomCat 本文转自:i春秋论坛 渗透测试-中间人攻击(原理)说起“中间人攻击”我想大多数对渗透测试又了解的朋友都多少有所了解,因为我们用到的次数真是非常的多.它可以将 ...
- Ripple 20:Treck TCP/IP协议漏洞技术分析
本文由“合天智汇”公众号首发,作者:b1ngo Ripple 20:Treck TCP/IP协议漏洞技术分析 Ripple20是一系列影响数亿台设备的0day(19个),是JSOF研究实验室在Trec ...
- 蓝牙协议分析(7)_BLE连接有关的技术分析
转自:http://www.wowotech.net/bluetooth/ble_connection.html#comments 1. 前言 了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connec ...
- WaterfallTree(瀑布树) 详细技术分析系列
前言 WaterfallTree(瀑布树) 是最强纯C#开源NoSQL和虚拟文件系统-STSdb专有的(版权所有/专利)算法/存储结构. 参考 关于STSdb,我之前写过几篇文章,譬如: STSdb, ...
- iOS直播的技术分析与实现
HTTP Live Streaming直播(iOS直播)技术分析与实现 发布于:2014-05-28 13:30阅读数:12004 HTTP Live Streaming直播(iOS直播)技术分析与实 ...
- 横向技术分析C#、C++和Java优劣
转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...
- tolua++实现lua层调用c++技术分析
tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lua 进行游戏开发,用 Lua 开发可以专注于游戏逻辑的实现,另外一方面可以实现热更新:而且 lua 是一个 ...
- 美链BEC合约漏洞技术分析
这两天币圈链圈被美链BEC智能合约的漏洞导致代币价值几乎归零的事件刷遍朋友圈.这篇文章就来分析下BEC智能合约的漏洞 漏洞攻击交易 我们先来还原下攻击交易,这个交易可以在这个链接查询到. 我截图给大家 ...
- NetSarang软件中nssock2.dll模块被植入恶意代码技术分析与防护方案
原文地址:http://blog.nsfocus.net/nssock2-dll-module-malicious-code-analysis-report/ NetSarang是一家提供安全连接解决 ...
随机推荐
- python—列表生成式
#原始写法 l=[] for i in range(1,11): l.append(str(i).zfill(2)) print(l) #结果:['01', '02', '03', '04', '05 ...
- 使用Spring Cache缓存出现的小失误
前文:今天在使用Spring Boot项目使用Cache中出现的小失误,那先将自己创建项目的过程摆出来 1.首先创建一个Spring Boot的项目(我这里使用的开发工具是Intellij IDEA) ...
- hive上传数据到oracle
# Oracle 建立hive外部表 使用oracle的大数据连接器向建立hive的外部表,在通过在oracle中根据外部表建立内部表(create table as select * from ex ...
- Linux 防火墙iptables开放端口
Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能.如果 Linux 系统连接到因特网或 LAN.服务器或连接 LAN 和因特网的代理 ...
- Git实际操作
1.基本操作 git init 初始化仓库 git status 查看仓库状态 git add XXX.XX 向暂存区中添加文件XXX.XX git commit 保存仓库的历史记录 git log ...
- 新建VS工程与填坑:解决方案与项目不在同一目录
A.新建项目->空工程 B.添加依赖库 1.属性->C/C++->附加包含目录 注:添加头文件目录,必须指向子文件夹 2.属性->链接器->常规->附加库目录 注: ...
- 将python文件打包成exe可运行文件
https://blog.csdn.net/douzhenwen/article/details/78886244
- 9.Redis高可用-哨兵
9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...
- 3D 数据
1.3D 图 首先在进行 3D Plot 时除了导入 matplotlib ,还要额外添加一个模块,即 Axes 3D 3D 坐标轴显示: import numpy as np import matp ...
- Linux下docker报错syntax error:unexpected protocol at end of statement
---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...