freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

TeaBot:目标欧洲银行的Android恶意软件
暗影安全实验室 2021-05-21 16:30:19 237170

1. 概述

银行恶意软件一直都是我们暗影实验室关注的重点。近期,意大利出现了一种新型的Android恶意软件,研究人员发现它与目前已知的银行木马家族都不相关,命名这款新型的银行木马家族为TeaBot(也有命名为Anatsa)。

该恶意软件最初出现时间是在2020年12月初,它伪装成“VLC_MediaPlayer”,“TeaTV”应用程序。TeaBot家族恶意软件的其主要目标是窃取用户凭证信息和短信消息,用于已预先设计好的银行欺诈方案。

目前,TeaBot似乎处于开发的早期阶段。2021年3月,发现意大利银行的相关注入模块,2021年5月,发现比利时和荷兰银行的注入

用户在成功安装TeaBot后,攻击者就可以随时实时获取设备屏幕,并通过AccessibilityServices交互,窃取用户隐私信息,根据用户安装的应用列表,获知已安装的银行应用,并分发已预先设计好的银行欺诈注入代码,诱导用户登录,操作等,并获取用户短信验证消息,最终导致用户个人信息泄露和财产损失,安装图标如下:

VLC_MediaPlayer TeaTV

2. 样本信息

表2-1 样本基本信息

序号


应用安装名称


MD5


版本号


1


VLC_MediaPlayer


B694BA8BF9C8D2B9CFDE8C20C76c4716


1.0


2


TeaTV


CB187F22AA2A67C28CB604487E85BE9F


1.0


3. 程序运行流程图

图3-1 TeaBot程序运行流程图

4. 样本分析

4.1 静态分析

4.1.1 增高安全分析难度

4.1.1.1 dex动态加载

在启动恶意软件后,先执行自定义Application类的attachBaseContext方法,然后执行ghostincome方法动态加载assets文件路径内的rA.json文件。rA.json文件是一个加密的dex文件,恶意代码模块主要集中在rA.json文件内。

图4-1-1 动态加载rA.json文件过程

4.1.1.2 使用XOR加密算法

通过静态分析发现,该样本使用XOR加密算法对部分网络通信进行加密。

图4-1-2 XOR加密

4.1.2 TeaBot支持6种语言

通过逆向分析代码发现,TeaBot检索银行app时,判断的结果使用了6种语言(西班牙语,英语,意大利语,德语,法语和荷兰语)。

图4-1-3 支持6种语言

4.1.3 主要功能

4.1.3.1 跟踪记录

通过使用Android无障碍服务,TeaBot能够观察和跟踪用户在目标应用程序上执行的所有信息,并将关键的跟踪信息通过SharedPreferences储存到config.xml配置文件中。TeaBot在与C&C服务器进行首次通信时,会发送已安装应用程序的列表,以验证受感染的设备是否已安装一个或多个目标应用程序。当其中有一个匹配时,它会下载特定的WebView以执行覆盖攻击,并开始跟踪用户在目标应用程序上执行的所有活动。这些信息都是每间隔10秒发送到指定的C&C服务器。下图为代码模块和config文件:

服务器地址:185.*.*.31:80

图4-1-4 发送请求获取检索应用代码

图4-1-5 写入config.xml

配置文件中包含需要检索的应用包名、远控指令执行状态、C2服务器的url等。远控和检索包名等功能都是在无障碍服务的onAccessibilityEvent方法中执行的。

4.1.3.2 屏幕截图

TeaBot可以进行屏幕截图来不断监视受感染设备的屏幕。当用户启动恶意软件后,Teabot发送包含设备信息的post请求至C&C服务器,服务器返回信息中如果含有一套IP地址和PORT的“ start_client ”命令时,开始启动截图。TeaBot启动一个循环,在该循环中创建一个“VirtualScreen”以获取屏幕截图。

1)发送post请求到服务器

