查看: 6520|回复: 8
收起左侧

[比特梵德] Bitdefender 发现针对 macOS 的新型间谍软件 JokerSpy

[复制链接]
纽盖特
发表于 2023-6-27 11:07:13 | 显示全部楼层 |阅读模式
在6月初,Bitdefender的Mac安全研究人员发现了一种针对 macOS 的新型高级间谍软件,目前已被Bitdefender命名为JokerSpy。
目前,大部分安全厂商都未能检测此间谍软件,并且关于它们的信息非常有限。(Emisoft,eScan,Gdata和 Trellix(原McAfee)使用了Bitdefender的反病毒引擎)
image-17.png


样本分析 shared.dat
shared.dat是一个通用的Python后门文件,它使用rot13替换来隐藏特定文件路径和字符串的值。它还生成一个唯一的设备标识符,以便在后续对命令与控制中心的请求中使用。
执行时,后门首先生成上述唯一设备标识符(UID)。然后,使用该UID作为临时文件的名称(<uid>.dat)。恶意软件接下来进入一个while True循环,在此期间尝试使用自定义数据包格式与远程服务器进行通信。这些数据包以GITHUB_RES或GITHUB_REQ开头,后跟前一步生成的UID。后门支持通过远程服务器发送的四个命令,以cmdType数字形式表示:

代码501:提取基本信息
当后门接收到cmdType为501的命令时,它会提取以下详细信息:当前时间、用户名、主机名、操作系统版本,以及执行以下命令的结果:
在Unix系统上执行ifconfig -a和ps -ef;
在Windows系统上执行ipconfig /all和tasklist /svc。
这些详细信息还会被写入一个作为参数传入的文件中,本例中文件名为b.dat。

代码502:CmdExec
cmdExec函数显然用于使用subprocess.Popen函数运行作为参数提供的特定命令。请求中包含用base64编码的命令,结果也使用相同的方法进行编码。

代码503:DownExec
DownExec例程根据受害者的操作系统表现不同。对于MacOS设备,该函数将一个文件写入到/Users/Shared/AppleAccount.tgz。从服务器接收的内容在写入存档时也使用base64编码。它将存档解压缩到/Users/Shared文件夹,然后打开/Users/Shared/TempUser/AppleAccountAssistant.app应用程序。
在Linux系统上,恶意软件调用dist_name函数,该函数检查/etc/os-release以验证受害者发行版是Debian、Fedora还是其他系统。该函数将从C2接收到的一些C代码写入一个临时文件tmp.c,然后在Fedora上使用cc命令,在Debian上使用gcc命令将其编译为/tmp/.ICE-unix/git文件。编译完成后,该文件在后台执行,同时使用C2接收到的两个参数。

代码504:KillSelf
这个函数很好理解,只是用于退出脚本。
sh.py – 一个更强大的后门
sh.py(SHA-1 bd8626420ecfd1ab5f4576d83be35edecd8fa70e)后门也是用Python编写的,具有跨平台功能。它将配置选项存储在~/Public/Safari/sar.dat文件中,先将其编码为Base64格式。存储在该文件中的设置包括UID(用户ID)、SleepCycleMin(最小睡眠周期时间)和两个可能的服务器URL。与shared.dat后门类似,sh.py也生成并保存一个UID(虽然是一个9位数)。
与shared.dat后门不同的是,这个后门没有硬编码的C&C服务器值。相反,在运行脚本时可以作为参数提供C&C的值,或者从设置文件中加载。
在主函数中,脚本使用while循环与远程服务器通信,并使用process_command函数处理特定命令,该函数接收以下任一值作为参数:
"L" -> 列出文件(路径、大小、访问时间、权限)
"C" -> 执行系统上的命令并输出结果
"CD" -> 切换目录
"XS"、"XSI" -> 使用exec执行命令。与"XS"不同的是,"XSI"先将命令编码为Base64格式再执行。
"R" -> 删除文件/目录
"E" -> 执行特定路径下的文件(可带参数)
"U" -> 将从服务器接收到的数据解码(Base64)后写入文件
"D" -> 从文件中读取数据,并将其分批以Base64格式发送给服务器
"G" -> 调用load_setting()函数,并将当前配置(来自sar.dat文件)以Base64格式发送给服务器
"W" -> 使用save_settings函数为特定选项设置值,比如SleepCycleMin或ServerUrl(2个元素的数组)
该后门还包括一个名为'get_basic_information'的函数,该函数提取系统的特定细节,例如主机名、用户名、操作系统版本、Python版本等等。当执行该函数时,脚本尝试连接到两个服务器URL之一,以便将这些详细信息发送过去。如果第一个URL不可用,则尝试与第二个URL进行联系。

