全民捕鱼下个软件包可能泄露信用卡信息Python 包

发布时间:2021-08-03 09:12 文章来源:未知

  近日,有研究人员又在 Python 官方软件包存储库 PyPI 中发现了 8 个恶意软件包,这些恶意代码会暗中窃取信用卡数据和登录凭据,并在受感染的机器上注入恶意代码。据估计,这些软件包的下载次数达到了 3 万次。

  PyPI(Python Package Index)是 Python 的正式第三方软件包的开源软件存储库,它类似于 CPAN(Perl 的存储库)。pip 等一些软件包管理器就是默认从 PyPI 下载软件包。任何用户都可以下载第三方库和上传自己开发的库,目前通过 PyPI 可以下载超过 23.5 万个 Python 软件包。

  近日,DevOps 软件供应商 JFrog 的几位研究人员发表文章称,他们最近在 PyPI 中又发现了 8 个可执行一系列恶意活动的软件包,并且根据对 PePy 网站(一个提供 Python 包下载统计数据的站点)的搜索,全民捕鱼这些恶意包的下载次数估计达到了 3 万。

  这一发现是近年来一系列攻击中最新的一个,这些攻击超过了开源存储库的接受能力,数以百万计的软件开发人员每天都依赖开源存储库。尽管软件存储库扮演着至关重要的角色,但它们往往缺乏鲁棒的安全性和审查控制,当开发人员在不知情的情况下感染恶意代码或将恶意代码嵌入他们发布的软件时,这一弱点有可能导致严重的供应链攻击。

  JFrog 首席技术官 Asaf Karas 表示:「诸如 PyPI 这样的流行软件库中不断发现恶意软件包,这种趋势令人担忧,有可能导致更为广泛的供应链攻击。攻击者使用简单的混淆技术来引入恶意软件,这意味着开发人员必须时刻保持关注和警惕。这是一种系统性威胁,需要在包括软件存储库的维护人员和开发人员等不同层面上进行解决。」

  与大多数 Python 恶意软件一样,这些包仅使用了简单的混淆技术,例如来自 Base64 编码器的混淆。在这 8 个恶意软件包中,前 6 个(noblesse、genesisbot、aryi、suffer、noblesse2 和 noblessev2)均包含 3 个有效负载,一个用于获取 Discord 账户的认证 cookie,第二个用于提取在浏览器存储的任何密码或支付款卡数据,第三个用于收集受感染 PC 的信息,如 IP 地址、计算机名和用户名。

  noblesse 恶意软件族的首个有效负载是窃取 Discord 身份验证 token。身份验证 token 允许攻击者冒充最初持有 token 的用户,类似于 HTTP 会话 cookie。窃取 token 的有效负载基于臭名昭著的 dTGPG 有效负载,它是一个从未公开发布的生成器工具,但个性化 token 抓取器是公开共享的,并且一些示例也上传到了 GitHub。因此,Discord 身份验证 token 窃取器代码非常简单,它迭代一组硬编码的路径:

  noblesse 恶意软件族的第二个有效负载可自动完成信息窃取。目前所有的现代浏览器都支持保存用户密码和信用卡信息的能力:

  这种自动保存功能给用户带来了极大的便利,但缺点是,这些信息可能会被访问本地机器的恶意软件泄露。在这种情况下,恶意软件试图从 Chrome 窃取信用卡信息:

  noblesse 恶意软件族的第三个有效负载是收集中招用户系统的相关信息,并上传至上文提到的 Webhook。收集的信息包括如下:

  不过,Karas 表示前 6 个软件包具有感染开发者计算机的能力,但却不能用恶意软件感染开发者编写的代码。第二类恶意软件族则要简单得多,软件包的代码如下:

  简单地说,恶意软件试图连接 TCP 端口 9009 上的私有 IP 地址,然后执行从 socket 中读取的任何 Python 代码。

  对此,Karas 表示:「对于 pytagora 和 pytagora2 这两个软件包,则允许在安装它们的机器上代码执行,这是有可能的。在感染了开发机器之后,恶意软件包允许代码执行,然后攻击者可以下载有效负载,从而修改正在开发的软件项目。我们没有证据表明恶意软件确实是这样执行的。」

  如果你在检查完 PyPI 依赖项后,确认 noblesse(或是克隆版本)已经在本地安装,你可以采取以下建议:

  检查 Edge 中保存了哪些密码,并在每个网站上更改这些被泄露的密码(还包括重复使用相同密码的网站)。你可以这样做:打开 Edge,然后导航到 edge://settings/passwords。保存密码的完整列表(这些都是潜在的危害)可以在 Saved passwords 查看。

  检查哪些信用卡信息保存在 Chrome,可以考虑在 Chrome 中取消这些信用卡。你可以这样做:打开 Chrome,导航到 chrome://settings/payments。完整的信用卡信息列表(这些都是潜在的危害)可以在 Payment methods 中查看。

  如果你已经确定 pytagora(或者克隆版本)已经在你的机器上本地安装,尽管你的机器可能不会感染相关的恶意软件,但建议你还是遵循常用的恶意软件检查步骤进行检查,例如使用已安装的杀毒软件进行全面扫描。