Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Bảo Trì Máy Tính

Bảo vệ Mac của bạn: Cách phát hiện và gỡ bỏ mã độc Silver Sparrow mới

Nếu bạn nghĩ Mac của bạn an toàn trước mã độc, hãy suy nghĩ lại. Tác giả mã độc đã trở nên thành thạo trong việc khai thác lỗ hổng của nhiều nền tảng, bao gồm macOS. Điều này thể hiện qua các đợt nhiễm mã độc trước đây nhắm vào Mac, bao gồm mã độc Shlayer và mã độc Top Results.

Silver Sparrow macOS Malware là gì?

Gần đây, các nhà nghiên cứu bảo mật Red Canary, Malwarebytes và VMware Carbon Black đã phát hiện một mã độc macOS mới đã 감染超过 40,000 Mac 全球。此新威胁被命名为 Silver Sparrow。根据 Malwarebytes,恶意软件已蔓延至 153 个国家,其中美国、英国、加拿大、法国和德国感染浓度最高。目前尚不清楚这 40,000 台中有多少是 M1 Mac,我们也不确切知道分布情况。

研究人员注意到,即使 Silver Sparrow 对受感染设备构成合理严重的威胁,但它表现出的恶意行为并非人们通常从常见的 macOS 广告软件中预期的。这使得恶意软件更加令人困惑,因为安全专家不知道该恶意软件的设计目的是什么。

然而,研究人员注意到,恶意软件随时准备交付恶意负载。经调查,Silver Sparrow macOS 恶意软件株从未在受感染设备上交付恶意负载,但他们警告受影响的 Mac 用户,尽管其休眠行为,它仍构成重大风险。

虽然研究人员尚未观察到 Silver Sparrow 交付额外的恶意负载,但其 M1 芯片兼容性、全球覆盖范围、高感染率和操作成熟度使 Silver Sparrow 成为一个合理严重的威胁。安全专家还发现 Mac 恶意软件兼容 Intel 和 Apple Silicon 处理器。

以下是 Silver Sparrow 恶意软件演变的大致时间线:

  • 2020 年 8 月 18 日: 恶意软件版本 1 (非 M1 版本) 回调域名 api.mobiletraits[.]com 创建
  • 2020 年 8 月 31 日: 恶意软件版本 1 (非 M1 版本) 提交到 VirusTotal
  • 2020 年 9 月 2 日: 版本 2 执行期间看到的 version.json 文件提交到 VirusTotal
  • 2020 年 12 月 5 日: 恶意软件版本 2 (M1 版本) 回调域名 api.specialattributes[.]com 创建
  • 2021 年 1 月 22 日: 包含 M1 二进制文件的 PKG 文件版本 2 提交到 VirusTotal
  • 2021 年 1 月 26 日: Red Canary 检测到 Silver Sparrow 恶意软件版本 1
  • 2021 年 2 月 9 日: Red Canary 检测到 Silver Sparrow 恶意软件版本 2 (M1 版本)

Silver Sparrow 恶意软件做什么?

安全公司 Red Canary 发现针对配备新 M1 处理器的 Mac 的新恶意软件。该恶意软件名为 Silver Sparrow,并使用 macOS Installer Javascript API 执行命令。以下是您需要知道的。

没有人确切知道。一旦进入 Mac,Silver Sparrow 每小时连接一次服务器。安全研究人员担心它可能正在为大规模攻击做准备。

安全公司 Red Canary 认为,虽然 Silver Sparrow 尚未交付恶意负载,但它可能构成相当严重的威胁。

该恶意软件因在 Apple 的 M1 芯片上运行而引人注目。这并不一定表明罪犯专门针对 M1 Mac,而表明 M1 Mac 和 Intel Mac 都可能被感染。

已知的是,受感染的计算机每小时联系一次服务器,因此它可能是为大规模攻击做某种形式的准备。

恶意软件使用 Mac OS Installer Javascript API 执行命令。

