2023 年 10 月,针对越南五十余家金融机构进行攻击的安卓银行木马 GoldDigger 浮出水面。通过对其持续跟踪分析,研究人员发现一整套针对亚太地区的银行木马。
其中,研究人员发现了一个专门针对 iOS 用户的新型木马,被命名为 GoldPickaxe.iOS。GoldPickaxe 不仅有安卓版本,也覆盖了 iOS 平台。GoldPickaxe.iOS 木马的典型特征就是能够收集面部识别数据、身份的证件并拦截短信,尽管安卓平台的木马早就有这些功能。
窃取面部识别数据后,攻击者可以利用人工智能生成的换脸程序来创建“假脸”。与身份信息和拦截短信的能力结合起来,攻击者就可以能够未经授权访问受害者的银行账户。
GoldPickaxe.iOS 采用了一种全新的分发方式,利用 Apple 的移动应用测试平台 TestFlight 进行传播。平台将其删除后,攻击者采用多阶段的社会工程学方式说服受害者安装移动设备管理(MDM)配置文件,借此完全控制受害者的设备。
研究人员将 GoldPickaxe.iOS 归因为代号为 GoldFactory 的团伙,该团伙主要攻击亚太地区。除了越南与泰国是重点关注区域,亚太其他国家也都受到了波及。
介绍
GoldDigger 恶意软件
对外披露后,研究人员发现 GoldDigger 升级为 GoldDiggerPlus。新版本删除了目标应用程序列表,却包含了十个虚假的目标列表。这样做可能是为了隐藏攻击目标,提高犯罪的成功率。
最初研究人员就认为 GoldDigger 会扩张到亚太地区的其他国家。随后,研究人员发现攻击者针对泰国的 iOS 用户发起攻击。一共发现攻击者使用了四个木马家族,都使用相同的前缀 Gold 进行命名。
时间线
四类木马如下所示:
2023 年 3 月,泰国银行按照政府要求要对 50000 泰铢(约合 1 万人民币)以上的交易通过面部生物识别验证个人身份。2024 年 2 月,一名越南公民成为了恶意应用程序的受害者,损失了超过 40000 美元(约合 28 万人民币)。研究人员认为,GoldFactory 团伙应该已经开始在越南传播 GoldPickaxe 进行攻击。随着 2024 年 4 月起,所有越南银行都强制启用面部生物验证,估计会有更多的受害者出现。
银行交易流程
研究人员认为,GoldFactory 的研发、传播和窃取全产业链后有很多犯罪分子,这些人甚至是高度组织化的。
GoldFactory 团伙信息
感染链
GoldFactory 团伙常用短信钓鱼和网络钓鱼相结合的方式来进行攻击。攻击者在越南和泰国本地一定有犯罪分子参与其中,因为犯罪分子可以给受害者打电话。尽管没有证据表明打电话使用本地语言,但使用本地语言对受害者信任至关重要。研究人员猜测攻击者甚至建立了呼叫中心,各种语言都能进行沟通。
网络钓鱼攻击中也发现其使用了泰语编写的短信,这表明该网络犯罪团伙十分多样化。GoldFactory 团伙的其他木马感染链没有明显变化,只有 GoldPickaxe 变化较大。攻击泰国的受害者时,攻击者倾向于使用该国最后欢迎的应用程序 LINE。想要开始对话,攻击者必须在 LINE 上添加好友。
GoldPickaxe 木马入侵
根据泰国银行行业 CERT 的通报,受害者会被引诱到冒充“数字养老金”的欺诈性应用程序中,生成受害者可以按照指定操作步骤领取养老金。
研究人员发现多个版本的 GoldPickaxe 都具有相同的功能,但伪装成不同的泰国政府官方服务,例如数字养老金等泰国政府服务和政府信息门户。GoldPickaxe 与在 2023 年 8 月发现的 Gigabud 也很相似,二者间存在重叠。
虚假页面
下面的消息声称提供电费退税,打开链接后受害者会被重定向到 LINE 添加好友。攻击者在 LINE 中通过社会工程学策略,诱使受害者安装恶意应用程序。但犯罪分子最后会清除所有失陷设备上的聊天记录,所以没有留下任何痕迹。
垃圾邮件示例
GoldDigger 也通过虚假 Google Play 页面进行传播,GoldDiggerPlus 和 GoldPickaxe.Android 使用类似的方式进行传播。
虚假网站
GoldPickaxe.iOS 使用截然不同的传播方式,会通过 Apple 的 TestFlight 平台分发虚假的加密货币应用程序。TestFlight 是开发者在 App Strore 上正式发布应用程序前,测试 iOS 应用程序的平台。另一种方法,也可以通过移动设备管理(MDM)来安装未上架的应用程序。
GoldFactory 综合使用这两种方式传播 iOS 木马。使用 TestFlight 时,受害者收到看似正常的 URL,例如 https://testflight.apple.com/join/<ID>
。由于域名是 Apple 的,用户会认为这是值得信赖的。不幸的是,这就将自己置身于威胁之中。
GoldFactory 还会诱使受害者访问虚假网站,要求用户按照指示安装 MDM 配置文件。虽然过程很复杂且曲折,但一旦成功就能够完全控制受害者的设备。
感染 iOS 设备方式
TestFlight 的简单易用使其成为 GoldFactory 的首选,如果恶意应用程序被发现也可以更换其他开发者账户重新上传。GoldFactory 在攻击早期阶段大量使用 TestFlight,后续转向 MDM 方式。主要由于 Apple 在上传到 TestFlight 平台时增加了审查流程,苹果发现了 GoldPickaxe.iOS 恶意软件就会阻止上传,这对攻击者的非法活动产生了巨大打击。
程序描述
泰国警方称,2023 年 11 月有人冒充财政部官员进行诈骗。犯罪分子声称老年人有资格获取额外的养老金福利,诱使受害者点击虚假网站,然后控制受害者的移动设备。
在这些虚假网站上,网络犯罪分子提供了详细的操作步骤。介绍是使用泰语编写的,如下所示:
网站操作示例
安装配置文件后,攻击者就可以获得对设备的控制权。移动设备管理为攻击者提供了许多功能,包括远程擦除、设备跟踪和应用程序管理,攻击者利用这些功能就可以完成复杂攻击。
MDM 配置文件示例
安装的 GoldPickaxe.iOS 木马将自己伪装成泰国政府服务应用程序,如下所示:
登录页面
恶意软件特征
GoldFactory 攻击者早就找到了解决之道,GoldPickaxe 会提示受害者在虚假应用程序中录制视频,再将录制的视频当作创建深度伪造视频的原材料。GoldPickaxe 木马还会获取受害者的身份信息、拦截短信以及设备的流量。
GoldPickaxe 不会直接通过受害者的手机进行未授权的交易,它会从受害者设备收集必要的信息,再自行访问银行应用程序。
GoldPickaxe 窃取面部识别录制的视频,结合短信拦截和身份信息就可以让网络犯罪分子未授权访问银行账户。泰国警方也已经证实,犯罪分子是在自己的设备上安装银行应用程序,使用获取的面部识别信息绕过检查。
木马窃取资金方式
GoldFactory 木马的技术能力
GoldDigger 的安卓木马都使用了 VirBox 加壳,分析需要耗费相当多的人力和时间。但 GoldPickaxe.iOS 木马并没有加壳,也没有使用各种检测逃避手段。
GoldPickaxe 和 GoldDigger 都支持 Websocket 和 HTTP 两种方式与 C&C 服务器进行通信。使用 Websocket 时,安卓设备开启 8282 端口、iOS 设备开启 8383 端口。失陷主机的信息使用 JSON 格式,回传到阿里云的云存储服务中。
GoldPickaxe 同时支持 iOS 和 Android 平台。尽管不同平台的木马存在差异,但由于通信机制和云存储桶 URL 相同,分析人员仍可以确认是由相同的攻击者开发的。
由于 iOS 平台的封闭性和 iOS 权限管理相对严格,GoldPickaxe 的 iOS 版本木马受到诸多限制,使其很难达到与 Android 版本木马的程度。
GoldPickaxe 的另一个特点是创建了 SOCK5 代理和 FRP 代理。这样攻击者就可以将 NAT 或者防火墙后的本地服务器在互联网访问,流量也可以通过代理服务器重定向。攻击者也可以通过这种方式连接到失陷设备,使用相同的设备指纹绕过反欺诈措施进行交易。
两个版本的 GoldPickaxe 都使用虚假的登录页面,提示用户输入他们的凭据以访问虚假的数字养老金应用程序。
虚假登录页面
iOS 版本的 GoldPickaxe 功能很有限,但和安卓版本的木马在多方面都存在极大的相似性,因此归因为 GoldPickaxe 家族。由于向受害者展示的消息都是泰语,分析人员假定攻击目标是泰国的。
恶意软件不仅能够从设备上提取照片、收集短信、录制脸部视频,也可以代理网络流量。与安卓版本类似,iOS 版本的木马也使用三种通信机制:
攻击者使用 PPSPing 库完成设备活动、验证应用程序权限、WiFi 连接状态和连接速度评估。请求将发送到 www.google.com,连接速度结果将发送到 C&C 服务器。
启动后,GoldPickaxe.iOS 会使用 JetFire 库开启 websocket 连接。连接成功后,会在本地主机的 1081 端口上开启 SOCK5 服务器,此处使用的是 MicroSocks。启动反向代理前,GoldPickaxe 会发出 HTTP 请求以获取代理服务器配置。服务器配置存储在名为 newconfig.ini 的文件中,模板如下所示:
[common] server_addr = #server_addr server_port = #server_port token = #token [#adid] type = tcp local_ip = 127.0.0.1 local_port = 1081 remote_port = #remote_port
攻击者使用广告标识符(IDFA)作为受害者的唯一标识,SimulateIDFA 将许多设备信息组合在一起创建一个 ID 值。其完整命令列表如下所示:
命令列表
攻击者将要求下发给受害者,例如拍照上传身份的证件正反面,应用程序打开提示页面要求用户上传再将照片发回 C&C 服务器。此外,还可以要求受害者提供面部照片。拍摄时应用程序会提示“请保持相机稳定”、“请眨眼”,甚至使用了谷歌的机器学习组件对人脸进行检测再上传到云端。
虚假界面
除了主应用程序外,恶意软件还支持应用程序扩展,通过应用程序扩展可在不同上下文中使用其他功能,例如共享内容、提供小组件、自定义键盘等。开发者打开了消息筛选,最初是为了让第三方应用程序打击垃圾短信而开放的。通过该功能,攻击者就可以对短信进行过滤。iOS 系统的限制是自定义短信过滤只能处理来自联系人列表以外号码的短信。与此同时,攻击者必须让受害者手动启用安装的短信过滤器。
短信过滤
该 API 使得攻击者可以将短信转发到外部服务器:
<key>NSExtension</key>
<dict>
<key>NSExtensionPrincipalClass</key> <string>MessageFilterExtension<key>NSExtensionAttributes</key> <dict> <key>ILMessageFilterExtensionNetworkURL</key> <string>https://REDACTED/api/apple/sms_</string>
</dict> <key>NSExtensionPointIdentifier
</key
> <string>com.apple.identitylookup.message-filter</string>
</dict>
GoldPickaxe 的 Android 版本比其 iOS 版本具有更多功能。研究人员发现攻击者将该恶意软件伪装成泰国政府、金融部门等二十多个不同的应用程序,从中窃取登录凭据。分析人员认为 GoldPickaxe.Android 似乎是 GoldDiggerPlus 的进化迭代。
在第一个登录页面输入用户名和电话号码后,引导受害者跳转到 Digital Pension 设置密码。攻击者也启动了密码校验,如果输入连续的数字会被拒绝。成功后,进入设置页面请求启动辅助功能。
请求输入密码
该木马每 800 毫秒就会读取用户界面和按键记录,并回传 C&C 服务器。恶意软件检索图片库获取面部信息,另外主要是要求用户拍摄面部照片。与 iOS 版本类似,也需要进行眨眼、微笑、向左、向右、向下、向上、张嘴等动作。这些承载着面部生物特征信息的照片与视频,都会被回传到云存储桶上。
配置文件
要求拍摄身份的证件照片
websocket 传输的 C&C 命令不加密,但 HTTP 传输的会使用 RSA 进行加密。恶意软件还可以下载并安装单独的 APK,但分析人员未能得到该 APK,因此无法判断 APK 能够执行哪些功能。但分析人员认为类似于 GoldKefu,可以用于进行实时语音通话。
GoldDigger 与常见的银行木马很类似,使用 Virbox 进行加壳。通过 dex 加密、dex 虚拟化、内容加密、检测 root 权限、检测仿真设备等方式,对软件进行保护。并且 GoldDigger 还滥用安卓系统存在的缺陷,使许多第三方工具在解析 AndroidManifest.xml 文件时会因为解析 Android BinaryXML 格式失败。
最初攻击者只是通过无障碍服务来获取银行凭据,冒充越南政府信息门户网站和越南电力公司。
登录截图
启动时要求用户启用辅助功能权限,这样攻击者可以实现更多功能,例如按键记录、凭据捕获、绕过双因子认证等。启用辅助功能后,攻击者甚至可以自己给自己授予额外的权限,只需要模拟用户点击即可。
GoldDigger 针对越南五十余个金融机构,甚至包含四十多个移动反病毒应用程序进行规避。一旦用户尝试打开反病毒应用程序,恶意软件就会将用户重定向到主屏幕,使其无法访问。
2023 年 9 月出现的 GoldDiggerPlus 拥有内嵌的第二个 APK(也被称为 b.apk)。嵌入的 APK 名为 kefu(中文意为客服),冒充客服支持给受害者打电话也是其主要功能。GoldDiggerPlus 和 GoldKefu 这两个 APK 需要协同工作,分析人员认为 GoldDiggerPlus 是 GoldPickaxe 的过渡阶段,主要起到功能实验的作用。
GoldDiggerPlus 页面
与主要依赖辅助服务的 GoldDigger 相比,GoldDiggerPlus 和 GoldKefu 使用 webfakes 来收集凭据或进行有针对性的诈骗。分析人员认为 GoldDiggerPlus 的主要目的是向 C&C 服务器验证自身身份、在请求权限时执行自动点击、记录屏幕并通过实时消息协议 (RTMP) 传输。
GoldKefu 是 GoldDiggerPlus 内的嵌入 APK,经常冒充越南流行的应用程序。
安装通知
GoldKefu 会每隔 500 毫秒检查最近打开的应用程序是否是目标应用程序,旨在窃取收集银行凭据,目前只监控十家越南金融机构的应用程序。
虚假页面
GoldKefu 集成了 Agora 软件开发工具包,该 SDK 引入了实时语音和视频通话等功能。攻击者还会为用户显示虚假告警,例如提醒用户“有 300 万泰铢正在转账给其他人,交易将在十分钟内完成。如果非本人行为,请联系银行客服”。默认提供的文本为中文,但可以替换为其他语言。用户只要点击联系客服,就会进入犯罪分子创建的呼叫通道。拨打电话的界面也会显示,用文字伪装成银行客服热线。如果受害者关闭告警,就会向 C&C 服务器回传确认用户已读消息。攻击者就可以主动出击,主动发起呼叫与用户进行沟通。
虚假告警
GoldKefu 会显示“您的银行帐户处于异常状态。保护模式已开启。您可以联系银行客服解冻账户”,使得受害者无法访问预期的应用程序。
虚假告警
受害者点击联系客服时,会检查是否在工作时间内。如果在工作时间内,就会正常进行呼叫,就好像犯罪分子真的经营着一个客户服务中心一样。
新的淘金热
泰国在 2023 年 3 月宣布政策,7 月份将会实施该条例,十月攻击者就已经完成了武器化。这个开发速度可以证明,其开发人员在软件开发方面具备较高的熟练度。
日志字符串
管理面板
与 Gigabud 的差异
研究人员最初发现 GoldDigger 时,也注意到 Gigabud 的样本开始使用 Virbox 进行加壳。此外,Gigabud 在越南也更加活跃了,甚至仿冒越南政府信息门户网站和数字养老金应用程序。Gigabud 也开始开发新功能,例如 FRP、身份的证件收集、面部识别数据捕获,这些都与 GoldPickaxe 类似。
数字养老金登录页面
二者的登录页面却有相似之处:
登陆页面对比
数字养老金的分发页面也高度相似:
分发页面
登陆页面中,攻击者使用了一个简短的脚本来检查用户是否正在使用 Apple 设备打开登陆页面。
检查脚本
二者的攻击基础设施也存在重叠。GoldDiggerPlus 支持 RTMP 流,服务器上部署了 6.0.59 版本的 Simple Realtime Server 程序。在 Gigabud 中,也发现其一台服务器上部署了 SRS 程序。
二者注册的 C&C 域名也很类似,模式很短像是 DGA 生成的。最开始使用 .cc 顶级域名,后续使用 .xyz 顶级域名。除早期的 Gigabud 域名外,二者所有域名均在域名注册商 Gname.com 处注册。
C&C 域名
移动恶意软件
4571f8c8560a8a66a90763d7236f55273750cf8dd8f4fdf443b5a07d7a93a3df b72d9a6bd2c350f47c06dfa443ff7baa59eed090ead34bd553c0298ad6631875 D8834A21BC70FBE202CB7C865D97301540D4C27741380E877551E35BE1B7276B b5dd9b71d2a359450d590bcd924ff3e52eb51916635f7731331ab7218b69f3b9