标注的博客| 安全研究| 渗透测试| APT

首页

macos 恶意软件分析过程

作者 prehn 时间 2020-03-12
all

本文作者:Cherishao(信安之路应急小组组长) Hacker 取得了我们系统权限后通常会做那些事情?植入 shell、恶意软件、留持久化的后门。在当下的 APT 事件中,远控木马扮演着一个重要的角色,这些木马通常具备着如下功能:远程桌面、键盘记录器、下载和运行程序、文件和注册表等的各种操作,通过远控木马上线记录 Hacker 甚至能知道你什么时间段在做什么事情,听起来是有那么一点不可思议,但事实就是如此。 在诸多远控木马中,针对 macOS 的 RAT 还是比较少见,今天看到了卡巴斯基实验室的一篇关于 Calisto 恶意软件(远程访问木马 RAT)分析的研究性文章,学习了下分析思路并将其进行了翻译,作者英语水平及理解能力有限,如有不适之处,请斧正:) 来自卡巴斯基实验室的恶意软件研究人员发现了一种名为 Calisto 的恶意软件,它似乎是 Proton macOS 恶意软件的前身。 该恶意软件早在 2016 年就被上传到 VirusTotal,很可能是在创建它的同一年。但是整整两年,直到 2018 年 5 月,Calisto 仍然不受反病毒解决方案的影响,最近才发现 VT 的第一次检测。 卡巴斯基没有关于威胁传播方式的信息,他们立即注意到 Calisto 实施的一些功能仍处于开发阶段。 Calisto 传播及感染模块分析 传播 Calisto 安装文件是一个以 Intego 的 Mac 安全解决方案为幌子的未签名的 DMG 图像,有趣的是,Calisto 的作者选择该程序的第九版作为封面。 为了便于说明,我们将恶意软件文件与从官方网站下载的 Mac Internet Security X9 版本进行比较。 它看起来相当有诱惑力。如果他之前没有使用过该应用程序 用户不太可能注意到差异。 感染 一旦启动,该应用程序就会向我们提供虚假许可协议。 该文本与 Intego 的文本略有不同 也许网络犯罪分子从早期版本的产品中获取了它。 接下来,“防病毒”会询问用户的登录名和密码,这种安装保证了在 macOS 上对系统进行更改的程序时完全正常。 在收到凭据后,程序会在报告发生错误之前稍微挂起,并建议用户从防病毒开发人员的官方站点下载新的安装包。 该程序的正式版本安装可能没有问题,很快就会忘记错误。同时,Calisto 将平静地继续运行。 基于 SIP 的木马分析 Calisto 在启用 SIP(系统完整性保护)的计算机上的活动相当有限。Apple 于 2015 年宣布推出 OSX El Capitan,SIP 旨在保护关键系统文件不被修改 - 即使具有 root 权限的用户也是如此。 Calisto 是在 2016 年或更早开发的,似乎它的创造者根本没有考虑到当时的新技术。 但是,许多用户仍因各种原因禁用SIP; 我们明确建议不要这样做。 可以使用其子进程日志和反编译代码来调查 Calisto 的活动,木马在其运行期间执行的命令记录如下: Calisto 样本中的硬编码命令 我们可以看到该木马使用名为 .calisto 的隐藏目录来存储 Keychain: 存储数据 Keychain: 存储数据 从用户 login/password 窗口中提取的数据 从用户 login/password 窗口中提取的数据 Network: 有关网络连接的信息 Network: 有关网络连接的信息 来自 Google Chrome 的数据:历史记录,书签,Cookie 来自 Google Chrome 的数据:历史记录,书签,Cookie Keychain 存储用户保存的 password/tokens,包括 Safari 中保存的 password/Token, 存储的加密密钥是用户的密码。

password/tokens password/Token

接下来,如果启用了 SIP,则当木马尝试修改系统文件时会发生错误。 这违反了木马的操作逻辑,导致它停止。 SIP 禁用状态下分析 使用 SIP 禁用观察 Calisto 更有趣。 首先,Calisto 执行上一章中的步骤,但由于木马不会被 SIP 中断,因此它会: 将自身复制到 /System/Library/filder 将自身复制到 /System/Library/filder

