PyPI(Python 包索引)上的六个恶意包被发现安装信息窃取和 RAT(远程访问木马)恶意软件,同时使用 Cloudflare Tunnel 绕过防火墙限制进行远程访问。
恶意软件包试图窃取浏览器中存储的敏感用户信息、运行 shell 命令并使用键盘记录器窃取键入的机密。
这六个软件包是由 Phylum 研究团队发现的,他们密切监视 PyPI 的新兴活动。
研究人员报告说,这些恶意扩展于 12 月 22 日首次出现在软件包存储库中。威胁行为者继续上传其他软件包,直到2022年的最后一天。
Phylum 检测到的 6 个恶意软件包如下:
- Pyrologin – 165 次下载
- easytimestamp – 141 次下载
- Discorder – 83 次下载
- Discord-dev – 228 次下载
- style.py – 193 次下载
- pythonstyles – 130 次下载
所有软件包现已从 PyPI 中删除,但下载它们的人将必须手动卸载感染的残余物,尤其是持久性机制。
信息窃取功能
这些文件上的安装程序 (setup.py) 包含一个 base64 编码的字符串,可解码为 PowerShell 脚本。
此脚本设置“-ErrorAction SilentlyContinue”标志,以便脚本即使遇到错误也会默默地继续,以避免被开发人员检测到。
PowerShell 脚本将从远程资源下载 ZIP 文件,将其解压缩到本地临时目录,然后安装依赖项列表和其他 Python 包,使远程控制和屏幕截图捕获成为可能。
在此阶段会静默安装两个额外的软件包,称为“flask”和“flask_cloudflared”。
ZIP 中的文件之一“server.pyw”启动四个线程,一个用于在系统重新启动之间建立持久性,一个用于 ping 代理洋葱站点,一个用于启动击键记录器,另一个用于从受感染的计算机窃取数据 。
被盗数据包括加密货币钱包、浏览器 cookie 和密码、Telegram 数据、Discord 代币等。 这些数据被压缩并通过 Transfer[.]sh 传输给攻击者,同时对洋葱站点进行 ping 操作确认信息窃取步骤已完成。
也是远程访问木马
该脚本现在运行“cftunnel.py”,该文件也包含在 ZIP 存档中,用于在受害者的计算机上安装 Cloudflare Tunnel 客户端。
Cloudflare Tunnel 是一项服务产品,允许客户(甚至免费帐户)创建从服务器直接到 Cloudflare 基础设施的双向隧道。
此连接允许 Web 服务器通过 Cloudflare 快速公开可用,而无需配置防火墙、打开端口或处理其他路由问题。
威胁行为者使用此隧道以“Flask”脚本的形式远程访问在受感染设备上运行的远程访问木马,即使防火墙保护该设备也是如此。
攻击者使用的 Flask 应用程序(也称为“xrat”)可以窃取受害者的用户名和 IP 地址、在受攻击的计算机上运行 shell 命令、窃取特定文件和目录、执行 Python 代码或下载并启动其他有效负载。
该 RAT 还支持每秒一帧的“实时”远程桌面源,一旦受害者键入内容或移动鼠标,该源就会激活。
PyPI 中上传的这组新应用程序证明该平台上的威胁正在不断发展,变得更具创新性和效力。
不幸的是,删除这些软件包并禁止在 PyPI 上上传这些软件包的帐户并不能阻止威胁行为者,因为他们可以使用新名称恢复行动。
此外,即使这些应用程序从 PyPi 中删除,它们仍然位于受感染的设备上,需要开发人员手动删除它们。
如果这些恶意软件包感染了您,强烈建议您执行防病毒扫描,然后更改您经常访问的网站的所有密码。