背景

近期,一批伪装成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的杀毒引擎?的更多相关文章

  1. 【渗透技术】渗透测试技术分析_TomCat

    [渗透技术]渗透测试技术分析_TomCat 本文转自:i春秋论坛 渗透测试-中间人攻击(原理)说起“中间人攻击”我想大多数对渗透测试又了解的朋友都多少有所了解,因为我们用到的次数真是非常的多.它可以将 ...

  2. Ripple 20:Treck TCP/IP协议漏洞技术分析

    本文由“合天智汇”公众号首发,作者:b1ngo Ripple 20:Treck TCP/IP协议漏洞技术分析 Ripple20是一系列影响数亿台设备的0day(19个),是JSOF研究实验室在Trec ...

  3. 蓝牙协议分析(7)_BLE连接有关的技术分析

    转自:http://www.wowotech.net/bluetooth/ble_connection.html#comments 1. 前言 了解蓝牙的人都知道,在经典蓝牙中,保持连接(Connec ...

  4. WaterfallTree(瀑布树) 详细技术分析系列

    前言 WaterfallTree(瀑布树) 是最强纯C#开源NoSQL和虚拟文件系统-STSdb专有的(版权所有/专利)算法/存储结构. 参考 关于STSdb,我之前写过几篇文章,譬如: STSdb, ...

  5. iOS直播的技术分析与实现

    HTTP Live Streaming直播(iOS直播)技术分析与实现 发布于:2014-05-28 13:30阅读数:12004 HTTP Live Streaming直播(iOS直播)技术分析与实 ...

  6. 横向技术分析C#、C++和Java优劣

    转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...

  7. tolua++实现lua层调用c++技术分析

    tolua++技术分析 cocos2dx+lua 前言 一直都使用 cocos2dx + lua 进行游戏开发,用 Lua 开发可以专注于游戏逻辑的实现,另外一方面可以实现热更新:而且 lua 是一个 ...

  8. 美链BEC合约漏洞技术分析

    这两天币圈链圈被美链BEC智能合约的漏洞导致代币价值几乎归零的事件刷遍朋友圈.这篇文章就来分析下BEC智能合约的漏洞 漏洞攻击交易 我们先来还原下攻击交易,这个交易可以在这个链接查询到. 我截图给大家 ...

  9. NetSarang软件中nssock2.dll模块被植入恶意代码技术分析与防护方案

    原文地址:http://blog.nsfocus.net/nssock2-dll-module-malicious-code-analysis-report/ NetSarang是一家提供安全连接解决 ...

随机推荐

  1. Mybatis SqlsessionFactory

    在Mybatis 与 Spring 进行整合的时候,我们会进行sqlSessionFactory 的配置,来创建sqlSessionFactory 对象:如下: <bean id="s ...

  2. mysql group by using filesort优化

    原join 连接语句 SELECT SUM(video_flowers.number) AS num, video_flowers.flower_id, flowers.title, flowers. ...

  3. BFC是什么及能用它能做什么

    最近较为频繁的碰到了一个新的名词:BFc,每次都可以在相关的技术博客里面看到对其的简单介绍,刚开始以为自己懂了,但实际上没懂,今天就来搞清楚它到底是什么,以及我们能用他做什么? BFC:全名为 Blo ...

  4. fmt.printf输出的格式

    动 词 功 能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %% 输出 % 本体 %b ...

  5. vue+elementUI表格列显示隐藏遇到bug

    在最近的项目中,有需求要做到根据字段显示列,原来以为简单的v-if可以解决. 在开发的过程中遇到问题, <el-table ref="multipleTable" :data ...

  6. dotNet程序员的Java爬坑之旅(一)

    仔细想了下还是转java吧,因为后期不管是留在北京也好还是回老家也好,java的工作都会好找一点.现在的工作主要还是写.net,目标是下一次离职的时候可以找到一份全职的java工作,我一直都觉得实践才 ...

  7. Charles抓https请求详细步骤

    1.电脑上安装好Charles 2.电脑上安装证书 (1)点击Help - SSL Proxying - Install Charlse Root Certificate (2)在电脑上找到证书.此时 ...

  8. Java发送手机短信(附代码和解析,亲测有效,简便易操作)

    这个方法用的是中国网建SMS短信通相关依赖进行操作的~~ 很简单,仅需要三步,第二部代码直接复制,不需要修改,第三部中的用户名和密钥修改成自己的即可 <1> 首先需要导入三个jar包 &l ...

  9. 使用PYTHON完成排序(堆排序)

    class HeapStructure: def __init__(self, ls): self.ls = ls def shift_up(self, index): # 上移使符合堆要求 if i ...

  10. 面向对象(特殊成员 组合 self)