恶意代码分析-Bahamut网络雇佣军集团用假的VPN应用程序针对安卓用户

后果

此活动中使用的恶意应用程序会泄露来自Signal、Viber和Telegram等应用程序的联系人、短信、录音电话,甚至聊天消息

ESET研究人员已经确定了一项针对Android用户的积极活动,该活动由Bahamut APT小组进行。该活动自2022年1月以来一直活跃,恶意应用程序通过一个虚假的SecureVPN网站分发,该网站仅提供Android应用程序可供下载。请注意,尽管整个活动中使用的恶意软件使用SecureVPN的名称,但它与合法的多平台SecureVPN软件和服务没有任何关联。

这篇博文的要点:
在不同时期使用的应用程序是两个合法的VPN应用程序之一的木马化版本,SoftVPN或OpenVPN,这些应用程序已经用Bahamut集团过去使用的Bahamut间谍软件代码重新打包。
我们能够识别这些恶意修补的应用程序的至少八个版本,并通过分发网站提供代码更改和更新,这可能意味着该活动得到了良好的维护。
应用程序修改的主要目的是提取敏感的用户数据,并积极监视受害者的消息应用程序。
我们认为,目标是精心挑选的,因为一旦Bahamut间谍软件启动,它就会在启用VPN和间谍软件功能之前请求激活密钥。激活密钥和网站链接都可能发送给目标用户。
我们不知道最初的分布矢量(电子邮件、社交媒体、消息应用程序、短信等)。

ESET研究人员发现了至少八个版本的Bahamut间谍软件。该恶意软件通过一个假的SecureVPN网站作为两个合法应用程序(SoftVPN和OpenVPN)的木马化版本分发。这些恶意应用程序从未从Google Play下载。

该恶意软件能够泄露敏感数据,如联系人、短信、通话记录、设备位置和电话录音。它还可以积极监视通过非常流行的消息应用程序(包括Signal、Viber、WhatsApp、Telegram和Facebook Messenger)交换的聊天消息;数据泄露是通过恶意软件的密钥记录功能完成的,该功能滥用了辅助功能。该活动似乎具有高度针对性,因为我们在遥测数据中没有看到任何实例。

Bahamut概述

Bahamut APT小组通常以中东和南亚的实体和个人为目标,以鱼叉式网络钓鱼信息和虚假应用程序作为初始攻击载体。Bahamut专门从事网络间谍活动,我们相信其目标是从受害者那里窃取敏感信息。Bahamut也被称为雇佣兵团体,为广泛的客户提供雇佣服务。Bellingcat调查性新闻集团给这位威胁演员起这个名字,他似乎是网络钓鱼的大师。Bellingcat以豪尔赫·路易斯·博尔赫斯(Jorge Luis Borges)撰写的《虚幻生物之书》(Imaginary Beings)中提到的漂浮在广阔阿拉伯海的巨大鱼类命名了该群体。在阿拉伯神话中,巴哈穆特经常被描述为一种难以想象的巨大鱼。

近年来,该小组一直是几份出版物的主题,包括:

2017 – Bellingcat [1][2]
2018 – Talos [1][2]
2018 – 趋势科技
2020 – 黑莓 [pdf]
2020 – SonicWall
2021 – 打假的猎人
2021 – Cyble
2022 – CoreSec360
2022 – Cyble

分配

我们分析的最初虚假SecureVPN应用程序于2022年3月17日从地理定位到新加坡的IP地址上传到
VirusTotal,以及触发我们YARA规则之一的虚假网站的链接。

与此同时,我们通过DM从@malwrhunterteam在推特上收到了关于同一样本的通知。

此活动中使用的恶意Android应用程序是通过网站thesecurevpn[.]com(见图1)交付的,该网站使用合法SecureVPN服务的名称,但没有内容或样式(在域securevpn.com上)。


假SecureVPN网站提供了一个下载的木马化应用程序

这个假SecureVPN网站是基于一个免费的网络模板(见图2)创建的,该模板最有可能被威胁者用作灵感,因为它只需要小的更改,而且看起来值得信赖。

用于为假VPN应用程序创建分发网站的免费网站模板

thesecurevpn[.]com于2022年1月27日注册;然而,虚假SecureVPN应用程序的初始分发时间未知。该恶意应用程序直接从网站提供,从未在Google Play商店提供。

归因

在Cyble和CoreSec360记录的SecureChat活动中,看到了假SecureVPN样本中的恶意代码。我们看到此代码仅用于Bahamut开展的活动;与这些活动的相似之处包括在将敏感信息上传到C&C服务器之前将其存储在本地数据库中。这些数据库中存储的数据量可能取决于活动。在图3中,与之前的Bahamut代码示例相比,您可以看到此变体的恶意软件包类。


早期恶意SecureChat软件包(左)和假SecureVPN软件包(右)之间的类名比较

比较图4和图5,您可以看到早期SecureChat恶意软件(归因于Bahamut)和假SecureVPN恶意软件中SQL查询的相似之处。

早期SecureChat活动恶意代码中使用的SQL查询

假SecureVPN活动中恶意代码中使用的SQL查询

因此,我们认为假的SecureVPN应用程序与Bahamut集团有关。

分析

自从分发网站上线以来,至少有八个版本的Bahamut间谍软件可供下载。这些版本由威胁行为者创建,其中假应用程序名称后跟版本号。我们能够从服务器中提取以下版本,我们认为版本后缀最低的版本是过去提供给潜在受害者的,而最近使用了更高的版本号(secureVPN_104.apk、SecureVPN_105.apk、SecureVPN_106.apk、SecureVPN_107.apk、SecureVPN_108.apk、SecureVPN_109.apk、SecureVPN_1010.apk、secureVPN_1010b.apk)。

