风行存储库凭借开发者的信赖,被大量装置。最近,有音讯称如npm、PYPI、RubyGEms风行存储库携带恶意软件,一旦被装置就有机会应用存储库散发病毒,并在开发者和CI/CD机器上发动攻打!
JFrog的平安钻研团队在PYPI中发现了8个Python恶意软件包。依据pepy.tech的数据,歹意包已被下载大概3万次。目前还没有对于歹意包造成理论影响的数据。JFrog 平安钻研团队在发现这 8 个恶意软件包后立刻反映给 PyPI,删除了这些恶意软件包。这些恶意软件包存在窃取信用卡信息、注入恶意代码、盗取比特币等恶劣影响,杀伤力不容小觑。

所有上述包(以及大多数Python恶意软件老手)都应用了一种简略的混同技术

1.用一些简略的编码器编码Python文本(例如,Base64)
2.应用eval将解码的文本作为代码进行评估。
例如,noblesse2恶意软件主代码如下所示:

这种混同能够坑骗一个简略的动态剖析工具,但不能抵制更彻底的剖析,实际上还会引发一个危险信号,让许多钻研人员更认真地钻研这段代码。
混同代码中应用的特殊字符帮忙咱们意识到,恶意软件只是用公共工具python-fuzzler解决的。
aryi和suffer这两个包是用py混同的,这表明恶意软件开发人员正在尝试不同的混同办法。

技术剖析

noblesse无效负载#1:窃取 Discord 身份验证 token

身份验证令牌容许攻击者模仿最后持有令牌的用户(相似于HTTP会话cookies)。窃取令牌的有效载荷基于dTGPG (Discord Token Grabber Payload Generator) 有效载荷。尽管它从未公开公布,然而其有效载荷上传到了GitHub。
Discord Token Grabber Payload Generator窃取程序代码非常简单,它迭代一组硬编码的门路:

随后便能够读取这些门路下所有的log 和ldb 文件,查找 Discord 身份验证 token,所得后果通过 Webhook(一种将主动获取的音讯和数据更新发送到私人服务器上的简略办法)上传到 Discord,所用参数如下:

noblesse无效负载#2:主动窃取在浏览器上存储的所有明码和信用卡数据

所有古代浏览器都反对为用户保留明码和信用卡信息,然而这些信息可能会被拜访本地机器的恶意软件泄露。在这种状况下,恶意软件试图从Chrome窃取信用卡信息:

此外还能够从 Edge 浏览器窃取存储的明码和信用卡信息:

以上所有窃取的信息同样会通过 Webhook 发送给攻击者。

noblesse无效负载#3:收集受感化 PC 的信息

收集到的信息包含:IP 地址、计算机名称、用户名、Windows 许可证密钥信息、Windows 版本和屏幕截图。

pita gora–近程代码注入

pytagora 系列的 2 个恶意软件包就显得简略许多。在“使 pytagora 定理变得容易”这个介绍的乏味假装下,该软件包的代码如下:

通过混同技术,原代码被解码成如下片段:

简而言之恶意软件会尝试连贯到 TCP 端口 9009 上的公有 IP 地址,而后执行从 socket 中读取的 Python 代码。

开发者们应该怎么做?

在查看你的PyPI依赖项后,确定noblesse(或其任何克隆)曾经在本地装置,咱们倡议:
1、查看哪些明码保留在Edge中,并在每个网站(以及重复使用这些明码的任何网站)中更改这些泄露的明码。能够通过关上Edge并导航到Edge://设置/明码来执行查看。保留的明码的残缺列表(可能被泄露)能够在保留的明码下看到。
2、查看哪些信用卡保留在Chrome中,并思考登记这些信用卡。能够通过关上Chrome并导航到Chrome://设置/领取来执行查看。能够在“领取形式”下查看已保留信用卡的残缺列表(这些信用卡可能已受损)。
尽管感化恶意软件可能性较低,但倡议遵循通常的恶意软件查看步骤,进行齐全扫描。

因为公共软件存储库不足节制和自动化的安全控制,使得即便是没有教训的攻击者也能够将它们用作流传恶意软件的平台,无论是通过拼写错误、依赖性混同还是简略的社交工程攻打。将来互联网很可能还会蒙受攻打。

原文参考链接