安全公司至今无法确定命令如何导致进一步的任何事情,因此 Silver Sparrow 构成威胁的程度仍未知。然而,安全公司仍认为该恶意软件很严重。

在 Apple 方面,公司已吊销用于签署与 Silver Sparrow 恶意软件相关的包的证书。

尽管 Apple 的公证服务,macOS 恶意软件开发者已成功针对苹果产品,包括那些使用最新 ARM 芯片的产品,如 MacBook Pro、MacBook Air 和 Mac Mini。

Apple 声称拥有"行业领先"的用户保护机制,但恶意软件威胁不断重现。

确实,威胁行为者似乎已经领先一步,在 M1 芯片初期就将其作为目标。这尽管许多合法开发者尚未将其应用程序移植到新平台。

Silver Sparrow macOS 恶意软件附带 Intel 和 ARM 二进制文件,使用 AWS 和 Akamai CDN

研究人员在 "Clipping Silver Sparrow's wings: Outing macOS malware before it takes flight" 博客文章中解释了 Silver Sparrow 的操作。

新的恶意软件存在于两个二进制文件中:针对 Intel x86_64 处理器的 Mach-object 格式和专为 M1 Mac 设计的 Mach-O 二进制文件。

macOS 恶意软件通过名为 "update.pkg" 或 "updater.pkg" 的 Apple 安装程序包安装。

存档包含在安装脚本执行前运行的 JavaScript 代码,提示用户允许程序"确定软件是否可以安装"。

如果用户接受,JavaScript 代码将安装名为 verx.sh 的脚本。根据 Malwarebytes,此时中止安装过程徒劳无功,因为系统已被感染。

安装后,脚本每小时联系一次命令与控制服务器,检查要执行的命令或二进制文件。

命令与控制中心运行在 Amazon Web Services (AWS) 和 Akamai 内容分发网络 (CDN) 基础设施上。研究人员表示,使用云基础设施使病毒更难阻止。

令人惊讶的是,研究人员未检测到最终负载的部署,因此恶意软件的最终目标仍是一个谜。

他们指出,也许恶意软件正在等待满足某些条件。同样,它可能检测到正在被安全研究人员监控,从而避免部署恶意负载。

执行时,Intel x86_64 二进制文件打印 "Hello World",而 Mach-O 二进制文件显示 "You did it!"

研究人员将它们命名为"旁观者二进制文件",因为它们未表现出任何恶意行为。此外,macOS 恶意软件具有自我删除机制,增加了其隐蔽能力。

然而,他们注意到自我删除功能从未在任何受感染设备上使用过。恶意软件还在安装后搜索其下载的源 URL。他们辩称,恶意软件开发者希望追踪哪个分发渠道最有效。

网络犯罪分子定义他们的攻击规则,而我们要负责防御他们的战术,即使那些战术不完全清楚。这就是 Silver Sparrow 的情况,新发现的针对 macOS 的恶意软件。目前,它似乎没有做太可怕的事,但它可以提供我们应该防御的战术见解。

Silver Sparrow 恶意软件的技术规格

根据研究人员的调查,Silver Sparrow 恶意软件有两个版本,称为"版本 1"和"版本 2"。

恶意软件版本 1

  • 文件名: updater.pkg (v1 安装包)
  • MD5: 30c9bc7d40454e501c358f77449071aa

恶意软件版本 2

  • 文件名: update.pkg (v2 安装包)
  • MD5: fdd6fb2b1dfe07b0e57d4cbfef9c8149

除了下载 URL 和脚本注释的变化外,两个恶意软件版本只有一个主要区别。第一版涉及仅针对 Intel x86_64 架构编译的 Mach-O 二进制文件,而第二版包含针对 Intel x86_64 和 M1 ARM64 架构编译的 Mach-O 二进制文件。这很重要,因为 M1 ARM64 架构是新的,且为新平台发现的威胁非常少。

编译的 Mach-O 二进制文件似乎什么也不做,所以它们被称为"旁观者二进制文件"。

Silver Sparrow 是如何分发的?

