声明:该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。
执行摘要
zLabs 团队发现了一个复杂的 Mishing(针对移动设备的网络钓鱼)活动,该活动会将恶意软件传送到用户的 Android 移动设备,从而引发一系列恶意操作,包括窃取银行、加密货币和其他关键应用程序的凭证。
调查发现,一个钓鱼域名网络正在积极传播Antidot银行木马的新变种。这种之前未知的病毒株是基于 Cyble 在 2024 年 5 月发现的版本构建的。
攻击者自称是招聘人员,用工作机会引诱受害者。作为欺诈性招聘流程的一部分,网络钓鱼活动诱骗受害者下载充当植入器的恶意应用程序,最终在受害者的设备上安装 Antidot 的更新版本,我们称之为AppLite Banker。
除了能够模仿企业公司外,Banker 还伪装成 Chrome 和 TikTok 应用程序,展示了其广泛的目标载体,包括完全控制设备和访问应用程序。如果用户使用该设备进行远程工作/访问其现有雇主,攻击者提供的访问级别还可能包括公司凭据、应用程序和数据。
分发方法
此次网络钓鱼活动的幕后攻击者表现出了非凡的适应能力,他们利用各种复杂的社会工程策略来锁定受害者。攻击者采用的关键策略是伪装成知名组织的招聘人员或人力资源代表。受害者被诱骗回复欺诈性电子邮件,这些电子邮件经过精心设计,看起来像是真实的工作机会或要求提供更多信息。图 1是与该活动相关的电子邮件之一的示例,通过包含之前在相关活动活动中观察到的公司名称来识别。
在随后的通信中,威胁者引导受害者下载一个所谓的 CRM Android 应用程序。虽然这个应用程序看似合法,但它却是一个恶意植入器,有助于将主要负载部署到受害者的设备上。如下图所示,恶意网站是攻击的初始入口点。
图2:冒充Eminic、euskaltel、Shipum等公司的钓鱼网站
如上图 2所示,Euskatel、Eminic、Distributel 和 Oasis 等几家知名公司被用作诱饵来引诱受害者。我们还发现攻击者针对的是其他垂直行业,包括教育机构。图 3展示了一个冒充教育机构的钓鱼网站,旨在诱骗用户下载恶意 APK。
在分析过程中,该团队发现了一个积极参与分发恶意 APK 的恶意域名网络。据信这些域名主要通过社会工程攻击进行传播。
攻击序列
下图说明了在整个活动过程中在受害者的移动设备上分发和执行 AppLite 恶意软件所采用的方法之一。
- 威胁行为者冒充知名公司的人力资源代表,精心制作看似合法工作机会的电子邮件。
- 受害者会被重定向到恶意登陆页面以继续申请流程或安排面试。
- 登陆页面会诱导受害者下载并安装恶意植入程序。
- 一旦安装,植入程序就会将 AppLite 银行木马传送到受害者的设备上,从而引发进一步的恶意活动。
技术分析
利用压缩文件(ZIP)操作绕过分析工具
在我们之前的研究中(1和2),我们发现大量恶意软件样本利用混淆技术,包括操纵 ZIP 文件结构和 Android Manifest 文件来规避安全解决方案的检测。恶意行为者经常使用方法来改变 APK 文件的 ZIP 格式和 Android Manifest 文件的结构,以使分析工具失效并逃避检测。如果解析器未更新,则可能无法正确处理文件,从而使恶意软件绕过检测机制并继续安装在目标设备上。
此次攻击活动中的几个样本采用了一种简单的 ZIP 操作技术。如图 6所示,它们通过设置文件头和中央目录头的标志字段中的位 1来修改标志。这会将文件标记为加密,而不会改变 ZIP 存档的底层结构。因此,像JADX这样的工具无法准确处理这些样本,因为它们会检测到加密标志并错误地提示输入密码,从而阻止静态源代码分析。
一旦安装,恶意软件就会伪装成合法的公司应用程序,并使用如下所示的“ EmployeesCRM”名称。
首次启动时,该应用程序会向用户显示一个登录屏幕(如图 7A所示)。按照钓鱼页面上的说明,用户会被诱骗创建一个新帐户。创建帐户后,该应用程序会显示一个空的仪表板,没有任何功能。但是,在后续启动时,无论输入什么凭据,该应用程序都会强制用户安装“更新”(图 7B)。这个所谓的“更新”实际上是Antidot 银行木马的新变种AppLite。
当用户点击“更新”按钮时,会出现一个假的 Google Play Store 图标(图 8),从而导致恶意软件的安装。与之前的版本一样,这个恶意应用程序请求无障碍服务权限,并滥用这些权限覆盖设备屏幕并执行有害活动。这些活动包括自我授予权限以促进进一步的恶意操作。
C&C通信
在获得所需权限后,恶意软件会通过socket.io库使用 websocket 秘密与其命令和控制 (C&C) 服务器建立连接。这可在受感染设备和 C&C 服务器之间建立实时双向通信通道,从而使攻击者能够保持控制并发出命令。
发掘新功能
除了 Cyble 在其原始博客文章中详述的命令之外,银行恶意软件的最新版本还引入了一系列新命令。
以下是攻击者命令的完整列表,其中新添加的命令以粗体突出显示。
命令 | 描述 |
停止相机 | 停止相机 |
设置注入 | 将注入覆盖数据保存在哈希图中 |
打开键盘 | 打开“键盘和输入”设置 |
解锁设备 | 解锁设备 |
重置解锁 | 根据设定值(PIN、图案或密码)与设备锁进行交互 |
聚焦 | 增加覆盖窗口的亮度 |
打开应用程序 | 启动服务器指定的应用程序 |
获取短信 | 收集短信 |
呼叫转移 | 转接受感染设备的电话 |
设置 | 接收其他 C&C 服务器 URL |
失焦 | 降低覆盖窗口的亮度 |
唤醒 | 通过获取 WakeLock 唤醒设备屏幕 |
关掉 | 禁用监视器,以防止用户利用辅助功能服务功能卸载恶意软件 |
亮度关闭 | 设置最低亮度 |
覆盖_0 | 停止覆盖活动 |
覆盖_1 | 显示不可触摸且不可交互的覆盖层 |
覆盖_2 | 在屏幕顶部放置“正在加载...”覆盖层 |
覆盖3 | 屏幕上显示空白的黑色覆盖层 |
覆盖_4 | 屏幕顶部显示消息“系统自动更新请等待”。 |
打开保护 | 打开 Google Play 商店中的“验证应用”安全设置 |
删除应用程序 | 卸载应用程序 |
删除机器人 | 从受感染的设备上自行卸载 |
获取应用程序 | 收集已安装应用程序的列表 |
获取Gacc | 创建带有 JavaScript 界面的 WebView 来窃取 Google 帐户 |
获取密钥 | 捕捉按键 |
紧急求救 | 提示用户卸载应用程序 |
亮度开启 | 调整亮度值 |
动作Vnc | 接收在受感染设备上执行的操作 |
锁定设备 | 锁定设备 |
获取解锁 | 显示从服务器收到的解锁覆盖 |
隐藏短信 | 隐藏默认应用程序中的短信 |
打开选择键盘 | 打开输入键盘设置页面 |
发送推送 | 推送通知 |
发送Ussd | 发送 USSD 代码(非结构化补充服务数据)来执行余额检查或充值等操作。 |
阻止呼叫 | 拦截来自 C2 列表的手机号码的来电 |
启动Vnc | 启动 VNC |
树模式 | 发送 VNC 内容 |
安全卫士 | 启用监视器,利用辅助功能服务功能阻止用户卸载恶意软件 |
获取联系人 | 收集联系人列表 |
停止声音 | 将设备静音 |
设置注入 | 设置接收到的包名称的注入,在屏幕上显示覆盖 |
启动相机 | 打开相机并将拍摄的照片发送到 C&C 服务器 |
发送短信 | 从受感染的设备发送短信 |
设置Gacc | 在本次研究期间无法正确确定行为。 |
打开默认应用程序 | 打开设备上的“管理默认应用程序”设置 |
打开设置 | 打开特定应用的设置页面,显示权限和存储使用情况等详细信息 |
警报注入 | 在屏幕上发布虚假登录警报 |
窃取设备锁定凭证
在分析新变种的过程中,我们发现了一种新的窃取设备解锁图案、PIN或密码的功能,即使设备已锁定,攻击者也可以控制设备。为了获取这些凭据,该恶意软件部署了一个模仿设备锁定屏幕的欺骗性覆盖层。任何输入的凭据都会被拦截并传输到攻击者的服务器。
欺骗性的虚假登录覆盖页面
收到此命令后,恶意软件会显示一个欺骗性的AlertDialog,通知用户有虚假更新(图 10显示了警报的模拟版本)并要求用户进行后续登录,目的是跟踪用户以共享其凭据。警报设计为不可关闭,迫使用户单击“更新”按钮。一旦用户单击“更新”按钮,就会打开一个新的覆盖层并显示登录表单。在后台,恶意软件会主动监视输入到表单中的信息,捕获用户凭据并将信息传回 C&C 服务器。
虽然我们的团队无法通过动态分析确认此行为,但有证据表明,该恶意软件可能注入了服务器控制的布局页面,以便从目标银行应用程序中窃取敏感数据。注入的 HTML 可能包含一个伪造的登录表单,专门用于获取特定服务的凭据。
当覆盖层加载时,恶意软件会将恶意 JavaScript 注入 HTML 页面。该脚本会系统地扫描页面上的所有输入和选择元素,拦截并泄露受害者的登录凭据给攻击者。
覆盖注入技术
与其他 Android 银行木马类似,该恶意软件严重依赖覆盖攻击技术来欺骗受害者泄露敏感凭据。一旦用户启动目标应用程序,恶意软件就会从 C&C 服务器检索恶意 HTML 负载(如图 11所示),并将其覆盖在合法应用程序的用户界面上,从而有效地创建令人信服且具有欺骗性的外观。
图 11: 从 C&C 收到的一些有效载荷
我们的团队总共确定了 172 个目标应用程序,其中包括金融机构、社交媒体平台和加密货币钱包。
新增远程桌面 (VNC) 功能
威胁行为者利用 MediaProjection API 捕获设备的显示内容,对内容进行编码,并将其传输到指定的命令和控制 (C&C) 服务器。收到“ startVNC ”命令后,恶意软件会在受害者的设备上启动虚拟网络计算 (VNC) 功能。随后,恶意软件进入待机模式,等待“ actionVNC ”命令。此命令包含特定指令,使攻击者能够利用辅助功能服务与受感染设备的屏幕进行交互并控制受感染设备的屏幕。
自动解锁锁屏图案
该恶意软件新发现的功能之一是它能够与设备的锁定屏幕进行交互。通过利用无障碍服务,该恶意软件在屏幕上找到锁定图案视图com.android.systemui:id/lockPatternView,并将其划分为网格(3×3)。然后,它会处理该图案(表示为一串数字),计算网格上每个数字的位置,并计算每个数字之间的移动路径以复制该图案。该恶意软件通过生成并向设备发送计算出的触摸事件来模拟解锁过程。这种自动化序列使恶意软件无需任何用户交互即可解锁设备,即使设备处于空闲状态也是如此。
以下是该恶意软件支持的操作的完整列表。
行动 | 描述 |
轻敲 | 调度点击手势 |
滑动 | 做出滑动手势 |
全球最近 | 显示最近使用的应用程序的概览 |
全球主页 | 执行动作回家 |
全球支持 | 执行返回操作 |
全球酒吧 | 执行此操作以打开通知 |
全球力量 | 打开电源长按对话框 |
全局锁 | 全局锁定设备屏幕 |
向上滚动 | 发送手势向上滚动 |
向下滚动 | 发送手势向下滚动 |
向上滑动 | 调度手势向上滑动 |
向右滑动 | 调度手势向右滑动 |
向下滑动 | 调度手势向下滑动 |
向左滑动 | 调度手势向左滑动 |
做出手势 | 在 x 和 y 坐标上调度手势 |
图案 | 自动锁定模式 |
文本集 | 修改剪贴板数据并设置在屏幕上 |
文本获取 | 获取剪贴板数据并发送到服务器 |
AppLite 瞄准的国家和应用程序
该银行恶意软件似乎是专门针对精通英语、西班牙语、法语、德语、意大利语、葡萄牙语和俄语的用户而设计的。恶意软件中特定语言的代码引用的识别支持了这一假设,如图 12 所示。
该恶意软件主要针对三类应用程序:银行、加密货币和金融。我们的分析显示,95 个银行应用程序、62 个加密货币应用程序和 13 个其他金融应用程序成为该恶意软件的目标。
对目标银行应用程序运行的地区进行分析表明,主要目标国家如下图所示。
Zimperium 与 Applite 的比较
Zimperium 的尖端技术一直证明其有效性,成功检测并消除了本博文中重点介绍的所有恶意软件样本和恶意 URL。这凸显了其在设备上直接提供零日恶意软件和网络钓鱼检测的独特能力,为新兴网络威胁提供了无与伦比的保护。
鉴于该恶意软件的先进功能和对受感染设备的广泛控制,必须实施主动和强有力的保护措施,以保护用户和设备免受此类威胁和类似威胁,防止数据或财务损失。
Zimperium 拥有独特的优势,可帮助企业 ( MTD ) 和应用开发者 ( MAPS ) 抵御针对移动设备的不断演变的威胁形势。MTD 和 MAPS 产品均由我们专有的设备动态检测引擎提供支持,利用本地、设备上的高级机器学习、行为分析和确定性检测来提供业界领先的零日保护。这种独特的功能可确保全面检测和缓解威胁,而不会影响用户体验或应用开发时间表。
Zimperium 的检测引擎可检测到 100% 的已报告样本,零日漏洞。同时,我们的网页内容过滤功能可正确识别并阻止已报告恶意域的流量,从而防止感染。
MITRE ATT&CK 技术
为了帮助我们的客户和行业了解此恶意软件的影响,Zimperium 编制了下表,其中包含 MITRE 策略和技术作为参考。
策略 | ID | 姓名 | 描述 |
初始访问 | T1660 | 网络钓鱼 | 对手向用户发送恶意内容以获取其设备的访问权限。 |
持久性 | T1624.001 | 事件触发执行:广播接收器 | 它创建一个广播接收器来接收短信事件 |
防御规避 | T1655.001 | 伪装:匹配合法名称或位置 | 恶意软件伪装成 Google Play 更新应用程序 |
T1630.001 | 主机上的指标删除:卸载恶意应用程序 | 恶意软件可以自行卸载 | |
T1516 | 输入注入 | 恶意软件可以模仿用户交互、执行点击和各种手势以及输入数据 | |
T1406.002 | 混淆文件或信息:软件打包 | 它使用混淆和打包程序(JSONPacker)来隐藏其代码。 | |
凭证访问 | T1414 | 剪贴板数据 | 它提取存储在剪贴板上的数据。 |
T1417.001 | 输入捕获:键盘记录 | 它具有键盘记录功能 | |
T1417.002 | 输入捕获:GUI 输入捕获 | 它能够获取显示的UI。 | |
T1517 | 访问通知 | 可以收听通知 | |
发现 | T1418 | 软件发现 | 恶意软件收集已安装的应用程序包列表 |
T1426 | 系统信息发现 | 该恶意软件收集基本设备信息。 | |
收藏 | T1517 | 访问通知 | 它注册一个接收器来监控收到的短信 |
T1513 | 屏幕截图 | 恶意软件可以记录屏幕内容 | |
T1512 | 捕捉相机 | 恶意软件打开相机并拍照 | |
T1429 | 音频捕捉 | 恶意软件捕获录音 | |
T1616 | 呼叫控制 | 恶意软件可以拨打电话 | |
T1636.002 | 受保护的用户数据:通话记录 | 恶意软件窃取通话记录 | |
T1636.003 | 受保护的用户数据:联系人列表 | 它导出设备的联系人。 | |
T1636.004 | 受保护的用户数据:短信 | 从受感染的设备窃取短信 | |
T1417.001 | 输入捕获:键盘记录 | 恶意软件可以捕获按键 | |
|
输入捕获:GUI 输入捕获 | 它能够获取显示的UI。 | |
|
剪贴板数据 | 它有能力从剪贴板窃取数据。 | |
|
呼叫控制 | TA 可以在设备中拨打和拦截电话 | |
指挥与控制 |
|
动态分辨率 | 它从服务器动态接收注入的 HTML 有效负载端点。 |
|
Web 服务:双向通信 | 它使用 websocket 通信来轮询 TA 的服务器并获取要执行的命令。 | |
泄漏 |
|
通过 C2 通道进行泄漏 | 通过 C&C 服务器发送窃取的数据 |
|
呼叫控制 | TA 可以在设备中拨打和拦截电话 | |
影响 |
|
输入注入 | 它显示注入有效载荷(如图案锁)并通过覆盖和窃取凭证模仿银行应用程序登录屏幕。 |
|
短信控制 | 它可以读取和发送短信。 |
原文始发于微信公众号(安全视安):【翻译】(钓鱼)AppLite:一种新的Antidot变种
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论