CloudGuard Spectral 在 PyPI上检测到多个恶意包
2022-8-10 12:0:0 Author: www.4hou.com(查看原文) 阅读量:12 收藏

1.CloudGuard Spectral 在 PyPI 上检测到 10 个恶意包,pypi 是 Python Package Index 的首字母简写,其实表示的是 Python 的 Packag 索引,这个也是 Python 的官方索引;

2.恶意程序包安装信息窃取程序,使攻击者能够窃取开发人员的私人数据和个人凭据;

3.一旦检测到,CPR 就会披露这些信息并提醒 PyPI 这些包裹,稍后将被 PyPI 删除;

4.CPR 敦促用户注意这些包裹。

PyPI 是领先的 Python 存储库,是 Python 用户最常用的存储库。每个 Python 开发者都熟悉“pip install”日常程序,以提供他们所需的python软件。

Pypi 帮助开发人员查找和安装由该社区其他开发人员开发和共享的软件。该平台目前是免费的,开发人员每天都使用该存储库。截止目前,Pypi有超过612240名活跃用户,参与391325个项目,发布了3664724个版本。

许多用户没有意识到这样一个事实,这一简单的命令会使他们面临更高的风险。 pip install 命令触发包安装,其中可以包含一个setup.py脚本。此脚本可以包含 Python 片段,以在目标安装程序的计算上完成所需的安装过程。黑客利用该特性将恶意代码作为安装脚本的一部分,这些代码在用户的设备上秘密运行而不被发现。在这种情况下,必须要做好防护,因为这类攻击通常会获取非常关键的数据点,如密码和Api令牌。此外,此类攻击正在增加。一个相关的例子是最近的pygrata攻击,恶意软件包被用来窃取AWS(亚马逊网络服务)密钥和环境变量,这是供应链攻击的一部分。需要注意的是,攻击者并没有等待,正如你将看到的,相同的攻击者似乎已经生成了针对PyPI用户的新活动。我们检测到的包的详细信息会在本文中进行详细的描述。

Ascii2text

Ascii2text是一个恶意程序包,仅通过名称和描述模仿流行的程序包。有趣的是,他们非常聪明地复制了除了发布部分的整个项目描述,从而防止用户意识到这是一个假包。

1.png

假冒的ascii2text描述VS原始包描述

包恶意部分在包__init__.py文件中,由setup.py安装脚本导入。__init__.py文件中的代码负责下载和执行一个恶意脚本,该脚本会搜索本地密码并使用discord web hook上传它们。

2.jpg

__init__.py中的恶意代码片段

3.jpg

它下载的恶意脚本

Pyg-utils、Pymocks 和 PyProto2

Pyg-utils似乎是最近Pygrata活动的产物,该活动的目的是获取用户的AWS证书。作为setup.py安装的一部分,Pyg-utils会连接到相同的恶意域名(pygrata.com),该域名可能是网络钓鱼攻击的基础设施。有趣的是,Pymocks和PyProto2具有几乎相同的代码,但针对的是不同的域——pymocks.com。Pyg-utils是在15/6发布的,Pyg-utils 于6月 15日发布,Pymocks 和 PyProto 发布的时间较晚(分别为 6月 24 日和  7月4 日)。Pymocks.com域名也是在同一天( 6月 24 日)创建的。因此,假设所有这些包都是由同一个恶意的攻击者制作的,这可能是出于 Pyg-utils 隐藏并决定复制并重新触发他们的恶意活动这一事实的动机。

4.png

Pyg-utils恶意的setup.py文件出现在几乎相同的pymock和PyProto2文件旁

Test-async

Test-async在其描述中被描述为“非常酷的测试包,非常有用,每个人都需要100%的测试”。在它的setup.py安装脚本中,它从网上下载并执行可能是恶意的代码。有趣的是,在下载该片段之前,它会通知 Discord 频道“新运行”已开始。

5.jpg

测试async setup.py安装脚本

Free-net-vpn

Free-net-vpn和Free-net-vpn2是针对环境变量的恶意包。在setup.py安装脚本中有一个干净的、有文档记录的代码,以获取用户的凭证(甚至黑客也在关注代码标准)。然后,这些秘密被发布到动态DNS映射服务映射的网站。

6.jpg

free-net-vpn setup.py 安装脚本

Zlibsrc

zlibsrc 包可能试图将合法用户与流行的 Python 内置 zlib 包混淆。在其 setup.py 脚本中,它会在安装过程中下载并运行恶意文件。

7.jpg

Zlibsrc __init__ . py脚本

Browserdiv

Browserdiv 是一个恶意程序包,其目的是通过收集安装程序凭据并将其发送到预定义的不和谐 webhook 来窃取安装程序凭据。有趣的是,虽然根据它的命名,它似乎针对与网页设计相关的编程(bowser、div),但根据它的描述,该软件包的动机是允许在 discord 中使用 selfbot。

8.jpg

Browserdiv setup.py安装脚本

WINRPCexploit

一个恶意的包,窃取用户的凭证作为其setup.py安装脚本的一部分,有趣的是,根据其描述,它是一个“利用 windows RPC 漏洞的包”,实际上它只是窃取了安装程序的凭据。

9.jpg

WINRPCexploit setup.py安装脚本

供应链攻击旨在利用组织和外部各方之间的信任关系。这些关系可能包括合作伙伴关系、供应商关系或第三方软件的使用。攻击者会破坏一个组织,然后向供应链上游扩散,利用这些可信的关系进入其他组织的环境。近年来,这样的攻击变得越来越频繁,影响也越来越大,因此,开发人员必须确保他们的行动是安全的,反复检查使用中的每一个软件成分,尤其是从不同的存储库下载的软件,特别是那些不是自己创建的。

本文翻译自:https://research.checkpoint.com/2022/cloudguard-spectral-detects-several-malicious-packages-on-pypi-the-official-software-repository-for-python-developers/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/l6Dg
如有侵权请联系:admin#unsafe.sh