根据报告,许多 macOS 威胁通过恶意广告分发,以 PKG 或 DMG 形式作为单个独立安装程序,伪装成合法应用程序——如 Adobe Flash Player——或更新。然而,在这种情况下,攻击者在两个不同的包中分发恶意软件:updater.pkg 和 update.pkg。两个版本使用相同的技术执行,仅在旁观者二进制文件的编译上有所不同。

Silver Sparrow 的一个独特之处在于,其安装程序包利用 macOS Installer JavaScript API 执行可疑命令。虽然一些合法软件也在这样做,但这是恶意软件首次这样做。这偏离了我们通常在恶意 macOS 安装程序中观察到的行为,后者通常使用 preinstall 或 postinstall 脚本执行命令。在 preinstall 和 postinstall 情况下,安装会产生如下特定的遥测模式:

  • 父进程: package_script_service
  • 进程: bash, zsh, sh, Python 或其他解释器
  • 命令行: 包含 preinstall 或 postinstall

这种遥测模式本身不是恶意性的特别高保真指标,因为即使合法软件也使用脚本,但它确实可靠地识别使用 preinstall 和 postinstall 脚本的安装程序。Silver Sparrow 通过在包文件的 Distribution 定义 XML 文件中包含 JavaScript 命令,与我们预期从恶意 macOS 安装程序中看到的不同。这产生了不同的遥测模式:

  • 父进程: Installer
  • 进程: bash

与 preinstall 和 postinstall 脚本一样,这种遥测模式本身不足以识别恶意行为。Preinstall 和 postinstall 脚本包含命令行参数,提供关于实际执行内容的线索。另一方面,恶意 JavaScript 命令使用合法的 macOS Installer 进程运行,并且几乎无法看到安装包的内容或该包如何使用 JavaScript 命令。

我们知道恶意软件是通过名为 update.pkg 或 updater.pkg 的 Apple 安装程序包 (.pkg 文件) 安装的。然而,我们不知道这些文件是如何交付给用户的。

这些 .pkg 文件包含 JavaScript 代码,以这样的方式,代码会在安装真正开始之前最开始运行。然后会询问用户是否要允许程序运行"以确定软件是否可以安装"。

Silver Sparrow 的安装程序告诉用户:

"此包将运行一个程序以确定软件是否可以安装。"

这意味着,如果您点击 Continue(继续),但随后想得更好并退出安装程序,那就太晚了。您已经被感染了。

恶意活动的另一个迹象是 PlistBuddy 进程在您的 Mac 上创建 LaunchAgent。

LaunchAgents 提供了一种指示 launchd (macOS 初始化系统) 定期或自动执行任务的方法。它们可以由端点上的任何用户编写,但通常也将作为编写它们的用户执行。

在 macOS 上有多种创建属性列表的方法,有时黑客使用不同的方法来实现他们的需求。其中一种方法是通过 PlistBuddy,一个允许您在端点上创建各种属性列表(包括 LaunchAgents)的内置工具。有时黑客转向 PlistBuddy 以建立持久性,这样做使防御者能够轻松使用 EDR 检查 LaunchAgent 的内容,因为文件的所有属性在写入前都在命令行上显示。

在 Silver Sparrow 的案例中,这些是写入 plist 内容的命令:

  • PlistBuddy -c "Add :Label string init_verx" ~/Library/Launchagents/init_verx.plist
  • PlistBuddy -c "Add :RunAtLoad bool true" ~/Library/Launchagents/init_verx.plist
  • PlistBuddy -c "Add :StartInterval integer 3600" ~/Library/Launchagents/init_verx.plist
  • PlistBuddy -c "Add :ProgramArguments array" ~/Library/Launchagents/init_verx.plist
  • PlistBuddy -c "Add :ProgramArguments:0 string '/bin/sh'" ~/Library/Launchagents/init_verx.plist
  • PlistBuddy -c "Add :ProgramArguments:1 string -c" ~/Library/Launchagents/init_verx.plist

