网络安全研究人员在 Python 包索引(PyPI)仓库中识别出116个恶意软件包,旨在通过定制后门程序感染 Windows 和 Linux 系统。
ESET 的研究人员 Marc-Etienne M.Léveillé 和 Rene Holt 在本周早些时候发布的一份报告中表示:“在某些情况下,最终的有效载荷是臭名昭著的 W4SP Stealer 的变体,和一个简单的剪贴板监控器用于窃取加密货币,或者两者兼而有之。”
这些软件包自2023年5月就已经存在,目前初步估计已被下载超过1万次。
该活动背后的恶意行为者已经被发现,至少使用了三种技术将恶意代码打包进 Python 包,即通过 test.py 脚本、在 setup.py 文件中嵌入 PowerShell,以及在 __init__.py 文件中以加密形式嵌入。
不管使用哪种方法,这次活动的最终目的都是通过恶意软件感染目标主机,主要是一个能够远程执行命令、数据窃取和截屏的后门。后门模块在 Windows 上用 Python 实现,在 Linux 上则用 Go 实现。
此外,攻击链还会导致 W4SP Stealer 或剪贴板监控恶意软件的部署,这些恶意软件旨在密切关注受害者的剪贴板活动,并在存在的情况下,将原始钱包地址替换为攻击者控制的地址。
这一发展是攻击者发布受损 Python 包以毒害开源生态系统和分发各种恶意软件进行供应链攻击的一系列事件中的最新一起。这也是通过 PyPI 包作为分发窃取型恶意软件的隐秘渠道的稳定流中的最新添加。2023年5月,ESET 揭露了另一组旨在传播以 W4SP Stealer 为特征的 Sordeal Stealer 的库。
然后,上个月,伪装成看似无害的混淆工具的恶意软件包被发现部署了一个名为 BlazeStealer 的窃取型恶意软件。研究人员警告说:“Python 开发人员在将代码安装到他们的系统上之前,应彻底审查他们下载的代码,特别是检查这些技术。”
这一披露也是在发现 npm 包的后续行动中,这些 npm 包被发现是针对一个未具名金融机构的“高级对手模拟演习”的一部分。为了保护该组织的身份,模块的名称包含了一个加密的数据块,已被保留。
软件供应链安全公司 Phylum 上周披露:“这个解密的有效载荷包含一个嵌入的二进制文件,巧妙地将用户凭据窃取到目标公司内部的一个 Microsoft Teams webhook。”