概述
在我们上一次更新的XCSSET 活动分析报告中,我们分享了该恶意软件的一些针对最新 macOS 11(Big Sur) 的功能。从那时起,XCSSET为其工具集添加了更多功能,我们一直在对其进行监控。我们还发现了XCSSET用于从各种应用程序窃取信息的机制,这种窃取信息行为自我们首次讨论它以来就一直存在。
XCSSET如何窃取信息
从XCSSET的第一个版本开始,我们注意到它从各种应用程序中收集一些数据,并将这些数据送回其命令和控制(C&C)服务器。但是,我们不知道攻击者将如何使用这些数据。我们最近发现了用于窃取数据的机制,并了解到它包含有价值的敏感信息,可用于各种目的。
以恶意的AppleScript文件 "telegram.applescript"为例。顾名思义,在这种情况下,Telegram是目标应用程序。它的主要逻辑是将文件夹"~/Library/Group Containers/6N38VWS5BX.ru.keepcoder.Telegram"压缩成一个.ZIP文件,并将该文件上传到一个C&C服务器。
图1.telegram.applescript 的代码
为了找到收集文件夹的目的,我们用两台Mac机进行了一个简单的测试:
1.在机器A和B上都安装Telegram。
2.在机器A上,用一个有效的Telegram账户登录。在机器B上不使用Telegram做任何事。
3.将"~/Library/GroupContainers/6N38VWS5BX.ru.keepcoder.Telegram "文件夹从机器A复制到机器B,并替换现有文件夹。
4.在机器B上运行Telegram。完成后,它已经用机器A上使用的相同账户登录了。
在macOS上,应用程序沙箱目录~/Library/Containers/com.xxx.xxx和~/Library/Group Containers/com.xxx.xxx可以被普通用户访问(有READ/WRITE权限)。这与iOS上的做法不同。在macOS上,并非所有的可执行文件都进行了沙箱处理,这意味着一个简单的脚本就可以窃取存储在沙箱目录中的所有数据。我们建议应用程序开发人员不要在沙箱目录中存储敏感数据,特别是那些与登录信息有关的数据。
XCSSET的目标敏感数据
XCSSET窃取了这些应用程序的大量关键隐私数据,其中大部分这些数据存储在其沙箱目录中。在这里,我们将展示它是如何在Chrome中完成的。
在Chrome浏览器中,被盗的数据包括用户存储的任何密码,为了转储这些数据,XCSSET需要使用命令security find- generic-password -wa 'Chrome' 获得safe_storage_key 。然而,这个命令需要root权限。为了绕过这一要求,该恶意软件将所有需要root权限的操作放在一个函数中,如图2所示。
图 2. 需要管理员权限的操作
然后通过一个虚假对话框提示用户授予这些权限。
一旦它获得了 Chrome safe_storage_key,它就会解密所有敏感数据并将其上传到C&C 服务器。
图 3. 针对 Google Chrome 的信息窃取代码
图 4. 针对 Google Chrome 的信息窃取代码
可以找到针对以下应用程序的类似脚本:
-
Contacts
-
Evernote
-
Notes
-
Opera
-
Skype
-
WeChat
新的 C&C 域
从2021年4月20日至22日,出现了一些新的域,它们都解析到IP地址94.130.27.189,XCSSET以前也使用过这个地址。
-
atecasec.com
-
linebrand.xyz
-
mantrucks.xyz
-
monotal.xyz
-
nodeline.xyz
-
sidelink.xyz
同样,下面的域现在从非恶意 IP 地址解析为 94.130.27.189。
-
icloudserv.com
这些新域都有一个来自 "Let's Encrypt "的HTTPS证书,其有效期为2021年4月22日至7月21日。
图 5.C&C 服务器的 HTTPS 证书
从2021年4月22日起,所有C&C域名都解析为194.87.186.66。5月1日,一个新的域名(irc-nbg.v001.com)被解析到原C&C IP地址94.130.27.189。这个新域名表明一个IRC服务器现在位于上述IP地址,目前看来与XCSSET没有关系。
从2021年6月9日至10日,所有与XCSSET C&C服务器有关的已知域名都被删除,而又添加了以下新域名:
-
atecasec.info
-
datasomatic.ru
-
icloudserv.ru
-
lucidapps.info
-
relativedata.ru
-
revokecert.ru
-
safariperks.ru
但在 6 月 24 日,这些服务器被攻击者关闭了。目前,我们还无法定位到 XCSSET 的新服务器。
其它行为变化
Bootstrap.applescript
在 bootstrap.applescript 中,第一个值得注意的变化是使用了最新的C&C 域:
图 6. 使用的 C&C 域
请注意,除了可用的域外,IP地址也是列表的一部分。即使所有的域在未来突然被关闭,仍然可以通过IP地址访问C&C服务器。
图 7. 使用中的模块
增加了一个新模块 "canary",用于对谷歌的Chrome Canary浏览器进行XSS注入,这是Chrome浏览器的一个实验版本。
图8. 使用中的模块,显示已移除的模块
与上一版本相比,取消了对 "screen_sim "的调用。
Replicator.applescript
作为感染本地Xcode项目的第一步,从上一个版本开始,他们将注入的构建短语或构建规则的ID从硬编码的ID改为随机生成的ID;但是,ID的最后六个字符仍然是硬编码的 "AAC43A"。在最新的版本中,硬编码的后缀改为"6D90"。
图 9. 更改后的后缀
关于脚本注入虚假构建阶段和构建规则的逻辑:之前,它调用了位于被感染的Xcode项目中一个隐藏文件夹中的恶意Mach-O文件。现在,它调用curl命令从C&C服务器下载一个名为 "a "的shell脚本,并将其内容传递给 "sh "来执行它。这样,最新版本的任何受感染的Xcode项目都不会包含其它的恶意文件。
图10. 下载和运行shellcode的代码
这里有从C&C服务器上下载的shell脚本文件的内容。它从C&C服务器上下载了登陆的Mach-O组件Pod,将其保存为/tmp/exec.$$,添加了一个可执行标志并执行它。
11. 下载的代码
和以前一样,Mach-O文件 "Pods "是由SHC工具生成的。从中提取的shell脚本的主要逻辑与之前使用的很相似。下图列出了一些值得注意的变化:
图 12. 工作文件夹从“GemeKit”更改为“GeoServices”
图13. 假应用程序的名称从Xcode.app改为Mail.app
图14. 创建临时文件用于调试
防御 XCSSET
我们在XCSSET中遇到的变化并不反映其行为的根本变化,但确实表现出了其策略的改进。它从各种应用程序中窃取信息的方式凸显了该恶意软件积极尝试从受影响系统中窃取各种信息的程度。
IoC
文件名 |
SHA256 |
Trend Micro 检测名 |
bootstrap.applescript |
f453e8ae426133ace544cd4bb1ab2435620a8d4d5f70b936d8f3118e22f254e8 |
Trojan.macOS.XCSSET.C |
replicator.applescript |
7a51fd3080ee5f65c9127603683718a3fd4f3e0b13de6141824908a6d3d4b558 |
Trojan.macOS.XCSSET.C |
Pods |
bbcc8a101ae0e7fc546dab235387b0bf7461e097578fedcb25c4195bc973f895 |
Trojan.macOS.XCSSET.C |
a |
d8f14247ef18edaaae2c20dee975cd98a914b47548105cfbd30febefe2fa2a6b |
Trojan.macOS.XCSSET.C |
C&C服务器
194.87.186.66
atecasec.info
datasomatic.ru
icloudserv.ru
lucidapps.info
relativedata.ru
revokecert.ru
safariperks.ru
原文链接:
https://www.trendmicro.com/en_us/research/21/g/updated-xcsset-malware-targets-telegram--other-apps.html
本文始发于微信公众号(维他命安全):MacOS恶意软件XCSSET分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论