主页 > imtoken新版下载 > PyPI发现12个恶意类库包,可开启后门甚至窃取比特币,已删除

PyPI发现12个恶意类库包,可开启后门甚至窃取比特币,已删除

imtoken新版下载 2023-02-02 05:39:15

PyPI发现12个恶意类库包,可开启后门甚至窃取比特币,已删除

1.png

近日,软件安全研究人员在Python Package Index(PyPI)上发现了12个恶意库,其中包含可导致安全隐患、开启后门甚至窃取比特币的恶意代码。

这一发现是由安全研究员 Bertus 在对 PyPI 进行安全扫描时发现的。 两次共发现12个问题软件包,已被官方删除。 今天虫虫就和大家一起来了解一下这些恶意攻击注入的方法和原理。

攻击方式及涉及的包

这些类包都使用相同的模式打包。 第一种是通过复制一个流行包的代码来创建一个新的库,具有相似但不同的名称。 例如,有问题的四个包名称是:diango、djago、dajngo 和 djanga 都模仿了 Django,这是一个非常流行的 Python Web 框架的名称。 然后在库源代码的一些文件中注入恶意代码,主要在安装文件setup.py中。 Setup.py 文件包含一组指令,这些指令在 Python 项目中下载和设置新包时由 Python 库安装程序(例如“pip”)自动执行。 这些有问题的库添加了额外的指令来执行各种恶意操作,并且每个库都有不同的内容。

2.png

Bertus 在 10 月 13 日发现了前 11 个恶意软件包(见下表),并在 10 月 21 日发现了另一个恶意软件包。

3.png

这些恶意库会尝试从受感染机器的环境中收集数据类似比特币的还有什么,将其添加到自动启动中,并打开反向 shell 后门。 一旦激活,恶意攻击者就可以远程登录机器并获得全部权限。

比特币劫持攻击原理及载荷(colourama)

另一个恶意类库“colourama”劫持被感染用户的操作系统剪贴板,每隔500毫秒扫描一次类似比特币地址的字符串(尝试关闭)并替换为攻击者自己的比特币地址,这样如果被感染用户有一个比特币支付/转账操作,比特币会进入攻击者的账户,因为比特币加密后的地址类似于一个字符串,基本上我们很难察觉。

4.png

以上是在Setup.py中插入的恶意行,请求地址,解密后更改地址内容(base64加密):

5.png

最后还原的攻击载荷(Vbscript代码)

6.png

上面的代码显示在注册表CurrentVersion\Run启动项目中添加了一个自启动项目,并添加了一个服务BTCS来监控粘贴板并修改类似于比特币地址的复制字符串。

这个包也是仿照一个名为“colorama”的流行 Python 库进行建模的,该库用于美化命令行终端。

幸运的是,绝大多数用户并未受到这些恶意包的影响。 由于及时发现和移除,据PyPI统计,在被移除之前的一个月内只有54位用户下载了该包。 攻击者涉及的比特币账户里也只有40美元,转账时间也是在包裹发布之前,应该没有通过colourama盗取的钱。

安全研究人员声称,他通过使用他创建的自动系统发现了所有 12 个包,该系统扫描了 PyPI 存储库,并在比较包名称时出现“拼写错误”时发现了恶意包。

研究人员表示,他在去年看到斯洛伐克国家安全办公室的安全警报后创建了扫描器,警告 Python 开发人员在 PyPI 上发布了 10 个恶意 Python 库。 这些库还使用拼写错误的名称,直到几周后用户意外或粗心地安装了它们。

本次注入的恶意代码payload大概是:

7.png

对于其他语言的集中式类库,Bertus 表示他也计划修改程序,并考虑将类似的扫描添加到其他存储库,例如 RubyGems 或 JavaScript 语言 npm。

例如,去年 8 月类似比特币的还有什么,瑞典开发人员在 npm 存储库中发现了 38 个恶意 JavaScript 库。 此类库通过恶意代码收集用户信息,并将数据上传到攻击者的服务器。

8.png

虫虫可以预期,开发语言基础类库包的篡改和劫持是未来恶意攻击的一个方向。 程序开发者在下载安装类库时一定要擦亮眼睛,谨防中标!