LaunchAgent Plist XML 将类似于以下内容:

Label
init_verx
RunAtLoad
true
StartInterval
3600
ProgramArguments
'/bin/sh'
-c
"~/Library/Application\\ Support/verx_updater/verx.sh" [timestamp] [data from plist downloaded]

Silver Sparrow 还包括一个文件检查,通过检查 ~/Library/._insu 在磁盘上的存在,导致删除所有持久性机制和脚本。如果文件存在,Silver Sparrow 会从端点删除其所有组件。Malwarebytes 报告的哈希值 (d41d8cd98f00b204e9800998ecf8427e) 表明 ._insu 文件为空。

if [ -f ~/Library/._insu ]
then
rm ~/Library/Launchagents/verx.plist
rm ~/Library/Launchagents/init_verx.plist
rm /tmp/version.json
rm /tmp/version.plist
rm /tmp/verx
rm -r ~/Library/Application\\ Support/verx_updater
rm /tmp/agent.sh
launchctl remove init_verx

在安装结束时,Silver Sparrow 执行两个发现命令,以构建数据用于 curl HTTP POST 请求,指示安装已发生。一个检索系统 UUID 用于报告,第二个查找用于下载原始包文件的 URL。

通过执行 sqlite3 查询,恶意软件找到 PKG 下载的原始 URL,给网络犯罪分子一个成功分发渠道的概念。我们通常在 macOS 上的恶意广告软件中看到这种活动: sqlite3 sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent where LSQuarantineDataURLString like "[redacted]" order by LSQuarantineTimeStamp desc'

如何从 Mac 中删除 Silver Sparrow 恶意软件

Apple 迅速采取措施覆盖允许安装 Silver Sparrow 恶意软件的开发者证书。因此,进一步的安装应该不再可能。

Apple 的客户通常受到恶意软件保护,因为 Mac App Store 之外下载的所有软件都需要公证。在这种情况下,似乎恶意软件编写者设法获得了用于签署包的证书。

没有此证书,恶意软件无法再感染更多计算机。

检测 Silver Sparrow 的另一种方法是搜索指示器的存在,以确认您正在处理 Silver Sparrow 感染还是其他内容:

  • 寻找一个似乎是 PlistBuddy 执行的进程,结合包含以下内容的命令行: LaunchAgents 和 RunAtLoad 和 true。此分析有助于发现建立 LaunchAgent 持久性的多个 macOS 恶意软件家族。
  • 寻找一个似乎是 sqlite3 执行的进程,结合包含: LSQuarantine 的命令行。此分析有助于发现操纵或搜索已下载文件元数据的多个 macOS 恶意软件家族。
  • 寻找一个似乎是 curl 执行的进程,结合包含: s3.amazonaws.com 的命令行。此分析有助于发现使用 S3 存储桶进行分发的多个 macOS 恶意软件家族。

这些文件的存在也表明您的设备已被 Silver Sparrow 恶意软件版本 1 或版本 2 入侵:

  • ~/Library/._insu (用于向恶意软件发出删除自身信号的空文件)
  • /tmp/agent.sh (为安装回调执行的 shell 脚本)
  • /tmp/version.json (从 S3 下载的文件,用于确定执行流程)
  • /tmp/version.plist (version.json 转换为属性列表)

对于恶意软件版本 1:

  • 文件名: updater.pkg (v1 安装包) 或 updater (v1 包中的旁观者 Mach-O Intel 二进制文件)
  • MD5: 30c9bc7d40454e501c358f77449071aa 或 c668003c9c5b1689ba47a431512b03cc
  • s3.amazonaws[.]com (存放 v1 version.json 的 S3 存储桶)
  • ~/Library/Application Support/agent_updater/agent.sh (每小时执行的 v1 脚本)
  • /tmp/agent (如果分发,包含最终 v1 负载的文件)
  • ~/Library/Launchagents/agent.plist (v1 持久性机制)
  • ~/Library/Launchagents/init_agent.plist (v1 持久性机制)
  • 开发者 ID Saotia Seay (5834W6MYX3) – v1 旁观者二进制签名被 Apple 吊销

