导 读
一名攻击者发布了流行 NPM 包“rand-user-agent”的三个恶意版本,以在用户系统上部署和激活远程访问木马 (RAT)。
rand-user-agent是一个已被弃用的 Node.js 包,它会根据出现次数生成随机的用户代理字符串。它最初是为罗马尼亚软件开发公司 WebScrapingAPI 开发的一款功能工具,但可以集成到任何 Node.js 项目中用于网页抓取。
该软件包每周下载量仍超过 40,000 次,但已经超过七个月没有更新了,攻击者利用这一点来推送注入了恶意代码的版本。
虽然该项目的 GitHub 存储库保持不变,显示最新的干净版本 2.0.82,但攻击者将恶意更新发布到 NPM 注册表,版本为 2.0.83、1.0.110 和 2.0.84。
恶意包版本部署了一个名为Python3127 PATH Hijack的后门,可以操纵目录和文件,并可执行 shell 命令和附加有效载荷。
首先检测到可疑代码的研究员 Aikido 指出:“该 RAT 的一个更微妙的功能是使用特定于 Windows 的 PATH 劫持,旨在以 Python 工具为幌子悄悄执行恶意二进制文件。”
WebScrapingAPI在回应SecurityWeek 的询问时透露,攻击者在获得未受双因素身份验证保护的过时自动化令牌后发布了恶意软件包版本。
WebScrapingAPI 表示,攻击者使用该令牌发布了 GitHub 存储库中不存在的版本,增加了版本号以使其看起来合法,并避免弃用代码,“希望新版本能够在任何人注意到之前传播开来”。
该公司表示:“没有证据表明我们的源代码存储库、构建管道或公司网络存在漏洞。此次事件仅限于 NPM 注册表。”
WebScrapingAPI 还确认恶意版本下载了后门并打开了到远程命令和控制 (C&C) 服务器的通信通道。
该公司向SecurityWeek表示: “恶意代码从未出现在我们的 GitHub 存储库中;它仅在 NPM 构件中引入,这使其成为一次典型的供应链攻击。”
建议安装了任何恶意版本(2.0.84、1.0.110 和 2.0.83)的 rand-user-agent 用户尽快恢复到 2.0.82 版本,并检查其系统是否存在恶意代码和其他受感染迹象。
WebScrapingAPI 表示:“我们向每一位受此事件影响的开发者和组织致歉。保护开源生态系统是我们认真对待的责任,我们致力于完全透明地弥补所有导致此次攻击发生的漏洞。”
技术报告:
https://www.aikido.dev/blog/catching-a-rat-remote-access-trojian-rand-user-agent-supply-chain-compromise
新闻链接:
https://www.securityweek.com/popular-scraping-tools-npm-package-compromised-in-supply-chain-attack/
扫码关注
军哥网络安全读报
讲述普通人能听懂的安全故事
原文始发于微信公众号(军哥网络安全读报):供应链攻击破坏流行的 rand-user-agent NPM 包,可部署并激活后门
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论