Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件

要点概述

  • 早在 2021 年 2 月,检测到分发Oscorp 的恶意活动,这是当时的一种新的 Android 恶意软件。该活动的主要目的是窃取资金从受害者的家庭银行服务,通过结合网络钓鱼工具包和语音钓鱼电话
  • Oscorp已开发用于攻击多个金融目标(银行和加密货币应用程序),其主要功能如下:
    o 能够发送/拦截/删除短信和拨打电话
    o 能够对 150 多个移动应用程序执行叠加攻击
    o 通过 WebRTC 协议和 Android 无障碍服务的 VNC 功能
    o 启用关键日志功能
  • 一旦Oscorp成功安装在受害者的设备中,它就会使威胁参与者 (TA) 能够通过 WebRTC 协议远程连接到它。在某些情况下,我们发现特定的威胁行为者 (TA) 利用假银行运营商在后台执行未经授权的银行转账时通过电话说服受害者。
  • 在最初的活动明显停止后,在 2021 年 5 月,在野外发现了新的Oscorp样本,但有一些细微的变化;与此同时,在多个黑客论坛上,一个名为 UBEL 的新型 Android 僵尸网络开始被宣传。
  • 我们发现多个指标将OscorpUBEL链接到同一个恶意代码库,表明是同一个原始项目的分支,或者只是其他附属公司的品牌重塑,因为其源代码似乎在多个 TA 之间共享。

概述

2021 年 1 月底,一种新的 Android 恶意软件开始出现,它被称为Oscorp [ 1 ]。2021 年 2 月,Cleafy 系统检测到新版本的 Oscorp,几个小时后,我们向我们报告了与此威胁相关的第一起事件。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图0

由于检索到的数据以及对分布式 Oscorp 样本的深入技术分析,我们能够重建详细的事件链,并分享特定 TA 用于通过 ATO(帐户接管欺诈)进行银行欺诈的所有方法

以下列表包括我们在最近的分析中提取的一些高级指标:

  • 欧盟零售银行似乎是这项特定技术援助的目标之一,并且已经确认了多起事件。由于目标清单还包括来自美国、日本、澳大利亚的银行和金融机构(见附录 4 中的受影响国家),我们不排除其他本地 TA 可能使用相同的攻击向量(Oscorp)来转移其他恶意活动。
  • 网络钓鱼活动通过短信 ( smishing )进行分发,这是当今检索有效凭据和电话号码的常用策略
  • 假银行运营商通过电话说服受害者(vishing)实时进行攻击,这是一种通常用于绕过多因素身份验证(例如 OTP 代码)的常见策略。
  • Oscorp 似乎由该 TA 分发,以获得对受感染移动设备的完全远程访问权限,并从受感染设备本身执行未经授权的银行转账,由于在这种情况下不需要新设备注册,因此大大减少了它们的足迹
  • 即时支付似乎是最流行的提现机制,主要通过钱骡网络进行。我们不排除其他兑现机制(例如虚拟卡生成、预付卡充值、无卡 ATM 等),因为这些服务在现代零售银行服务中非常普遍

下图显示了捕获事件的时间线,描述了该 TA 如何设法通过 smishing 检索有效的银行凭证,并成功地将 Oscorp 传送到受害设备,以直接从受感染的设备执行 ATO 欺诈场景:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 1 从这个新的 Oscorp 活动中检索到的事件时间线

移至恶意软件内部,我们能够提取 Oscorp 的多个特征,这些特征主要是通过滥用 Android 辅助功能服务实现的,这是其他家族(例如 Anubis、Cerberus/Alien、TeaBot [ 2 ])也使用的一种众所周知的技术,等等..)。

以下代码片段包含 Oscorp 源代码中的所有远程命令:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 2  Oscorp 命令列表

所有命令都通过 AES 进程加密,这是恶意软件作者用来拖慢分析师速度的一种众所周知的技术。

附录 1 中提供了 Oscorp 中的完整命令列表

Oscorp演变为UBEL

在初始活动明显停止后,在 2021 年 5 月/2021 年 6 月期间,在野外发现了新的 Oscorp 样本,但有一些细微的变化;与此同时,在多个黑客论坛上,一个名为UBEL的新型 Android 僵尸网络开始被宣传。