/System/Library/filder /Library/LaunchAgents/folder .plist

通过以下命令卸载 DMG 映像: 为了扩展其功能,Calisto 通过直接修改 TCC.db 文件将自己添加到 Accessibility,这是一种不好的做法,也是防病毒恶意活动的指标。 另一方面,该方法不需要用户交互。 Calisto 允许远程控制受感染的 Mac,它实现了一些功能: 启用远程登录 启用远程登录 启用屏幕共享 启用屏幕共享 配置用户的远程登录权限 配置用户的远程登录权限 允许远程登录所有人 允许远程登录所有人 在 macOS 中启用隐藏的“root”帐户,并设置木马代码中指定的密码 在 macOS 中启用隐藏的“root”帐户,并设置木马代码中指定的密码 命令如下: 请注意,虽然用户“root”存在于 macOS 中,但默认情况下禁用。 有趣的是,重新启动后,Calisto 再次请求用户数据,但这次等待输入实际的 root 密码,之前它已自行更改(root:aGNOStIC7890!!!)。 这是木马原始性的一个标志。

root:aGNOStIC7890

最后,Calisto 尝试将所有数据从 .calisto 文件夹传输到网络犯罪分子的服务器。 但在我们研究的时候,服务器不再响应请求并且似乎被禁用:

.calisto

尝试联系 C&C 服务器 额外功能 Calisto 的静态分析显示未完成和未使用的附加功能: 加载/卸载用于处理 USB 设备的内核扩展 加载/卸载用于处理 USB 设备的内核扩展 用户目录中的数据窃取 用户目录中的数据窃取 删除系统文件 删除系统文件 加载/卸载内核扩展 使用用户目录 删除系统根目录下所有文件 与 Backdoor.OSX.Proton 连接 从概念上讲,Calisto 后门类似于 Backdoor.OSX.Proton 系列的成员: 分发方法类似:它伪装成一个众所周知的防病毒软件(Backdoor.OSX.Proton 以前是在赛门铁克防病毒产品的幌子下发布) 分发方法类似:它伪装成一个众所周知的防病毒软件(Backdoor.OSX.Proton 以前是在赛门铁克防病毒产品的幌子下发布) 木马样本包含“com.proton.calisto.plist”行 木马样本包含“com.proton.calisto.plist”行 像 Backdoor.OSX.Proton 一样,这个木马能够从用户系统中窃取大量的个人数据,包括 Keychain 的内容 像 Backdoor.OSX.Proton 一样,这个木马能够从用户系统中窃取大量的个人数据,包括 Keychain 的内容 总结 Proton 恶意软件系列的所有已知程序都是在 2017 年分发和发现的。我们检测到的 Calisto Trojan 是在 2016 年之前创建的。假设这个木马是由同一作者编写的,它可能是最早的版本之一 Backdoor.OSX.Proton 甚至是原型。后一种假设得到大量未使用和未完全实现的功能的支持。但是,它们在后期版本的 Proton 中已被遗弃。 如何防止感染 Calisto,Proton 家族 始终更新到当前版本的操作系统 始终更新到当前版本的操作系统 永远不要禁用 SIP 永远不要禁用 SIP 仅运行从受信任的来源(例如 App Store)下载的已签名软件 仅运行从受信任的来源(例如 App Store)下载的已签名软件 使用防病毒软件 使用防病毒软件 IOC C2 服务器 40.87.56.192 MD5 DMG image: d7ac1b8113c94567be4a26d214964119 Mach-O executable: 2f38b201f6b368d587323a1bec516e5d 相关附件 这里提供 2 个视频,分别介绍了 PROTON 及 Calisto 这 2 个 RAT 软件的安装与使用 PROTON — Complete macOS Solution For Remote Control & Surveillance PROTON — Complete macOS Solution For Remote Control & Surveillance SentinelOne Detects Calisto, Installing Backdoor on macOS SentinelOne Detects Calisto, Installing Backdoor on macOS https://pan.baidu.com/s/1rAOFT9Y_iAXycOsYdZqlbQ 密码:xs4j