-
-
黑暗中的隐形威胁:揭示基于PyInstaller的macOS信息窃取者
-
发表于: 2025-5-15 12:04 523
-
在当今数字时代,网络安全问题变得日益突出,而近期针对macOS平台的攻击活动更是引起了广泛关注。Jamf Threat Labs近期发布的一项研究揭示了利用PyInstaller工具打包的恶意软件,这些程序在macOS上伪装得非常隐蔽,利用信息窃取手段对用户进行攻击。这项研究的核心揭示了近年来随着macOS用户数量的增加,网络犯罪分子对这个相对安全平台的目标高度重视,导致新型恶意软件如雨后春笋般涌现。
Jamf Threat Labs的这项研究聚焦于PyInstaller的使用,说明了攻击者如何将Python代码与Mach-O可执行文件捆绑在一起。这一手法最早并不新鲜,但在macOS下以信息窃取者形式出现却属首次。PyInstaller本身是一个合法的开源工具,开发者可以通过它将Python脚本打包成独立的二进制文件,从而运行时无需依赖Python的安装或担心版本兼容性问题。尤其是在Apple自macOS 12.3版本起移除了系统自带的Python后,这一工具的有效性显得尤为重要。然而,攻击者们利用此方法打包恶意程序,无疑是对macOS安全的一大威胁。
随着攻击者对优秀的跨平台开发技术的掌握,恶意软件的传播变得愈发高效。以Jamf Labs发现的一个名为“stl”的可疑Mach-O文件为例,其行为明显显示出其作为信息窃取者的特征。初步分析显示该程序会触发AppleScript对话框,持续提示用户输入密码,直到输入正确为止。同时,该程序也在与一个以“/connect”结尾的域名进行通信,这在其他信息窃取者的样本中也曾被发现。
在静态分析中,研究人员使用了“codesign”命令,确认该样本采用了不支持验证的adhoc签名,从而缺乏有效的签名权限。这一迹象预示着该程序的可疑性,并指出它可能用于隐藏攻击者的身份。此外,使用“/usr/bin/file”命令确认了其编译架构,进一步证实了其为一个支持x86_64和arm64架构的Mach-O FAT二进制文件。攻击者借助PyInstaller的环境特征,在该Mach-O中嵌入了众多与PyInstaller相关的字符串,使其在执行时表现得更为隐蔽。
经过动态分析,研究团队观察到“stl”样本在执行与处理过程中,利用了Apple的安全API进行动态分析,该样本在执行时会通过多个exec事件频繁调用“osascript”进行操作。这一过程虽然初看并未显现出Python代码的执行痕迹,但深入查看其环境变量后不难发现诸多重要信息,包括临时的应用程序目录、被调用的PyInstaller可执行文件路径等。这些信息的捕捉和关联,进一步表明了该程序的真正意图——通过特定的手段从用户系统中提取敏感信息。
为了剖析这一恶意软件的包装和目标,研究团队决定对“stl”样本进行反编译,以确认其恶意代码的真正来源。使用诸如Pyinstxtractor和PyLingual等开源工具对Mach-O进行解包和反编译,最终揭露了一个被恶意行为复杂化的脚本,使用了字符串反转、base85编码、XOR加密等技巧,以此来隐藏Python脚本的真实逻辑。这种层层叠加的混淆技巧,进一步增大了对其分析和捕捉的难度,使得即使是经验丰富的安全专家也难以在第一时间发现其存在。
其最终的能力证明了“stl”作为信息窃取者的灵魂——通过触发用户的密码提示,执行任意的AppleScript,并提取macOS钥匙串中的保存凭证及敏感信息,甚至对文件系统中的加密货币钱包进行扫描并窃取其私钥,从而获取用户的数字资产。正如这项研究所强调的,信息窃取者的增长展示了当前macOS威胁环境中潜藏的日益增加的风险,网络攻击者始终在寻求利用不断演化的新方法来散布这些恶意软件。
尽管目前存在一些检测与防御措施,然而攻击者的发掘与利用方式不断更新。在未来的网络安全视野中,随着更多的技术被应用于网络犯罪中,包括人工智能工具的使用,我们必须保持警惕和透明,尤其是在macOS及其它系统的安全防护方面。Jamf Threat Labs的专家们将继续仔细监测这些新兴技巧,确保保持领先,尽可能避免恶意活动对用户造成损害,同时广大的网络用户也应提高警觉,切实关注自身的安全防护措施,以保护自己的数字生活免于非法侵害。