通过分析一些相关样本,我们发现多个指标将 Oscorp 和 UBEL 链接到同一个恶意代码库,表明是同一原始项目的分叉或其他附属机构的重新命名,因为其源代码似乎在多个 TA 之间共享。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 3 在多个黑客论坛上发现的 UBEL 私有 Android 僵尸网络帖子
Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 4 – UBEL 僵尸网络及其 C2 交互的视频演示

几周后,我们还注意到多个 UBEL 客户开始指责他们欺诈,因为它似乎不适用于某些特定的 Android 设备,这与 TA 最初声称的相反。

其中一位客户在经过一番辩论后,发布了一些视频作为其主张的证据,但没有对其进行适当的匿名处理,暴露了有效的 C2 地址,如下所示:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 5  Oscorp 示例与 omegabots[.]xyz 通信

scorp 和 UBEL 之间另一个有趣的链接是“bot id”字符串格式,它包含一个初始的“RZ-”子字符串,后跟一些随机的字母数字字符,如另一个在线发布的演示视频所示:  

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 6 – Oscorp 和 UBEL 共享相同的“bot id”字符串前缀“RZ-”

此外,在那些较新的 Oscorp 样本(链接到 UBEL)上,与 2021 年初发现的初始波相比,我们能够识别不同的 API 端点和不同的 AES 密钥,这将在下一节中描述。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 7 – UBEL 使用的一些新的 C2 路径

静态分析

下图显示了AndroidManifest文件的片段:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 8 – AndroidManifest.xml 文件中声明的权限列表

在下表中,我们包含了 Oscorp 请求的最有趣的权限,用于访问 Android 系统的受限部分(例如READ_SMS、SEND_SMS)或其他合法应用程序(例如BIND_ACCESSIBILITY_SERVICE):

  • SYSTEM_ALERT_WINDOW:允许应用创建显示在所有其他应用之上的窗口。很少有应用程序应该使用此权限;这些窗口用于与用户进行系统级交互。Oscorp 在安装阶段使用此权限来强制用户接受辅助功能权限。
  • RECORD_AUDIO:允许应用程序录制音频
  • READ_SMS:允许应用程序发送短信
  • SEND_SMS:允许应用程序发送短信
  • RECEIVE_SMS:允许应用程序接收短信
  • REQUEST_INSTALL_PACKAGES:允许应用程序请求安装软件包
  • REQUEST_DELETE_PACKAGES:允许应用程序请求删除 软件包
  • RECEIVE_BOOT_COMPLETED:允许应用在系统启动后自动启动。Oscorp 使用此权限在设备上实现持久化并作为 Android 服务在后台运行。   
  • BIND_ACCESSIBILITY_SERVICE:“无障碍服务应仅用于帮助残障用户使用 Android 设备和应用程序。它们在后台运行并在 AccessibilityEvents 被触发时接收系统回调。此类事件表示用户界面中的某些状态转换,例如,焦点已更改,按钮已被单击等。此类服务可以可选地请求查询活动窗口内容的能力。”[ 3 ] 然而,Oscorp 滥用此权限来观察和检索受感染设备上的信息

Oscorp 实施了一些技术来减慢静态分析的速度,例如:

  • 所有字符串都使用开源实现 [ 4 ]进行模糊处理,但一些字符串(例如机器人的命令、API 端点等)也使用 AES 和 base64 编码进行了加密。
  • Oscorp 和 C2 之间的网络通信仅使用 AES 算法和基于常规 HTTP 的 base64 编码进行加密。
Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 9 – Oscorp 加密流程

此外,字符串混淆似乎只在 Oscorp [5] 的某些样本中引入,与另一个 Android 银行恶意软件 Cabassous (Flubot) 使用的程序相同。

图 10 比较 Oscorp 和 Cabassous 的加密流程
Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 11 网络流量加密例程(AES 算法)

WebRTC——网络实时通信

