Arid Viper 使用 AridSpy 毒害 Android 应用程序
ESET 研究人员发现 Arid Viper 间谍活动正在向埃及和巴勒斯坦的 Android 用户传播木马应用程序
ESET 研究人员已确定了五项针对 Android 用户的活动,这些活动都带有木马病毒应用程序。这些活动很可能是由 Arid Viper APT 组织发起的,始于 2022 年,其中三项在本文发布时仍在进行中。他们部署了多阶段 Android 间谍软件(我们将其命名为 AridSpy),该软件从其 C&C 服务器下载第一阶段和第二阶段的有效负载,以帮助其避免被发现。该恶意软件通过专门的网站进行传播,这些网站冒充各种消息应用程序、工作机会应用程序和巴勒斯坦民事登记处应用程序。通常,这些是现有的应用程序,通过添加 AridSpy 的恶意代码而被木马病毒感染。
博文的要点:
- ESET 研究发现了三阶段 Android 恶意软件(我们将其命名为 AridSpy),通过五个专用网站进行传播。
- 在某些情况下,AridSpy 的代码被捆绑到提供合法功能的应用程序中。
- 虽然 AridSpy 的第一阶段之前已经记录过,但我们在这里还对其以前未知的后期阶段进行了全面分析。
- AridSpy 是一种远程控制木马,专注于窃取用户数据。
- 我们在巴勒斯坦和埃及发现了六次 AridSpy 现象。
- 我们中等程度确信 AridSpy 是 Arid Viper APT 组织所为。
Arid Viper 又名 APT-C-23、Desert Falcons 或 Two-tailed Scorpion,是一个自 2013 年以来一直活跃的网络间谍组织。该组织以针对中东国家而闻名,多年来因其针对Android、iOS和Windows平台的大量恶意软件而备受关注。我们在之前的博客文章中报道过该组织及其当时最新的间谍软件。
概述
ESET Research 发现了五个针对 Android 用户的 Arid Viper 活动。这些活动通过专门的网站传播恶意软件,受害者可以从这些网站上下载并手动安装 Android 应用程序。这些网站上提供的三个应用程序是被恶意代码木马化的合法应用程序,我们将其命名为 AridSpy,其目的是进行间谍活动。您可以在图 1 中看到概览方案。
图 1. 渗透概览
AridSpy 于 2021 年首次由Zimperium分析;当时,该恶意软件仅包含一个阶段,所有恶意代码都在木马应用程序中实现。
ESET Research 发现的第二次 AridSpy 攻击发生在2022 年( 360 Beacon Labs随后于 2022 年 12 月对其进行了分析),恶意软件运营商将目标锁定在卡塔尔世界杯。该攻击活动冒充了众多 Kora 应用程序之一,部署了与 AridSpy 捆绑在一起的 Kora442 应用程序。与 Zimperium 分析的样本一样,该恶意软件此时仍只有一个阶段。
2023 年 3 月,360 Beacon Labs 分析了 Arid Viper 运营的另一个 Android 活动,并根据图 1 中提到的myScript.js文件的使用情况,发现 Kora442 活动与 Arid Viper 组织之间存在联系。我们在本博文讨论的活动中也发现了相同的联系(如归因部分所述)。事实证明,它是识别其他 Arid Viper 分发网站的有用指标。
2023 年 8 月,我们在遥测中记录了对 AridSpy 的检测,并进行了进一步调查。我们确定了巴勒斯坦和埃及的目标。在这些活动中,AridSpy 变成了一个多阶段木马,最初的木马化应用程序从 C&C 服务器下载了额外的有效载荷。
截至本文发布时,发现的五个活动中有三个仍在活动;这些活动使用专门的网站来分发冒充 NortirChat、LapizaChat 和 ReblyChat 以及 تطبيق المشغل(机器翻译:运营商应用程序;我们将其称为工作机会应用程序)和 السجل المدني الفلسطيني(机器翻译:巴勒斯坦民事登记处)应用程序的恶意应用程序。我们通过遥测、VirusTotal 以及使用FOFA 网络搜索引擎(Shodan 和 Censys 的替代品)对共享 myScript.js 脚本进行分析发现了以下分发网站:
- lapizachat[.]com
- reblychat[.]com
- nortirchats[.]com
- pariberychat[.]com (不活跃)
- renatchat[.]com (不活跃)
在我们调查的同时,FOFA 研究团队发布了一篇博文,讨论了发现七个带有myScript.js JavaScript 文件的分发网站,这些文件负责检索 Arid Viper 有效载荷的下载路径。其中四个网站分发了各种版本的 AridSpy。以下两个我们以前不知道:
- clemochat[.]com
- voevanil[.]com
在这篇博文中,我们重点关注可以从上面列出的所有已确认的活跃分发网站获取的 AridSpy 有效载荷。
请注意,这些恶意应用程序从未通过 Google Play 提供,而是从第三方网站下载的。要安装这些应用程序,潜在受害者需要启用非默认 Android 选项来安装来自未知来源的应用程序。
受害者学
我们在遥测中总共检测到了六次 AridSpy 攻击,分别来自巴勒斯坦和埃及。在巴勒斯坦注册的大多数间谍软件实例都针对恶意的巴勒斯坦民事登记应用程序,还有一次检测结果不属于本博文中提到的任何活动。然后,我们在埃及发现了相同的第一阶段有效载荷,但包名称不同。在埃及还检测到了另一个第一阶段有效载荷,它使用与 LapizaChat 和工作机会活动中的样本相同的 C&C 服务器。
归因
根据以下指标,我们以中等可信度将 AridSpy 归咎于 Arid Viper:
- AridSpy 针对的是巴勒斯坦和埃及的组织,这符合 Arid Viper 典型目标的子集。
- 多个 AridSpy 分发网站使用一个名为myScript.js的独特恶意 JavaScript 文件,该文件之前已被360 Beacon Labs和FOFA链接到 Arid Viper 。
myScript.js首次被发现,并被链接到 Arid Viper,是在360 Beacon Labs于2023 年3 月 30 日对Arid Viper 运营的另一个 Android 活动的分析中。该活动中使用的 (未命名) 恶意 Android 代码之前归因于 Arid Viper 组织。myScript.js在该活动中使用的分发网站之一上被发现。此 JavaScript 代码的目的是下载托管在分发服务器上的恶意 Android 应用程序。
图 2 显示了注册网站下载按钮点击处理程序的代码部分,图 3 显示了生成用于下载恶意应用程序的文件路径的 JavaScript 代码。
图 2. 注册下载按钮的单击事件处理程序
图 3. 负责下载恶意应用程序的 JavaScript 代码
正如 360 Beacon Labs 指出的那样,我们在 2022 年报道过的针对卡塔尔 FIFA 世界杯的攻击活动中也使用了相同的 JavaScript 代码,该攻击活动使用了早期版本的 AridSpy。在两次攻击活动中,分发网站都使用了这个特定的myScript.js脚本从服务器中检索恶意应用程序,尽管最终的有效载荷有所不同。
最后,我们在本文讨论的活动的分发网站上发现了一段非常相似的 JavaScript,分发 NortirChat、LapizaChat 和 ReblyChat。在我们的调查过程中,FOFA 搜索引擎的研究团队独立证实了这种联系,他们发现了七个相同的分发网站,其中包含负责下载 Android AridSpy 的myScript.js ,并将此恶意软件归因于 Arid Viper。
我们无法将这些活动中使用的 JavaScript 代码链接到任何合法或开源项目,这使我们相信该脚本很可能特定于各种传播 Android 恶意软件的 Arid Viper 活动。
Arid Viper 有可能重复使用了这种传播方法,但在新的攻击活动中改用了新工具 AridSpy,因为该组织之前使用的(未命名)恶意软件家族已被各种研究人员和安全公司披露和分析。
有趣的是,我们还在 AridSpy 分发网站上发现了不同版本的myScript.js,伪装成巴勒斯坦民事登记应用程序。在这种情况下,该脚本具有相同的用途,但 JavaScript 代码不同:该脚本没有下载 AridSpy,而是返回了指向 AridSpy 的硬编码链接。
此版本的脚本基于网上提供的脚本,与使用自定义开发的myScript.js文件的早期版本相反。当早期版本的myScript.js被披露并归因于 Arid Viper 时,威胁行为者很可能更改了其代码,以避免他们的新代码与该组织联系起来。
技术分析
初始访问
本节中提到的所有活动的分发机制都非常相似。为了获得对设备的初始访问权限,威胁行为者试图说服其潜在受害者安装一个虚假但功能齐全的应用程序。一旦目标点击网站的下载按钮,托管在同一服务器上的myScript.js就会执行,为恶意 AridSpy 生成正确的下载文件路径。此脚本向位于同一服务器上的api.php发出 AJAX 请求,并返回特定的文件目录和名称。
被木马感染的消息应用程序
按时间顺序,我们首先看一下冒充 LapizaChat 的活动,这是一款恶意 Android 应用程序,可从专用的lapizachat[.]com网站下载。该网站于 2022 年 1 月16日注册,现已停止运营。其界面如图 4 所示。
图 4. LapizaChat 网站
LapizaChat 网站在服务器上的一个开放目录中,实际上有三个 LapizaChat Android 应用程序,它们存储在不同的目录中。其中一个应用程序是合法StealthChat:私人消息应用程序的副本,没有恶意功能。它包含与 StealthChat 相同的合法消息代码,但应用程序图标、名称和程序包名称不同。该应用程序自 2022 年 1 月 18日起在分发网站上可用。
另外两个应用程序是 StealthChat: Private Messaging 的木马版本,与 AridSpy 的恶意代码捆绑在一起。根据最后修改日期,它们分别自 2023 年 7 月 5 日和 2023 年 9 月 18 日起在服务器上可用。这两个恶意应用程序彼此非常相似;后一个样本包含相同的恶意代码,只有微小的、不重要的变化。受害者在单击“立即下载”按钮后会从网站下载此版本。文件名、最后修改日期和哈希值列于表 1 中。
表 1. lapizachat[.]com网站上的样本
| 文件名 | 上一次更改 | SHA-1 | 描述 |
| Lapiza聊天 | 2022-01-18 |
D99D9689A7C893AFCE84
04D273D6BA31446C998D |
合法的StealthChat:私人消息应用程序,版本 1.8.42 (6008042)。 |
| LapizaChat_old.apk | 2023‑07‑05 |
3485A0A51C6DAE251CDA
D20B2F659B3815212162 |
StealthChat 被 AridSpy 木马病毒感染,以 LapizaChat 名义分发。 |
| Lapiza聊天 | 2023‑09‑18 |
F49B00896C99EA030DCC
A0808B87E414BBDE1549 |
我们发现了另外两个在 LapizaChat 之后开始分发 AridSpy 的活动,这次伪装成名为 NortirChat 和 ReblyChat 的消息应用程序。它们通过 2022 年 9 月 21 日注册的网站 nortirchat[.]com 和 2023 年 4 月 30 日注册的网站 reblychat[.]com 进行分发(点击下载按钮后);见图5。
图 5. NortirChat(左)和 ReblyChat(右)分发网站
与前一种情况类似,我们能够从开放目录中检索到更多样本,包括消息应用程序的干净版本和木马版本。NortirChat 基于合法的Session消息应用程序,而 ReblyChat 基于合法的Voxer Walkie Talkie Messenger。在这两种情况下,木马应用程序具有相同的代码,但恶意软件开发人员更改了应用程序图标、名称和程序包名称。表 2 和表 3 列出了从这些服务器检索到的应用程序的详细信息。
表 2. nortirchats[.]com网站上的样本
| 文件名 | 上一次更改 | SHA-1 | 描述 |
| NortirChat_old.apk | 2022‑09‑28 |
13A89D28535FC1D53794
6D7D017DA02671227924 |
合法的Session消息应用程序,版本 1.16.5 (3331)。 |
| Nortir聊天工具 | 2023‑03‑19 |
1878F674F59E81E86986
0EB9A2269046DF5CE855 |
|
| NortirChat_old.apk | 2023‑06‑14 |
2158D88BCE6368FAC3FC
B7F3A508FE6B96B0CF8A |
会话应用程序被 AridSpy 木马病毒感染,以 NortirChat 的名义分发。 |
| Nortir聊天工具 | 2023‑09‑11 |
DB6B6326B772257FDDCB
4BE7CF1A0CC0322387D8 |
表 3. reblychat[.]com网站上的样本
| 文件名 | 上一次更改 | SHA-1 | 描述 |
| 重新聊天 | 2023‑06‑08 |
FFDD0E387EB3FEF7CBD2
E3DCA5D8924275C3FB94 |
合法的Voxer Walkie Talkie Messenger应用程序,版本 4.0.2.22408 (3669119)。 |
| reblychat-旧版.apk | 2023‑06‑08 |
A64D73C43B41F9A5B938
AE8558759ADC474005C1 |
Voxer Walkie Talkie Messenger 应用程序被 AridSpy 木马病毒感染,以 ReblyChat 的名义分发。 |
| 重新聊天 | 2023‑06‑11 |
797073511A15EB85C1E9
D8584B26BAA3A0B14C9E |
伪装成巴勒斯坦民事登记申请
运营商暂时不再对聊天应用程序进行木马攻击,而是发起了一项活动,分发一款声称来自巴勒斯坦民事登记处 (السجل المدني الفلسطيني) 的应用程序。这款恶意应用程序声称提供有关巴勒斯坦居民的一般信息,例如姓名、居住地、出生日期、身份证号码和其他信息。此活动提供了一个恶意的 Android 应用程序,可从palcivilreg[.]com下载,注册时间为 2023 年 5 月 30 日;见图 6。
图 6. palcivilreg[.]com 网站
图 6 网站的机器翻译:“巴勒斯坦民事登记处。若要查找任何人的信息或搜索任何人的身份证号码或出生日期,请下载应用程序以搜索巴勒斯坦民事登记处。”
该网站通过专门的Facebook 页面进行宣传(见图 7),该页面于 2023 年 7 月 25日创建,并直接链接到palcivilreg[.]com。我们已将此页面报告给 Facebook。
图 7. Facebook 页面宣传 palcivilreg[.]com 网站,供每个巴勒斯坦人识别个人数据
图 7 中封面照片的机器翻译:“巴勒斯坦民事登记处。搜索任何人的姓名并获取其完整数据。获取任何人的出生日期和年龄。搜索和输入申请非常方便。”
选择 تحميل(阿拉伯语中的下载,见图 6)按钮将执行myScript.js,从硬编码的 URL 启动下载,见图 8。与前面提到的活动相比,此myScript.js代码实例略有变化,但实现了相同的结果 – 从恶意链接检索文件。此版本的脚本可在网上的许多教程中找到;它的首次出现似乎是在2019 年 2 月。
图 8. myScript.js文件的内容
巴勒斯坦民事登记处应用程序的灵感来自Google Play 上的一款应用程序,该应用程序自 2020 年 3 月起可供下载,并提供与palcivilreg[.]com网站上声称的相同功能。Google Play 上的应用程序链接到网站zezsoft.wuaze[.]com,该网站允许下载 iOS 和 Android 应用程序。在进行本研究时,iOS 应用程序不可用,Android 应用程序链接指向文件共享存储网站 MediaFire,而不是 Google Play。MediaFire 不再提供此应用程序,因此我们无法确认该版本是否合法。
根据我们的调查,palcivilreg[.]com上提供的恶意应用程序不是 Google Play 上应用程序的木马版本;但是,它使用该应用程序的合法服务器来检索信息。这意味着 Arid Viper 受到该应用程序功能的启发,但创建了自己的客户端层来与合法服务器通信。最有可能的是,Arid Viper 对Google Play上的合法 Android 应用程序进行了逆向工程,并使用其服务器来检索受害者的数据。
伪装成求职门户应用程序
我们发现的最后一个攻击活动将 AridSpy 作为名为 تطبيق المشغل(机器翻译:操作员应用程序;我们将其称为工作机会应用程序)的应用程序进行分发,可从almoshell[.]website下载,注册日期为 2023 年 8 月 19 日。该网站声称向任何通过 Android 应用程序申请的人提供工作。在这种情况下,恶意应用程序不是任何合法应用程序的木马版本。当据称申请工作时,AridSpy 会向almoshell[.]website发出注册用户的请求。此服务在恶意软件分发网站上运行,因此很难确定是否向应用程序的用户返回了任何相关的工作机会。该网站如图 9 所示。
图 9. 据称通过发送带有链接的 Android 应用来提供工作的分发网站
自 2023年8 月 20 日起,工作机会应用程序可从该分发站点下载;见图 10。
图 10. 最后修改的示例更新工具集
这些活动中分析的所有 Android 应用程序都包含类似的恶意代码,并下载第一阶段和第二阶段的有效载荷;我们的分析重点是 NortirChat 和 LapizaChat 活动,我们能够从中获得最终的有效载荷。
被木马感染的应用程序
这些活动主要部署被木马感染的合法应用程序。在分析的 LapizaChat 和 NortirChat 案例中,负责下载有效负载的恶意功能是在插入合法消息应用程序的apputils子包中实现的,如图 11 所示。
图 11. 合法的 StealthChat(左)及其被宣传为 LapizaChat 的木马版本(右)的代码比较
应用程序首次启动后,恶意软件会根据数十个安全应用程序的硬编码列表查找已安装的安全软件,并将结果报告给 C&C 服务器。这些应用程序的完整列表及其软件包名称如表 4 所示。
表 4. 安全应用程序按其在代码中出现的顺序列表
| 应用程序名称 | 包裹名字 |
| Bitdefender 移动安全 | 安全 |
| Avast 防病毒和安全 | 移动安全 |
| McAfee Security:防病毒 VPN | com.wsandroid.suite |
| Avira 安全防病毒软件和 VPN | 安卓版 |
| Malwarebytes 移动安全 | org.malwarebytes.antimalware |
| 卡巴斯基:VPN 和防病毒软件 | com.kms.free |
| ESET 移动安全防病毒软件 | 邮箱地址 |
| Sophos Intercept X 移动版 | 邮件服务器 |
| Dr.Web安全空间 | 网址:drweb.pro |
| 移动安全和防病毒 | 趋势科技 |
| Quick Heal 全面安全 | 市场 |
| 防病毒和移动安全 | com.quickheal.platform |
| 安全防病毒 Max Cleaner | com.maxdevlab.cleaner.security |
| AVG 防病毒和安全 | 杀毒软件 |
| APUS Security:防病毒大师 | 安全中心 |
| Norton360 移动病毒扫描程序 | com.symantec.mobilesecurity |
| 360安全 | 奇虎安全 |
| Lookout Life – 移动安全 | com.lookout |
| dfndr 安全:防病毒 | 软件包 |
| 病毒清除器,防病毒清除器 |
手机防病毒软件病毒清理器垃圾清理速度
加速器 |
| 防病毒和病毒清除器锁 | 病毒清理工具 |
| GO Security -防病毒、应用锁、助推器 | 安全中心 |
| Zimperium MTD | zips 文件 |
| Intune 公司门户 | com.microsoft.windowsintune.companyportal |
| Active Shield 企业版 | 企业版 |
| Harmony 移动保护 | 安全 |
| 寻找工作 | 企业 |
| Trellix移动安全 | 网址:mcafee.mvision |
| Microsoft Defender:防病毒 | 微软 |
| Sophos 移动控制 | com.sophos.mobilecontrol.client.android |
| 詹姆夫信托 | com.wandera.android |
| SEP 移动版 | com.skycure.skycure |
| 普拉迪奥安全 | 服务网点 |
如果设备上安装了列表中的安全软件,恶意软件会将此信息发送到 C&C 服务器。如果服务器返回值0,则不会下载第一阶段的有效负载。如果服务器返回值1,则 AridSpy 将继续下载第一阶段的有效负载。在我们观察到的所有情况下,当设备上安装了安全应用程序时,服务器都会返回值0,并且不会下载有效负载。
AridSpy 使用简单的字符串混淆,其中每个字符串都通过将字符数组转换为字符串来声明。这种方法在每个样本中都使用过,甚至在 Zimperium 首次发布的分析中也是如此。第一阶段和第二阶段的有效载荷也采用了同样的混淆。图 12 显示了一个例子。
图 12. 字符串混淆
如果未安装安全软件,AridSpy 会从其 C&C 服务器下载 AES 加密的第一阶段有效载荷。然后使用硬编码密钥解密此有效载荷,并要求潜在受害者手动安装它。第一阶段有效载荷模拟 Google Play 服务的更新,如图 13 所示。
图 13. 请求潜在受害者安装第一阶段有效载荷:从左到右;LapizaChat、ReblyChat 和巴勒斯坦民事登记处第一阶段有效载荷
在安装恶意更新期间,第一阶段有效负载会显示诸如Play Manager或Service Google之类的应用名称。此有效负载单独运行,无需在同一设备上安装木马应用程序。这意味着,如果受害者卸载了最初的木马应用程序(例如 LapizaChat),AridSpy 将不会受到任何影响。
从功能上看,第一阶段有效载荷与被木马感染的应用程序类似。它负责下载第二阶段有效载荷,然后动态加载并执行。第一阶段有效载荷从硬编码的 URL 下载 AES 加密的第二阶段有效载荷并控制其进一步执行。
第二阶段有效载荷
第二阶段有效载荷是一个 Dalvik 可执行文件 ( dex );根据我们的观察,它始终具有名称prefLog.dex。恶意功能在此阶段实现;但是,它由第一阶段有效载荷操作,第一阶段有效载荷会在必要时加载它。
AridSpy 使用 Firebase C&C 域接收命令,并使用不同的硬编码 C&C 域进行数据泄露。我们向 Google 报告了 Firebase 服务器,因为它提供了这项服务。
当有效载荷被下载并执行时,AridSpy 会设置监听器来监控设备屏幕的开启和关闭时间。如果受害者锁定或解锁手机,AridSpy 将使用前置摄像头拍照并将其发送到渗透 C&C 服务器。只有距离上次拍照超过 40 分钟且电池电量高于 15% 时才会拍照。默认情况下,这些照片是使用前置摄像头拍摄的;但是,可以通过接收来自 Firebase C&C 服务器的命令来更改使用后置摄像头的设置。图像存档在内部存储的data.zip文件中,并上传到渗透 C&C 服务器。
AridSpy 具有一项旨在避免网络检测的功能 – 特别是 C&C 通信。正如 AridSpy 在代码中所述,它可以通过将用于数据上传的渗透 C&C 服务器更改为虚拟硬编码 androidd [.]com域(当前已注册的域名抢注)来停用自身。此操作基于从 Firebase C&C 服务器收到的命令发生。虚拟域可能看起来更合法,不会被标记为恶意,并且可能不会触发网络检测系统。
数据泄露是通过接收来自 Firebase C&C 服务器的命令或触发特定定义的事件来启动的。这些事件在AndroidManifext.xml中定义,并在发生以下操作时引发,例如:互联网连接发生变化、安装或卸载应用、拨打或接听电话、发送或接收短信、连接或断开电池充电器或设备重新启动。
如果发生任何这些事件,AridSpy 就会开始收集各种受害者数据并将其上传到渗透 C&C 服务器。它可以收集:
- 设备位置,
- 联系人列表,
- 通话记录,
- 短信,
- 照片缩略图,
- 录制视频的缩略图,
- 录音电话,
- 录制周围的声音,
- 恶意软件拍摄的照片,
- 外部存储的文件结构,
- 六个 WhatsApp 数据库(db-wal、wa.db-shm、wa.db、msgstore.db-wal、msgstore.db-shm、msgstore.db),包含交换的消息和用户联系人(如果设备已 root);
- 默认浏览器以及 Chrome、三星浏览器和 Firefox 应用(如果已安装)中的书签和搜索历史记录,
- 剪贴板中的数据,
- 来自外部存储的文件,文件大小小于 30 MB,扩展名为.pdf、.doc、.docx、.xls、.xlsx、.ppt、.pptx 和 .opus,
- 存储在/storage/emulated/0/Android/data/com.sec.android.gallery3d/cache/目录中的 Samsung Gallery 应用中的缩略图,
- 所有收到的通知,
- Facebook Messenger 和 WhatsApp 通信,以及
- 由于滥用辅助功能服务而可见的所有文本的日志。
除了等待事件发生之外,Arid Viper 操作员还可以通过向受感染的设备发送命令来提取特定信息并立即将其上传到 C&C 服务器。AridSpy 可以从其 Firebase C&C 服务器接收命令以获取数据或控制恶意软件。操作员可以进行以下操作:
- 设备位置,
- 联系人列表,
- 短信,
- 通话记录,
- 照片缩略图,
- 录制视频的缩略图,
- 根据从 Firebase C&C 服务器收到的 ID,从外部存储中获取特定图像,
- 根据从 Firebase C&C 服务器收到的 ID,从外部存储中获取特定视频,
- 录制的音频,
- 按需拍摄的图像,
- 从 C&C 收到的文件路径中指定的特定文件,以及
- 设备信息,例如是否安装了 Facebook Messenger 和 WhatsApp 应用程序、设备存储、电池百分比、互联网连接、Wi-Fi 连接数据、屏幕开启或关闭状态以及时区。
通过接收控制命令,它可以:
- 通过使用虚拟值androidd[.]com替换泄露的 C&C 域名来停用通信,
- 通过将虚拟的androidd[.]com C&C 域名替换为其他域名来激活通信,
- 允许在使用移动数据套餐时上传数据,并且
- 更改渗透 C&C 服务器以进行数据上传。
AridSpy 可以通过记录任何应用程序中可见和可编辑的所有文本来监视用户活动。最重要的是,它特别关注 Facebook Messenger 和 WhatsApp 通信,这些通信是单独存储和泄露的。为了完成此任务,它滥用内置的可访问性服务来记录所有可见的文本并将其上传到泄露 C&C 服务器。存储的 WhatsApp 通信示例如图 14 所示。
图 14. AridSpy(左)记录的受害者的 WhatsApp 通信(右)
在将收集的数据上传到 C&C 服务器之前,这些数据会存储在 AridSpy 的内部存储/data/data/<package_name>/files/files/systems/中。获取的联系人列表、短信、通话记录、位置、捕获的密钥、文件结构和其他文本信息都以纯文本形式存储为 JSON 文件。所有泄露的数据都使用特定文件名保存,这些文件名可能包含文件 ID、文件名、时间戳、位置、电话号码和 AridSpy 版本。这些值由分隔符#$&分隔,如图 15 所示。
图 15. 从设备窃取的多媒体数据的文件名(突出显示的是嵌入的恶意软件版本号)
然后将来自任何特定子目录的所有这些文件压缩到data.zip中,并使用自定义加密进行加密。每个加密文件都使用带有_Father.zip后缀的随机生成的文件名。此字符串是硬编码的,并附加到每个文件中。然后将文件上传到渗透 C&C 服务器并从设备中删除。
在查看反编译的 AridSpy 代码时,我们确定了一个版本号,该版本号在窃取受害者数据(#$&V30#$&)时用作文件名的一部分,在图 15 中也可以看到(突出显示的是版本号)。AridSpy 版本在整个活动中一直在变化,甚至在 2021 年披露的第一个变体中也包含该版本。对于某些 AridSpy 样本,版本号存在于木马应用程序和第二阶段有效负载中。此版本可能有所不同,因为下载的有效负载可以更新。在表 5 中,您可以看到软件包名称及其版本。一些木马应用程序仅在其有效负载中包含版本号,而不在可执行文件的主体中。
表 5. 样本中发现的恶意软件版本
| 应用程序名称 | 包裹名字 | SHA-1 | 版本 |
| 系统更新 | com.update.system.important |
52A508FEF60082E1E4EC
E9109D2CEC1D407A0B92 |
22 |
| [无应用程序名称] | 天气服务管理器 |
A934FB482F61D85DDA5E
52A7015F1699BF55B5A9 |
二十六 |
| [无应用程序名称] | com.studio.manager.app |
5F0213BA62B84221C962
8F7D0A0CF87F27A45A28 |
二十六 |
| 科拉442 | com.app.projectappkora |
60B1DA6905857073C4C4
6E7E964699D9C7A74EC7 |
二十七 |
| 閱讀 | com.app.workapp |
568E62ABC0948691D672
36D9290D68DE34BD6C75 |
二十九 |
| Nortir聊天 | 环 |
DB6B6326B772257FDDCB
4BE7CF1A0CC0322387D8 |
三十 |
| prefLog.dex | com.services.android.handler |
16C8725362D1EBC8443C
97C5AB79A1B6428FF87D |
三十 |
| prefLog.dex | com.setting.manager.admin.handler |
E71F1484B1E3ACB4C8E8
525BA1F5F8822AB7238B |
31 |
表格的“版本”列表明该恶意软件定期维护。
值得一提的是,用于巴勒斯坦民事登记和就业机会活动的木马化恶意应用程序已经实现了恶意功能,这些功能也在第二阶段的有效载荷中提供。如果已经包含相同的功能,下载有效载荷似乎非常不寻常。重复的恶意功能似乎不是预期的行为,因为它没有在其他活动的样本中实现;相反,它可能是恶意软件更新以提供两个额外阶段之前遗留的代码。即便如此,这两个木马化应用程序可以接收命令并监视受害者,而无需额外的有效载荷。当然,第二阶段的有效载荷携带最新的更新和恶意代码更改,可以推送到其他正在进行的活动。
结论
五项活动很可能是由 Arid Viper APT 组织发起的,它们通过专门的网站分发 Android 间谍软件(我们将其命名为 AridSpy),并将 AridSpy 的恶意代码植入各种木马应用程序中。该恶意软件家族有两个额外阶段,可从 C&C 服务器下载。第二阶段有效载荷的目的是通过受害者数据泄露进行间谍活动。AridSpy 还具有硬编码的内部版本号,这五项活动和之前披露的其他样本中版本号有所不同。此信息表明 AridSpy 得到了维护,可能会收到更新或功能更改。
如对我们在 WeLiveSecurity 上发表的研究有任何疑问,请联系我们:threatintel@eset.com
ESET Research 提供私人 APT 情报报告和数据源。如需咨询此服务,请访问ESET Threat Intelligence页面。
IoC
在我们的 GitHub 存储库中可以找到全面的入侵指标 (IoC) 列表和示例。
文件
| SHA-1 | 文件名 | 检测 | 描述 |
|
797073511A15EB85C1E9
D8584B26BAA3A0B14C9E |
apk | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
5F0213BA62B84221C962
8F7D0A0CF87F27A45A28 |
com.studio.manager.app.apk | Android/Spy.AridSpy.A | AridSpy 的第一阶段。 |
|
A934FB482F61D85DDA5E
52A7015F1699BF55B5A9 |
com.weather.services.manager.apk | Android/Spy.AridSpy.A | AridSpy 的第一阶段。 |
|
F49B00896C99EA030DCC
A0808B87E414BBDE1549 |
聊天 | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
3485A0A51C6DAE251CDA
D20B2F659B3815212162 |
聊天 | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
568E62ABC0948691D672
36D9290D68DE34BD6C75 |
apk 文件 | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
DB6B6326B772257FDDCB
4BE7CF1A0CC0322387D8 |
apk 文件 | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
2158D88BCE6368FAC3FC
B7F3A508FE6B96B0CF8A |
apk 文件 | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
B806B89B8C44F4674888
8C1F8C3F05DF2387DF19 |
com.app.civilpal.apk | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
E71F1484B1E3ACB4C8E8
525BA1F5F8822AB7238B |
prefLog.dex | Android/Spy.AridSpy.A | AridSpy 的第二阶段。 |
|
16C8725362D1EBC8443C
97C5AB79A1B6428FF87D |
prefLog.dex | Android/Spy.AridSpy.A | AridSpy 的第二阶段。 |
|
A64D73C43B41F9A5B938
AE8558759ADC474005C1 |
apk | Android/Spy.AridSpy.A | AridSpy 木马应用程序。 |
|
C999ACE5325B7735255D
9EE2DD782179AE21A673 |
更新包 | Android/Spy.AridSpy.A | AridSpy 的第一阶段。 |
|
78F6669E75352F08A8B0
CA155377EEE06E228F58 |
更新包 | Android/Spy.AridSpy.A | AridSpy 的第一阶段。 |
|
8FF57DC85A7732E4A9D1
44F20B68E5BC9E581300 |
更新包 | Android/Spy.AridSpy.A | AridSpy 的第一阶段。 |
网络
| 知识产权 | 领域 | 托管服务提供商 | 首次出现 | 细节 |
| 23.106.223[.]54 | gameservicesplay[.]com | LeaseWeb USA, Inc. 西雅图 | 2023‑05‑25 | C&C 服务器。 |
| 23.106.223[.]135 | crashstoreplayer[.]网站 | LeaseWeb USA, Inc. 西雅图 | 2023‑08‑19 | C&C 服务器。 |
| 23.254.130[.]97 | reblychat[.]com | Hostwinds 有限责任公司 | 2023‑05‑01 | 發行網站。 |
| 35.190.39[.]113 |
proj3-1e67a.firebaseio[.]com
proj-95dae.firebaseio[.]com proj-2bedf.firebaseio[.]com proj-54ca0.firebaseio[.]com project44-5ebbd.firebaseio[.]com |
谷歌有限责任公司 | 2024‑02‑15 | C&C 服务器。 |
| 45.87.81[.]169 | www.palcivilreg[.]com | Hostinger 网络运营中心 | 2023‑06‑01 | 發行網站。 |
| 64.44.102[.]198 | analyticsandroid[.]com | Nexeon Technologies, Inc. | 2023‑04‑01 | C&C 服务器。 |
| 66.29.141[.]173 | almoshell[.]网站 | Namecheap, Inc. | 2023‑08‑20 | 發行網站。 |
| 68.65.121[.]90 | orientflags[.]com | Namecheap, Inc. | 2022‑03‑16 | C&C 服务器。 |
| 68.65.121[.]120 | elsilvercloud[.]com | Namecheap, Inc. | 2021‑11‑13 | C&C 服务器。 |
| 68.65.122[.]94 |
www.lapizachat[.]com
lapizachat[.]com |
Namecheap, Inc. | 2022-01-19 | 發行網站。 |
| 162.0.224[.]52 | alwaysgoodidea[.]com | Namecheap, Inc. | 2022‑09‑27 | C&C 服务器。 |
| 198.187.31[.]161 | nortirchats[.]com | Namecheap, Inc. | 2022‑09‑23 | 發行網站。 |
| 199.192.25[.]241 | ultraversion[.]com | Namecheap, Inc. | 2021‑10‑12 | C&C 服务器。 |
MITRE ATT&CK 技术
该表是使用MITRE ATT&CK 框架15 版构建的。
| 策略 | ID | 姓名 | 描述 |
| 初始访问 | T1660 | 网络钓鱼 | AridSpy 已通过冒充合法服务的专用网站进行分发。 |
| 持久性 | T1398 | 启动或登录初始化脚本 | AridSpy 接收BOOT_COMPLETED广播意图,并在设备启动时激活。 |
| T1624.001 | 事件触发执行:广播接收器 | AridSpy 注册以接收NEW_OUTGOING_CALL、PHONE_STATE、SMS_RECEIVED、SMS_DELIVER、BOOT_COMPLETED、USER_PRESENT、CONNECTIVITY_CHANGE、ACTION_POWER_CONNECTED、ACTION_POWER_DISCONNECTED、PACKAGE_ADDED和PACKAGE_CHANGE广播意图来激活自身。 | |
| 防御规避 | T1407 | 运行时下载新代码 | AridSpy 可以下载第一阶段和第二阶段的有效载荷。 |
| T1406 | 模糊文件或信息 | AridSpy 使用混淆的代码和字符串解密下载的有效负载。 | |
| 发现 | T1418 | 软件发现 | AridSpy 可以识别设备上是否安装了 Facebook Messenger 和 WhatsApp 应用程序。 |
| T1418.001 | 软件发现:安全软件发现 | AridSpy 可以从预定义列表中识别已安装的安全软件。 | |
| T1420 | 文件和目录发现 | AridSpy 可以列出外部存储器上的文件和目录。 | |
| T1426 | 系统信息发现 | AridSpy 可以提取有关设备的信息,包括设备型号、设备ID 和常见系统信息。 | |
| T1422 | 系统网络配置发现 | AridSpy 提取 IMEI 号码。 | |
| 收藏 | T1512 | 视频截取 | AridSpy 可以拍照。 |
| T1532 | 归档收集的数据 | AridSpy 在提取之前对数据进行加密。 | |
| T1533 | 来自本地系统的数据 | AridSpy 可以从设备中窃取文件。 | |
| T1417.001 | 输入捕获:键盘记录 | AridSpy 可以记录所有可见的文本,特别是记录 Facebook Messenger 和 WhatsApp 聊天通信。 | |
| T1517 | 访问通知 | AridSpy 可以从各种应用程序收集消息。 | |
| T1429 | 音频捕捉 | AridSpy 可以从麦克风录制音频。 | |
| T1414 | 剪贴板数据 | AridSpy 可以获取剪贴板内容。 | |
| T1430 | 位置追踪 | AridSpy 跟踪设备位置。 | |
| T1636.002 | 受保护的用户数据:通话记录 | AridSpy 可以提取通话记录。 | |
| T1636.003 | 受保护的用户数据:联系人列表 | AridSpy 可以提取设备的联系人列表。 | |
| T1636.004 | 受保护的用户数据:短信 | AridSpy 可以提取短信。 | |
| 命令与控制 | T1481.003 | Web 服务:单向通信 | AridSpy 使用 Google 的 Firebase 服务器作为 C&C。 |
| 泄漏 | T1646 | 通过 C2 通道进行泄漏 | AridSpy 使用 HTTPS 窃取数据。 |







发表评论
您还未登录,请先登录。
登录