我们将这些版本分为两个分支,因为Bahamut的恶意代码被放置在两个不同的合法VPN应用程序中。

在第一个分支中,从secureVPN_104版本到secureVPN_108,恶意代码被插入到合法的SoftVPN应用程序中,该应用程序可以在Google Play上找到,并使用唯一的软件包namecom.secure.vpn。如图6所示,在第一个假SecureVPN应用程序分支的解编译源代码中找到的版本信息中的PARENT_APPLICATION_ID值中也可见此软件包名称。

假SecureVPN v1.0.4,恶意代码包含在SoftVPN作为父应用程序中

在第二个分支中,从secureVPN_109版本到secureVPN_1010b,恶意代码被插入到合法的开源应用程序OpenVPN中,该应用程序在Google Play上可用,并使用唯一的软件包名称com.openvpn.secure。与特洛伊木马化的SoftVPN分支一样,原始应用程序的软件包名称也出现在假SecureVPN应用程序的版本信息中,这些信息可以在反编译的源代码中找到,如图7所示。

假SecureVPN v1.0.9(SecureVPN_109),恶意代码包含在OpenVPN中作为其父应用程序,即使硬编码的VERSION_NAME(1.0.0)在版本之间没有更改

除了这两个分支的拆分,相同的恶意代码被植入两个不同的VPN应用程序中,其他虚假的SecureVPN版本更新仅包含小的代码更改或修复,考虑到其整体功能,没有任何意义。

威胁行为者从修补SoftVPN切换到OpenVPN作为其父应用程序的原因还不清楚;然而,我们怀疑原因可能是合法的SoftVPN应用程序停止工作或维护,并且不再能够创建VPN连接——我们从Google Play测试最新的SoftVPN应用程序证实了这一点。这可能是Bahamut切换到使用OpenVPN的原因,因为潜在的受害者可能会从他们的设备中卸载不工作的VPN应用程序。将一个父应用程序更改为另一个父应用程序可能需要更多的时间、资源和精力才能由威胁行为者成功实施。

与OpenVPN应用程序打包的恶意代码在VPN代码上方实现了一层。该恶意代码实现了间谍软件功能,该功能请求激活密钥,然后根据攻击者的C&C服务器检查提供的密钥。如果密钥成功输入,服务器将返回Bahamut间谍软件与其C&C服务器之间成功通信所必需的令牌。如果密钥不正确,Bahamut间谍软件和VPN功能都不会启用。不幸的是,如果没有激活密钥,动态恶意软件分析沙盒可能不会将其标记为恶意应用程序。

在图8中,您可以看到初始激活密钥请求,在图9中,可以看到此类请求背后的网络流量以及来自C&C服务器的响应。

虚假的SecureVPN激活请求及其C&C服务器的响应

使用假SecureVPN应用程序的活动试图保持低调,因为网站URL最有可能使用激活密钥交付给潜在受害者,而网站上没有提供激活密钥。不幸的是,我们无法获得工作密钥。

激活密钥层不属于原始的OpenVPN功能,我们不将其识别为来自任何其他合法应用程序的代码。我们相信它是由Bahamut开发的,因为它也与他们的C&C服务器通信。

实现一个层来保护有效载荷在非目标用户设备上启动后或被分析时不被触发并不是一个独特的功能。我们已经看到Bahamut集团在CoreSec360分析的SecureChat应用程序中实施的另一项活动中使用了类似的保护。这需要受害者的额外努力,他们必须创建一个帐户并登录其中,然后启用了Bahamut间谍软件功能。我们还观察到APT-C-23正在使用类似的保护,潜在受害者需要有效的优惠券代码才能下载恶意应用程序。

功能

如果启用了Bahamut间谍软件,那么它可以由Bahamut操作员远程控制,并可以泄露各种敏感设备数据,例如

联系人,
短信,
通话记录,
已安装的应用程序列表,
设备位置,
设备帐户,
设备信息(互联网连接类型、IMEI、IP、SIM卡序列号),
电话录音,以及
外部存储上的文件列表。

如图10所示,通过滥用辅助功能服务,恶意软件可以从SafeNotes应用程序中窃取笔记,并积极监视聊天消息和来自流行消息应用程序的通话信息,例如:

imo-国际电话和聊天,
Facebook Messenger,
Viber,
信号私人信使,
WhatsApp,
电报,
微信,和
Conion应用程序。

手动启用辅助功能服务的假SecureVPN请求

所有泄露的数据都存储在本地数据库中,然后发送到C&C服务器。Bahamut间谍软件功能包括通过从C&C服务器接收新版本的链接来更新应用程序的能力。

结论

Bahamut APT集团运营的移动活动仍然活跃;它使用与过去相同的方法,通过冒充或伪装成合法服务的网站分发其Android间谍软件应用程序。此外,间谍软件代码,因此其功能与以前的活动相同,包括在将数据发送到运营商的服务器之前收集要泄露到本地数据库的数据,这种策略在移动网络间谍应用程序中很少见。

似乎这项活动一直保持低调,因为我们在遥测数据中没有看到任何实例。这可能是通过高度有针对性的分发来实现的,在与Bahamut间谍软件的链接一起,潜在受害者将获得激活密钥,这是启用恶意软件间谍功能所必需的。

IoCs

文件

SHA-1 包裹名称 ESET检测名称 描述
3144B187EDF4309263FF0BCFD02C6542704145B1 com.openvpn.安全 Android/Spy.Bahamut.M 使用Bahamut间谍软件代码重新打包的OpenVPN应用程序。

https://www.welivesecurity.com/2022/11/23/bahamut-cybermercenary-group-targets-android-users-fake-vpn-apps/