新型macOS恶意软件PamStealer采用多重隐蔽技术窃取凭证

安全研究人员发现一款全新macOS恶意软件PamStealer,伪装成剪贴板管理工具Maccy传播。该恶意软件采用两阶段感染机制:第一阶段通过AppleScript绕过macOS隔离属性;第二阶段使用Rust编写的窃密程序,利用PAM接口在本地验证用户密码,避免调用常见系统命令以规避检测。此外,该软件还伪装成Finder进程,延迟触发权限请求,并加密C2通信流量,具有极强的隐蔽性。

安全研究人员发现了一款从未见过的macOS恶意软件,该软件综合运用多种巧妙的攻击手法,将具有高度隐蔽性的自定义凭证窃取代码植入Mac系统。

该恶意软件分两个阶段传播。第一阶段通过伪装成Mac剪贴板管理工具Maccy的磁盘镜像文件进行分发,以AppleScript形式编译,其第二阶段的投递方式尤为值得关注。该恶意软件被命名为PamStealer,因为其用Rust编写的信息窃取程序,利用macOS内置的可插拔认证模块(PAM)接口验证目标登录密码,随后将其发送至攻击者控制的服务器。

磁盘镜像与AppleScript的组合使用在Mac恶意软件中较为常见,但PamStealer将两者结合以增强隐蔽性的方式则更为少见。当用户双击AppleScript文件时,它会在macOS脚本编辑器中打开,恶意功能深度隐藏于文件内部。

专注于macOS安全的公司Jamf的研究人员表示:"该AppleScript并未依赖curl或zsh等Shell命令,而是执行一个自包含的JavaScript自动化(JXA)下载器,通过原生Objective-C API获取并部署载荷。结合基于Rust的第二阶段模块以及通过PAM在本地验证凭证的密码捕获流程,最终形成的执行链比我们通常在普通macOS窃取软件中观察到的更为隐蔽。"

当用户以为正在安装可信赖的剪贴板管理工具并打开磁盘镜像时,系统会提示其在双击后立即按下Command-R组合键。此操作会直接执行AppleScript中的恶意代码,同时绕过com.apple.quarantine机制——该机制原本会在可执行文件从互联网下载时发出警告并施加限制。

Jamf对此进行了详细说明:PamStealer将一种新兴的投递方式与不太常见的载荷相结合。尽管可点击的.scpt文件和脚本编辑器诱导手法已在macOS威胁场景中逐渐被采用,但该恶意软件凭借自包含的JXA投放器、基于Rust的第二阶段模块,以及在收集密码前通过PAM进行本地验证的密码捕获流程,使其区别于同类软件。第二阶段在保持隐蔽方面下了相当大的功夫:伪装成Finder进程、加密命令与控制流量,并将"完全磁盘访问"等权限请求延迟长达40分钟后才弹出,以避免其活动与启动时间相关联。这些行为共同表明,普通macOS窃取软件仍在持续演进,采用更为隐蔽的执行链和原生实现方式,在减少传统检测机会的同时,与标准macOS功能保持兼容。

第一阶段将载荷嵌入一个仿冒macOS内置组件的应用程序包中,具体组件因恶意软件样本不同而有所差异。例如,位于com.apple.finder.core或com.apple.finder.monitor路径下的Finder.app,以及位于com.apple.security.daemon路径下的Software Update.app。这些进程均以隐藏方式运行,并使用macOS原生的Finder.icns作为图标。

第二阶段是一个专为搭载Apple芯片的Mac编写的精简Mach-O文件。攻击者选择用Rust编写该文件,这在macOS信息窃取软件中相对少见,更常见的选择是Swift、Go和Objective-C。该二进制文件调用内置SQLite应用的读取接口,使信息窃取程序能够直接读取数据库文件。

PamStealer会显示一个仿照系统授权请求设计的原生密码提示框,提示文字为:"Maccy想要进行更改,请输入密码以允许此操作。"如前所述,一旦目标用户遵从提示,恶意软件便通过PAM API在本地对密码进行验证。

Jamf指出:"整个验证过程完全通过PAM完成,不会调用dscl、security、osascript或任何衍生进程来核验密码,而许多普通macOS窃取软件都会这样做。这使整个流程更加隐蔽,只保留经过验证的密码,同时减少了防御者可检测到的进程链。"

若验证失败,PamStealer将反复显示提示框,直至获取正确密码。密码验证成功后,PamStealer会显示一条提示,称文件已损坏、无法安装,以此迷惑目标用户,使其不起疑心。

该恶意软件还通过多种手段最大化窃取信息的范围:一方面请求目标用户授予假冒Maccy应用完全磁盘访问权限,另一方面还包含专门用于访问以太坊账户的代码。

脚本编辑器诱导手法、自包含的JXA投放器、基于Rust的第二阶段模块以及通过PAM进行本地凭证验证——这些技术手段均值得高度关注。

Jamf总结道:"这些行为共同表明,普通macOS窃取软件仍在持续演进,采用更隐蔽的执行链和原生实现方式,在降低传统检测可能性的同时,与标准macOS功能保持兼容。"

Q&A

Q1:PamStealer是什么类型的恶意软件?它是如何感染Mac的?

A:PamStealer是一款针对macOS的信息窃取恶意软件,分两个阶段传播。第一阶段伪装成Mac剪贴板管理工具Maccy的磁盘镜像文件,以AppleScript形式存在;第二阶段是用Rust编写的信息窃取程序。用户双击文件并按下Command-R后,恶意代码即被执行,同时绕过macOS的安全隔离机制,完成整个感染流程。

Q2:PamStealer是如何窃取用户密码的?

A:PamStealer会弹出一个仿照系统授权请求设计的假冒密码提示框,提示用户输入密码。与其他窃取软件不同,PamStealer完全通过macOS内置的PAM接口在本地验证密码,不调用任何外部命令或衍生进程,使得整个验证过程极为隐蔽。密码验证成功后,恶意软件会将其发送至攻击者控制的服务器,并显示"文件已损坏"的虚假提示以消除用户疑虑。

Q3:PamStealer如何躲避macOS的安全检测?

A:PamStealer采用多重隐蔽手段:伪装成Finder等系统内置组件运行、加密命令与控制流量、将权限请求延迟40分钟后才弹出以避免与启动时间关联,同时利用Command-R组合键绕过com.apple.quarantine安全隔离机制。此外,使用原生JXA和Rust实现,也使其更难被传统检测工具识别。

来源:ArsTechnica

0赞

好文章,需要你的鼓励

2026

07/14

18:19

分享

点赞

邮件订阅