
ChillyHell 于 2025 年 5 月初首次出现在公共恶意软件存储库中,尽管其开发人员签署的公证可以追溯到 2021 年。
尽管利用 Apple 自己的公证流程使其看起来合法,但这种模块化后门仍逃避了主要防病毒供应商的检测。
通过伪装成良性的 macOS 小程序,ChillyHell 在部署其复杂的攻击程序之前在目标机器上获得了初步立足点。
Jamf 分析师指出,初始样本是通过托管看似生产力工具的受感染网站提供的。
一旦执行,恶意软件就会调用主机分析例程来收集详细的系统信息,包括用户目录、shell 环境和活动进程列表。
这种侦察使后门能够根据受害者的环境定制其下一步行动,最大限度地降低在不同 macOS 配置上执行错误的风险。
经过早期分析,Jamf 研究人员确定了ChillyHell 的双阶段持久性策略。
在非特权环境中,它将自身安装为 LaunchAgent,将 plist 放置在 下~/Library/LaunchAgents/com.apple.qtop.plist,并将主二进制文件放置在 处~/Library/com.apple.qtop/qtop。
当具有提升的权限时,它会转换为 LaunchDaemon,写入/Library/LaunchDaemons/com.apple.qtop.plist和/usr/local/bin/qtop。
无论哪种情况,这些机制都保证在登录或系统启动时执行,从而有效地将受感染的主机转变为长期资产。
除了启动服务之外,ChillyHell 还通过将启动命令注入用户的 shell 配置文件来实现隐秘的回退。
它检测活动的 shell(Zsh、Bash 或 sh),然后将调用行附加到相应的 RC 文件。
这确保了即使启动服务被禁用或删除,恶意软件也会在任何新的终端会话期间重新激活。
持久性策略和时间戳操作
ChillyHell 的持久性程序通过时间戳操作得到进一步增强,旨在逃避法医分析。
在创建其 LaunchAgent 或 LaunchDaemon 工件后,恶意软件会调用_utime()系统调用来回溯创建和修改时间。
如果由于权限不足而导致直接系统调用失败,则会回退到 shell 命令:-
touch -c -a -t 202101010000 /Library/LaunchDaemons/com.apple.qtop.plist
touch -c -m -t 202101010000 /usr/local/bin/qtop

这种方法不仅掩盖了真实的安装日期,而且还会无意中操纵 APFS 诞生时间戳,使时间线分析工具的检测更加困难。
通过精心选择接近真实系统事件的日期,ChillyHell 有效地将其工件隐藏在合法的操作系统更新和用户发起的更改中。
mainCycle()一旦建立了持久性,ChillyHell 会在随机延迟后继续其主命令循环。
后门在 HTTP 和 DNS 传输之间交替,通过端口 53、80、1001 和 8080 轮询 93.88.75.252 和 148.72.172.53 的硬编码 C2 服务器。
每个周期都会获取新的任务描述符、解码 Base64 有效负载并动态加载模块(例如ModuleBackconnectShell用于交互式反向 shell、ModuleUpdater用于自我更新功能以及ModuleSUBF用于本地密码暴力破解的模块)。
通过结合公证滥用、多层持久机制和时间戳规避,ChillyHell 代表了 macOS 威胁方面的重大进步。
网络安全团队应优先监控LaunchService plist 和 shell RC 文件,并实施时间线分析以检测异常文件修改日期。
研究人员和平台供应商之间的持续合作对于缓解公证的 macOS 恶意软件不断演变的策略至关重要。
1. 本版块文章内容及资料部分来源于网络,不代表本站观点,不对其真实性负责,也不构成任何建议。
2. 部分内容由网友自主投稿、编辑整理上传,本站仅提供交流平台,不为该类内容的版权负责。
3. 本版块提供的信息仅作参考,不保证信息的准确性、有效性、及时性和完整性。
4. 若您发现本版块有侵犯您知识产权的内容,请及时与我们联系,我们会尽快修改或删除。
5. 使用者违规、不可抗力(如黑客攻击)或第三方擅自转载引发的争议,联盟不承担责任。
6. 联盟可修订本声明,官网发布即生效,继续使用视为接受新条款。

