文章最后更新时间2025年05月23日,若文章内容或图片失效,请留言反馈!
一个名为“rand-user-agent”的 npm 包在一次供应链攻击中遭到破坏,注入了混淆代码,从而激活了用户系统上的远程访问木马 (RAT)。“ rand-user-agent ”包是一个生成随机用户代理字符串的工具,有助于网络抓取、自动化测试和安全研究。尽管该软件包已被弃用,但它仍然相当受欢迎,每周平均下载量达 45,000 次。 然而,根据Aikido研究人员的说法,威胁行为者利用其半废弃但流行的状态,在未经授权的后续版本中注入恶意代码,这些版本可能已被大量下游项目下载。2025 年 5 月 5 日,Aikido 检测到了这一漏洞,当时其恶意软件分析系统标记了 rand-user-agent 的新版本,编号为 1.0.110。经过深入检查,研究人员发现“dist/index.js”文件中隐藏了混淆的代码,只有当用户在 npm 站点的源视图中水平滚动时才可见。调查显示,“rand-user-agent”的最后一个合法版本是7个月前发布的2.0.82。随后发布的 2.0.83、2.0.84 和 1.0.110 版本均是恶意的,并且在项目的 GitHub 存储库中没有相应的版本。最新版本中嵌入的恶意代码会在用户主文件夹(~/.node_modules)下创建一个隐藏目录,并扩展“module.paths”,以便该自定义路径可用于加载依赖项,即“axios”和“socket.io-client”。接下来,它在 http://85.239.62[.]36:3306 打开与攻击者的命令和控制 (C2) 的持久套接字连接,并发送机器 ID 信息,包括主机名、用户名、操作系统类型和生成的 UUID。一旦 RAT 处于活动状态,它就会监听以下命令之一:cd <path> - 更改当前工作目录ss_dir – 将工作目录重置为脚本路径ss_fcd:<path> - 强制更改到给定目录ss_upf:f,d – 将单个文件 f 上传到目标 dss_upd:d,dest – 将目录 d 中的所有文件上传到 destss_stop – 中断正在进行的文件上传(任何其他) – 使用 child_process.exec() 将其作为 shell 命令执行在撰写本文时,恶意版本已从 npm 上的软件包存储库中删除,因此最新可用版本是安全的,用户应该恢复到该版本。但是,如果您已升级到 2.0.83、2.0.84 或 1.0.110 版本,则务必执行完整的系统扫描,以查找是否存在被入侵的迹象。请注意,降级到合法版本并不会从您的系统中删除 RAT。此外,考虑使用“rand-user-agent”工具的分叉但仍然受支持且监控更好的版本。BleepingComputer 联系了开发人员,了解他们的软件包是如何被泄露的,我们收到了以下评论:2025 年 5 月 5 日(UTC 时间 16:00),我们收到警报,三个未经授权的 rand-user-agent 版本已发布到 npm 注册表(1.0.110、2.0.83、2.0.84)。恶意代码从未出现在我们的 GitHub 存储库中;它仅在 npm 工件中引入,这使其成为一次典型的供应链攻击。 我们的调查(仍在进行中)显示,攻击者从一名员工那里获取了一个过期的自动化令牌,并使用该令牌向 npm 发布版本。该令牌未启用双因素身份验证,这使得攻击者能够:发布 GitHub 上不存在的版本;增加版本号使其看起来合法;弃用任何版本,希望新版本能够在被察觉之前传播出去。没有证据表明我们的源代码存储库、构建管道或公司网络存在漏洞。此次事件仅限于 npm 注册表。我们向所有受此事件影响的开发者和组织致以歉意。保护开源生态系统是我们认真对待的责任,我们致力于完全透明地弥补导致此次攻击发生的每一个漏洞。推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
宙飒zhousa.om
还没有评论,来说两句吧...