服务器地址:185.215.***.31:80

图4-1-6 发送post请求

2)服务器返回“start_client”指令

图4-1-7 解析返回指令“start_client”

3)启动截屏模块

图4-1-8 启动截屏模块

4.1.3.3 覆盖攻击

覆盖攻击是一种Android银行木马(例如Anubis,Cerberus)普遍的技术手段,虚假的界面覆盖能够迷惑和诱骗用户信以为真,继而窃取用户的个人隐私。

通常有两种方式:1、伪造虚假的银行app并启用;2、在合法应用程序(例如银行应用程序)的上层启动一个虚假的WebView来迷惑和欺诈用户。TeaBot能够对多个银行应用程序执行覆盖攻击,以窃取登录凭据和银行卡信息。

图4-1-9 覆盖攻击模块

根据抓包和恶意代码分析,总结了覆盖攻击的流程图如下:

1)先判断是否含有特定的银行应用包名,然后下载注入模块。

2)用户打开银行应用,操作的数据会上传C2服务器,C2服务器返回覆盖攻击的远控指令。

3)虚假的webview会覆盖真实的银行app界面,诱导用户输入登录凭证。

4)窃取的用户隐私通过加密的POST请求上传至C2服务器。

图4-1-10 覆盖攻击流程图

4.1.3.4 其他功能

1)能够拦截/隐藏短信

恶意软件具有拦截/隐藏短信的功能,拦截的短信信息会通过每隔10s的post加密请求发送到C2服务器(服务器地址:185.215.***.31:80),其主要目的是获取用户银行登录或修改密码的短信验证。隐藏短信的主要目的是隐秘的修改或登录用户银行账号,防止用户发现。

图4-1-11 拦截短信

图4-1-12 隐藏短信

2)能够窃取Google身份验证code。

图4-1-13 窃取Google身份验证code

3) 远程控制Android设备

恶意软件通过无障碍辅助功能和实时屏幕共享,将收集的信息、截图实时上传至服务器(服务器地址:185.215.***.31:80),再通过解析服务器的返回,获取远控指令,并通过无障碍辅助功能实现其远控功能。如下图是无障碍辅助功能开启后,onAccessibilityEvent方法中的远控操作:

图4-1-14 远程操作

更多远控指令详见“表4-1远控指令列表”,以下是其中一个远控操作(获取用户账号信息),如下图所示:

图4-1-15 远程操作-获取用户账号信息

图4-1-15 远程操作-获取用户账号信息

4.2 动态分析

4.2.1 启用无障碍辅助服务

I. 此类木马在启动后,会诱骗用户开启无障碍辅助服务(AccessibilityService)。此服务设计初衷在于帮助残障用户使用android设备和应用,启动后在后台运行,可以监听用户界面的状态。如下图所示:

图4-2-1 诱骗用户开启无障碍辅助服务

此恶意程序通过此服务监听用户手机界面变化,同时会禁止用户查看应用程序列表,禁止用户关闭无障碍模式,阻止用户卸载此应用。一般用户极难卸载此类木马。

II. 开启无障碍辅助服务后,TeaBot会请求敏感的android权限,如上图:

权限


功能


监测您的操作


用于拦截和监视用户的操作


检索窗口内容


用于正在访问的窗口内容,如登录凭证、短信等


执行手势


可执行操作手势


III. 接受请求的权限后,恶意应用程序将从设备中删除自身的图标。删除图标后,此恶意程序依然在后台运行,与C&C服务器通信并持续监控和窃取用户数据,然而用户却并不知情。

4.2.2 在后台与C&C服务器通信

4.2.2.1 使用http协议通信

通过抓包发现恶意程序和C&C之间的通信使用的是http协议。服务器地址:185.215.***.31:80

图4-2-2 wireshark抓包数据

​如图所示,根据其网络通讯内容和功能,将与C&C服务器的通信分为3个阶段:

1)Uricontent:/api/botupdate

从抓包数据中可以发现,TeaBot恶意软件每10秒钟发送一次POST请求,其中包含有关受感染设备的所有信息(图4-2-7网络数据加密部分详解)。

图4-2-3 第一次请求botupdate

C&C服务器返回信息使用异或XOR解密,如下图:

图4-2-4 C2返回信息解密

该响应通常由配置更新组成(例如C2地址,远控命令启动等)。

2)Uricontent:/api/getkeyloggers

每10秒钟TeaBot执行一次GET请求,以检索跟踪记录功能所收到的应用程序列表。

图4-2-5 第二次请求getkeyloggers

3)Uricontent:/api/getkeylogge

TeaBot发送包含受感染设备上安装的所有程序包名称的JSON文件(未加密)的POST请求。通过这些信息,C&C服务器就能知道是否有一个或多个目标应用程序,并响应下载相关的注入。

图4-2-6 第三次请求getbotinjects

4.2.2.2 使用XOR异或加密流量

通过逆向恶意代码模块,发现其加密部分使用了XOR异或加密。

图4-2-7 网络数据加密部分详解

4.2.2.3 远控命令

恶意程序通过onAccessibilityEvent方法实施远控操作,包含的远控指令,如下表所示:

指令


功能


app_delete


从包名称中删除一个应用程序


ask_syspass


显示生物识别授权弹出窗口


ask_perms


向用户请求权限


change_pass


显示一条提示消息(小弹出窗口),通知用户更新密码(锁定模式)


get_accounts


在Android设置中获取帐户


kill_bot


自行删除


muute_phone


使设备静音


open_activity


通过包名打开一个应用程序


open_inject


执行覆盖攻击,打开注入(html负载)


reset_pass


功能缺失


start_client


设置一个IP和PORT,用于通过屏幕截图观察受感染的设备


swipe_down


执行手势,例如在屏幕上滑动


grab_google_auth


打开并在Google Auth应用中获取code


activate_screen


启用屏幕。TeaBot能够控制设备的屏幕(例如,能够使屏幕保持暗淡状态)


表4-2远控指令列表

4.3 服务器地址

服务器地址


分布区域


185.215.***.31


英国(塞舌尔 英吉利河 维多利亚)


Kop***apalo.xyz


比利时(域名解析:35.205.**.67


Sepo***kotop.xyz


德国(域名解析:87.106.**.146


表4-3 服务器地址分布

5. 应用危害

此类银行木马的危害十分严重,一旦安装后,用户的所有信息将被窃取,并且还会实时的监控用户的使用状态、截屏上传服务器。此木马最大的危害是对银行信息的窃取,其使用的覆盖攻击可以以假乱真,在用户不知情的情况下,轻松获取用户的凭证和短信信息。对用户造成财产损失。虽然目前TeaBot只是针对欧洲银行,但是不排除会增加其他国家的银行注入,所以此类木马家族还需要持续关注。

6. 安全建议

此恶意软件对自身实时了保护,用户通常难以卸载。

(1)立即关闭所有网络连接(断开手机移动网络和wlan),在未删除app前,建议禁止网络连接;

(2)使用adb指令删除恶意软件;

(3)如果以上方法都无法删除,备份一些重要数据到电脑,然后恢复出厂设置。

用户安装所需软件,建议去正规的应用市场下载、去官方下载。

在手机当中安装必要的安全软件,并保持安全软件更新。

# 银行木马
本文为 暗影安全实验室 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
暗影安全实验室 LV.6
暗影安全实验室-我们是一个积极向上的、直前的、齐心协力的团队。专注为您分享最新移动互联网安全咨询。
  • 64 文章数
  • 81 关注者
一款名为“精简”新型诈骗应用分析报告
2022-06-15
Android Native层逆向探索
2022-05-31
APT-C-23新型变种揭秘
2022-05-30
文章目录