背景

近期,一批伪装成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. ionic3自定义android原生插件

    一.创建一个android项目,编写插件功能,并测试ok,这里以一个简单的调用原生Toast.makeText为例. 1.新建android项目 2.编写插件类 package com.plugin. ...

  2. struts 1.x配置文件说明

    <struts-config> <global-exceptions /> <!--全局映射定义--> <global-forwards> <fo ...

  3. Json格式获取接口返回的值

    关键字:Set Variable       Get Json Value       to json        Get From Dictionary     具体关键字用法不再说明,可百度一下 ...

  4. java maven compiler设置默认1.8

    方法一: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupI ...

  5. 欢迎来到Python世界

    Python是一门优雅而健壮的解释型编程语言,它具有如下的特点: 易学  Python关键字少.结构简单.语法清晰.学习者可以在相对更短的时间内轻松上手. 易读  Python没有其它语言通常用来访问 ...

  6. Python 的 14 张思维导图汇总

    本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库,后续会发布相应专题的文章). 首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典 ...

  7. spring 406 (Not Acceptable)错误

    @Controller @RequestMapping("/login") public class LoginController { @ResponseBody @Reques ...

  8. VS 2017显示“高级保存选项”命令操作方法

    Visual Studio提供“高级保存选项”功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual Studio 2017中,该命令默认是没有显示在“文件”菜单中的.用户需要手工设 ...

  9. 《Java并发编程的艺术》Java并发机制的底层实现原理(二)

    Java并发机制的底层实现原理 1.volatile volatile相当于轻量级的synchronized,在并发编程中保证数据的可见性,使用 valotile 修饰的变量,其内存模型会增加一个 L ...

  10. javaMail的使用以及trying to connect to host "1xxx@163.com", port 25, isSSL false异常

    最近项目用到邮件系统,开始了解javaMail...话不多说先上代码: pom依赖: <!--    邮件  https://mvnrepository.com/artifact/javax.m ...