恶意 PyPI“请求”分叉在 PNG 文件中隐藏后门

阅读量57833

发布时间 : 2024-05-14 11:30:22

安全研究人员周五透露,基于流行的“requests”包的恶意 PyPI 包被发现包含隐藏在 PNG 文件中的后门。

据 Libraries.io 称,该包“requests-darwin-lite”是合法“requests”Python 包的一个分支,并于周五发布到开源 Python 存储库 PyPI 。

该包裹很快被 Phylum 的自动风险检测平台检测到,供应链安全公司当天晚些时候就这一可疑发现发布了博文。

“requests-darwin-lite”包的 setup.py 文件包含一个名为“PyInstall”的项目,该项目在安装时执行。 Phylum 研究人员表示,当在 macOS 系统上运行时,PyInstall 会解码并运行一个 base64 编码的命令,该命令会查找特定的系统通用唯一标识符 (UUID),这表明包创建者有特定的预期目标或正在使用该包进行测试。

如果系统的 UUID 与指定的 UUID 匹配,则程序包将从名称与合法“请求”徽标类似的 PNG 文件中读取。这个“docs/_static/requests-sidebar-large.png”文件大约有 17MB,比原来的 300KB 徽标大小大得多,并且隐藏了VirusTotal 上被十多个防病毒程序标记为 OSX/Sliver 后门的Golang 二进制文件。

Sliver是一个类似于 Cobalt Strike 的开源命令与控制 (C2) 框架,旨在供网络安全专业人员用于红队演习。据 Phylum 称,由于与 Cobalt Strike 相比,Sliver 知名度较低且不易被检测到,因此威胁行为者越来越多地使用 Sliver。

“requests-darwin-lite”的创建者将 Sliver 二进制文件添加到 PNG 中,显然是作为一种隐写术形式来掩盖其存在。尽管文件很大且内容不寻常,但该文件仍会被其他软件识别为 PNG,并正常呈现为“请求”徽标给最终用户。

Phylum 研究人员发现该软件包的前两个版本已被原作者删除,并替换为两个后续版本,这些版本在安装时不会尝试运行恶意 Golang 二进制文件 – 事实上,最终版本同时包含 PyInstall 和恶意 PNG研究人员写道,内容物被完全删除,使其变得良性。

无论如何,在 Phylum 团队报告后,“requests-darwin-lite”的所有版本都立即从 PyPI 存储库中删除。据 PePy 称,该软件包在被删除之前总共被下载了 417 次。

Phylum 团队在其博客文章中总结道,在部署后门之前检查系统 UUID 的目的,以及从 PyPI 中删除早期版本的软件包的原因仍然是个谜。

Phylum 研究团队写道:“也许他们保留了带有恶意二进制文件的版本,因为他们打算在其他时间从另一个软件包中依赖它,或者甚至可能从另一个软件中提取它。” “无论哪种方式,我们都看到了攻击者采用更加规避和复杂的技术在开源生态系统中分发恶意软件的又一个例子。”

本文转载自: https://www.scmagazine.com/news/malicious-pypi-requests-fork-hides-backdoor-in-png-file

如若转载,请注明出处:

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66