对于恶意软件版本 2:

  • 文件名: update.pkg (v2 安装包) 或 tasker.app/Contents/MacOS/tasker (v2 包中的旁观者 Mach-O Intel & M1 二进制文件)
  • MD5: fdd6fb2b1dfe07b0e57d4cbfef9c8149 或 b370191228fef82635e39a137be470af
  • s3.amazonaws[.]com (存放 v2 version.json 的 S3 存储桶)
  • ~/Library/Application Support/verx_updater/verx.sh (每小时执行的 v2 脚本)
  • /tmp/verx (如果分发,包含最终 v2 负载的文件)
  • ~/Library/Launchagents/verx.plist (v2 持久性机制)
  • ~/Library/Launchagents/init_verx.plist (v2 持久性机制)
  • 开发者 ID Julie Willey (MSZ3ZH74RK) – v2 旁观者二进制签名被 Apple 吊销

要删除 Silver Sparrow 恶意软件,您可以执行以下步骤:

1. 使用反恶意软件扫描。

对抗计算机上恶意软件的最佳防御将始终是可靠的反恶意软件,如 Outbyte AVarmor。原因很简单,反恶意软件扫描您的整个计算机,定位并删除任何可疑程序,无论它们隐藏得多好。手动删除恶意软件可能有效,但总有可能遗漏某些东西。好的反恶意软件程序不会。

2. 删除 Silver Sparrow 程序、文件和文件夹。

要在 Mac 上删除 Silver Sparrow 恶意软件,首先导航到 Activity Monitor (活动监视器) 并终止任何可疑进程。否则,当您尝试删除时,您会收到错误消息。要进入 Activity Monitor,请执行以下步骤:

  1. 打开 Finder。
  2. 前往 Applications > Utilities > Activity Monitor。
  3. 在 Activity Monitor 上,查看正在运行的进程。如果有任何看起来可疑或不熟悉,请退出它。为了进一步审查进程,您可以用鼠标高亮它并右键点击以查看文件位置。

删除任何可疑程序后,您还必须删除与恶意软件相关的文件和文件夹。以下是要采取的步骤:

  1. 使用 Finder 的 Go to Folder 选项,导航到 /Library/LaunchAgents 文件夹。在此文件夹中,查找任何与 Silver Sparrow 相关的可疑文件。此类文件的示例包括 "myppes.download.plist"、"mykotlerino.ltvbit.plist" 和 "installmac.AppRemoval.plist"。为了帮助识别,请查找具有公共字符串的文件。
  2. 使用 Finder 导航到 /Library/Application Support 文件夹。在这里,查找可疑文件,特别是与您使用 Applications 应用程序删除的应用程序相关的文件。删除这些将阻止 Silver Sparrow 未来再次出现。
  3. 导航到 /Library/LaunchDaemons 文件夹并查找任何可疑文件。与 Silver Sparrow 恶意软件相关的可疑文件示例包括 "com.myppes.net-preferences.plist"、"com.kuklorest.net-preferences.plist"、"com.aoudad.net-preferences.plist" 和 "com.avickUpd.plist"。将这些文件移至垃圾箱。

3. 卸载任何 Silver Sparrow 浏览器扩展(如适用)。

在从计算机硬盘手动删除恶意软件后,您还需要卸载任何 Top Results 浏览器扩展。转到浏览器的 Settings > Extensions 并删除任何您不熟悉的扩展。或者,您可以将浏览器重置为默认设置,因为这也将删除任何扩展。

Tóm tắt

Silver Sparrow 恶意软件仍然神秘,因为它即使在很长一段时间后也不下载额外的负载。这意味着我们不知道恶意软件的设计目的,使 Mac 用户和安全专家对其意图感到困惑。尽管缺乏恶意活动,恶意软件本身的存在对受感染设备构成威胁。因此,应立即删除它并清除所有痕迹。