网络安全研究人员已经发现了一个恶意的 Python 包,该包声称是流行的请求库的一个分支,并被发现在项目徽标的 PNG 图像中隐藏了 Sliver 命令和控制 (C2) 框架的 Golang 版本。
采用这种隐写技巧的软件包是 requests-darwin-lite,在从 Python 软件包索引 (PyPI) 注册表中删除之前,它已被下载了 417 次。
软件供应链安全公司 Phylum 表示,Requests-darwin-lite “似乎是广受欢迎的请求包的一个分支,但有一些关键区别,最值得注意的是,在实际请求侧边栏 PNG 徽标的大版本中包含了一个恶意的 Go 二进制文件。
这些更改已在软件包的 setup.py 文件中引入,该文件已配置为解码并执行 Base64 编码的命令以收集系统的通用唯一标识符 (UUID),但前提是确认受感染的主机正在运行 Apple macOS。
这一发现也是在该公司发现一个名为 vue2util 的流氓 npm 包一个多月后发现的,该包伪装成辅助工具,但旨在执行加密劫持计划并窃取受害者的 USDT 代币。
Phylum 指出,该软件包“利用 ERC20 合约 (USDT) 审批机制,暗中授予攻击者合约地址的无限批准,有效地允许攻击者耗尽受害者的 USDT 代币。
有趣的是,只有当标识符与特定值匹配时,感染链才会继续进行,这意味着包背后的作者正在寻求破坏他们已经拥有通过其他方式获得的标识符的特定机器。
这引发了两种可能性:要么是高度针对性的攻击,要么是更广泛的活动之前的某种测试过程。
如果 UUID 匹配,requests-darwin-lite 将继续从名为“requests-sidebar-large.png”的 PNG 文件中读取数据,该文件与带有名为“requests-sidebar.png”的类似文件的合法请求包相似。
这里的不同之处在于,虽然嵌入在请求中的真实徽标的文件大小为 300 kB,但 requests-darwin-lite 中包含的文件大小约为 17 MB。
隐藏在 PNG 图像中的二进制数据是基于 Golang 的 Sliver,这是一个开源的 C2 框架,旨在供安全专业人员在其红队运营中使用。
该软件包的确切最终目标目前尚不清楚,但这一发展再次表明,开源生态系统仍然是分发恶意软件的有吸引力的载体。
由于绝大多数代码库都依赖于开源代码,恶意软件不断涌入 npm、PyPI 和其他软件包注册表,更不用说最近的 XZ Utils 事件了,这凸显了以系统的方式解决问题的必要性,否则可能会“破坏大量网络”。
来源:【黑客新闻网】
原文始发于微信公众号(船山信安):恶意 Python 包在虚假请求库徽标中隐藏了 Sliver C2 框架
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论