“WebRTC(Web 实时通信)是一个免费的开源项目,通过简单的应用程序编程接口 (API) 为 Web 浏览器和移动应用程序提供实时通信 (RTC)。它允许直接对等通信,从而允许音频和视频通信在网页内工作,无需安装插件或下载本机应用程序。WebRTC 背后的技术是作为开放的网络标准实现的,并在所有主要浏览器中作为常规 JavaScript API 提供。对于原生客户端,如 Android 和 iOS 应用程序,可以使用提供相同功能的库。” [ 6 ]

我们假设 Oscorp 集成了 WebRTC 以实现与受感染设备的实时交互,并结合滥用 Android 无障碍服务绕过“新设备注册”的需要来执行帐户接管场景 (ATO)。 

事实上,作者在他们的 C2 网络面板上将此功能命名为“反向 VNC ”(或 RPM),因为反向连接是绕过 NAT 或防火墙限制所必需的,并且可以通过 Android 辅助功能服务实现与设备的实时交互。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 12 -启用 WebRTC 远程连接的“反向 VNC”功能

此 TA 使用此功能的主要目标是避免“新设备注册”,从而大大降低被标记为“可疑”的可能性,因为从银行的角度来看,设备的指纹识别指标是众所周知的。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 13  “反向 VNC/RPM”攻击期间 UBEL C2 面板的视图

动态分析

当恶意应用程序下载到设备上后,它会尝试安装为“Android 服务”,这是一个可以在后台执行长时间运行操作的应用程序组件。

Oscorp 滥用此功能,在安装后悄悄地向用户隐藏自己,同时防止检测并确保其持久性。

在 2021 年初发现的一些活动中,他们将恶意应用程序的名称从“Android System”更改为“Protezione Clienti”应用程序(图 15):

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 14  Oscorp 安装阶段截取的屏幕截图
Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 15  Oscorp 使用的应用程序名称

安装为“Android 服务”后,Oscorp 将请求以下权限,这些权限是执行其恶意行为所必需的:

  • 观察你的动作:
    用于拦截和观察用户的动作。
  • 检索窗口内容:
    用于获取敏感信息,如登录凭据,SMS,双因素认证(2FA)从认证器代码
  • 执行任意手势:
    Oscorp 使用此功能在安装阶段后立即接受不同类型的权限,例如 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限弹出窗口,但也在通过 WebRTC 协议与受感染设备交互期间执行不同的操作
Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 16 – Oscorp 向用​​户请求的 Android 权限列表

一旦请求的权限被接受,恶意应用程序将从设备中删除其图标,并立即开始在后台与其 C2 服务器通信。

Oscorp 与其 C2 服务器执行的网络通信使用 AES 算法进行加密,并且一开始它会尝试发送新感染设备的所有整体信息,例如供应商、公共 IP 地址、已安装应用程序列表、SMS 消息、用户执行的操作等。

下图是 Oscorp 与其 C2 服务器之间截获的通信示例,其中发送了所有已安装应用程序的列表:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 17 – Oscorp 与其 C2 服务器之间截获的网络通信示例