xcc 间谍软件的前身
与前两个文件不同,这个第三个组件是一个FAT二进制文件(多架构文件),包含了两种架构(x86 Intel和ARM M1)的Mach-O文件。xcc二进制文件使用Swift编写,目标MacOS 12及更高版本。它的主要目的似乎是在使用潜在的间谍软件组件之前检查权限(可能用于捕获屏幕),但并不包含间谍软件组件本身。这让我们相信这些文件是更复杂攻击的一部分,并且我们调查的系统中缺少了几个文件。
除了6月1日上传的xcc文件之外,我们还找到了一个日期为6月6日的第二个文件(在我们的IoC列表中标记为样本E)。与"原始"的xcc文件不同,这个文件只包含x86架构的Mach-O二进制文件。
xcc文件具有特定的自定义签名,意味着它们与任何已知的苹果开发者都不相关。文件的标识符包含关键字XProtectCheck,以及文件内容中指定的路径"/Users/joker/Downloads/Spy/XProtectCheck/",这暗示了该项目的目的,以及该组件的角色。
xcc检查由苹果的TCC(透明度、同意和控制)管理的权限,例如完全磁盘访问、屏幕录制和辅助功能。辅助功能方面使用了"AXIsProcessTrusted"函数,它是macOS辅助功能API的一部分,而捕获屏幕的权限则通过调用CGPreflightScreenCaptureAccess()来获取。另外,函数getTopWindowApp使用了苹果的frontmostApplication属性来识别用户当前正在与之交互的活动应用程序。

命令与控制
命令与控制服务器在share.dat Python后门中被硬编码。首次提到该域名可追溯到2023年2月10日,大致在同一时间,有一系列与感染的MacOS QR码阅读器(QRLog)相关的推文中提到了它。
检测
Bitdefender将Python组件标记为Trojan.Python.JokerSpy。
Mach-O二进制文件被检测为Trojan.MAC.JokerSpy。

IOC
文件:
1687833618094.jpg


目前,Bitdefender的安全研究人员仍在持续追踪JokerSpy,如果您的macOS仍然未安装防护,我建议您尽快采取以下措施来保护您的系统:
  • 安装可信赖的安全软件:选择一个经过认证且受信任的安全软件,如Bitdefender等,并确保定期更新其病毒定义库和程序版本。
  • 谨慎设置反病毒排除。
  • 执行macOS操作系统和应用程序的更新:及时安装操作系统和应用程序的安全更新,以修补已知的漏洞并增强系统安全性。
  • 谨慎下载和打开附件:避免从不受信任的来源下载文件,特别是来自未知发件人的电子邮件附件。一定要验证文件的来源和可靠性。
  • 部署更佳高级的防护,例如EDR、XDR、MDR等。


阅读Bitdefender博客原文:


评分

参与人数 2分享 +3 人气 +3 收起 理由
屁颠屁颠 + 3 版区有你更精彩: )
huangzihang + 3 感谢支持,欢迎常来: )

查看全部评分

Jirehlov1234
发表于 2023-6-27 11:25:07 | 显示全部楼层
petr0vic
发表于 2023-6-27 14:38:04 | 显示全部楼层
Trellix(原McAfee)使用了Bitdefender的反病毒引擎)

Are you sure?
隔山打空气
发表于 2023-6-27 22:31:42 | 显示全部楼层

应该是Trellix(原FireEye的那一部分)用的是有BD的引擎,而不是McAfee ENS那一部分

评分

参与人数 1人气 +3 收起 理由
danger + 3 感谢解答: )

查看全部评分

纽盖特
 楼主| 发表于 2023-6-29 11:32:35 | 显示全部楼层
yinchenbin2020
头像被屏蔽
发表于 2023-7-14 15:08:15 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
asta
发表于 2023-8-5 20:56:13 来自手机 | 显示全部楼层
xprotect可以杀吗
KeiTh.
发表于 2023-9-4 16:18:09 | 显示全部楼层
好奇一个问题,不是说比特梵德更新病毒库都成问题吗,在中国有分公司吗?
胡淇允
发表于 2023-9-16 08:54:42 | 显示全部楼层
本帖最后由 胡淇允 于 2023-9-16 08:57 编辑

好像Trellix分两种版本,trellix ENS用的bitdefender,还有一种是McAfee ENS用的McAfee引擎,论坛里那些不受控版本是基于McAfee ENS的Trellix
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-5-6 19:52 , Processed in 0.119296 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表