Oscorp 还可以滥用 Android 无障碍服务来捕获和检索设备屏幕上的任何内容,例如:

  • 银行应用程序在登录身份验证和签署新的银行转账(例如即时支付、SEPA 转账等)时生成的 2FA 代码(例如 OTP)
  • 拦截通知和短信
  • 执行覆盖攻击(在附录 2 中描述
  • 启用与受感染设备的完整交互(例如在屏幕上发送任意点击、打开已安装的任意应用程序等)

下图显示了新收到的短信如何被 Oscorp 拦截并发送回设计的 C2 服务器:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 18 – Oscorp 截获的短信示例

附录

附录 1:机器人命令列表

以下是在 Oscorp 上找到的所有机器人命令的摘要列表:

  • toast:在小弹出窗口中显示有关操作的简单反馈。
  • send_message:发送短信
  • stock_injection:保存注射(钓鱼HTML有效载荷)由C2在 Jedi/ Injections.txt文件
  • forward_call:呼叫转接通过代码* 21 * +数量+ ##
  • run_application:运行应用程序
  • enab_sil:静音装置(设置为0的设备的音量水平
  • switch_sms:改变与Oscorp默认的短信应用程序(通过android.provider.Telephony.ACTION_CHANGE_DEFAULT)
  • remove_injection:删除一个注射
  • 2FA:启动谷歌2FA应用程序(当时Oscorp是能够窃取滥用辅助服务代码
  • make_call : 给某人打电话
  • dev_admin :设置本身作为管理应用
  • run_ussd:允许本身发起电话呼叫,而无需通过拨号用户界面去为用户确认电话
  • :保存被阻止在Jedi apps / block.txt并开始为MyService
  • launch_url:启动和网址
  • fetch_applications:获取安装的应用程序
  • delete_message:删除短信
  • delete_application:删除应用程序
  • batt_opt:插入Oscorp应用到忽略电池优化
  • url_injection:开始“斜坡”类用于执行在屏幕的流的视频和音频的设备
  • screencap : 开始通过WebRTCSTUN协议录制音视频(代码中嵌入了stun服务器)

附录二:Overlay Attack的技术

“覆盖攻击是在现代 Android 银行木马(例如 Anubis、Cerberus/Alien)上实施的一种众所周知的技术,该木马由恶意应用程序组成,能够以某种方式代表受害者执行操作。这通常采用模仿应用程序或在合法应用程序(例如银行应用程序)的“顶部”启动的 WebView 的形式。”

在我们的分析过程中,我们能够提取 150 多个目标应用程序。

附录 4 中提供了 Oscorp 目标应用程序所针对的银行和其他应用程序的地理分布的完整列表

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 19 – Oscorp 用于“覆盖攻击”的一些有效载荷

所有主要由 HTML、CSS 和 JS 文件组成的注入有效载荷将从 C2 服务器下载到名为

_YTrJWNMmHkAPfdWA4QsfPwufCBhpYGbG

当 TA 远程请求此功能时,如果受害者打开其中一个目标应用程序,它将获得在合法应用程序“顶部”启动的 WebView 中显示的注入负载。

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 20 用于下载覆盖攻击的股票注入有效负载的 C2 路径

此外,通过分析该 TA 使用的 Web 面板之一,还可以重构不同类别的目标应用程序之间的这种区别,例如:

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 21 不同类型的目标应用程序(覆盖攻击)

附录 3:提取的 IOC

MD5

0d1df5c35c3c43e1b8bb7daec2495c06
f73ebc6f645926bf8566220b14173df8
eaf0524ba3214b35a068465664963654
daba8377d281c48c1c91e2fa7f703511
1d848ba69a966f9f0ebe46bcb89a10c4
8daf9ba69c0dcf9224fd1e4006c9dad3
de51b859f41b6a9138285cf26a1fad84

应用名称

Protezione Cliente
Android System
deneme

包名称

com.cosmos.starwarz
com.cosmos.starwarz
com.mapwqpdox201q.pla203eoaowpzmka
ycpgmsxy.rqhfesas

C2域名

montanatony.xyz     
marcobrando.xyz
quantumbots.xyz
smoothcbots.xyz
omegabots.xyz
callbinary.xyz
gogleadser.xyz

库存注入路径

/_YTrJWNMmHkAPfdWA4QsfPwufCBhpYGbG/LFwbkjNthZk9jDtvADjnS7FyUPcjKPpb_/

AES密钥

RHBuUXFEhkrbrHaYIZ6VYH3uNIBRnwTe
8HCTSX7IcbAkItzuS34zaVqUs4dMKSqV

此外,Android 银行木马Oscorp/Ubel已在我们的威胁情报数据中分类并列入黑名单,并带有以下标签:

  • ASK_BANKER_ANDROID_OSCORP_V1
  • ASK_BANKER_ANDROID_OSCORP_V2

附录 4:Oscorp 所针对的银行和其他应用程序的地理分布

Oscorp演变成UBEL:一种在全球传播的高级Android恶意软件
图 22 – OSCORP 所针对的银行和其他应用程序的地理分布

[1] https://cert-agid.gov.it/news/individuato-sito-che-veicola-in-italia-un-apk-malevolo/

[2] https://www.cleafy.com/cleafy-labs/teabot

[3] https://developer.android.com/reference/android/accessibilityservice/AccessibilityService

[4] https://github.com/MichaelRocks/paranoid

[5] 名称:“secureapp.apk” MD5:daba8377d281c48c1c91e2fa7f703511

[6] https://webrtc.org/

from

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注