HackerNews

HackerNews
两个被篡改的 joyfill npm 包在导入 Node.js 时运行 RAT

两个被篡改的 joyfill npm 包在导入 Node.js 时运行 RAT

给文章评分:

@joyfill 命名空间下两个 npm 包的 beta 版本已被篡改,用于投放与 DEV#POPPER 恶意软件家族相关的远程访问木马(RAT)。
受影响的软件包列表如下:

  • @joyfill/layouts@0.1.2-2773.beta.0
  • @joyfill/components@4.0.0-rc24-2773-beta.4

这两个包"包含一个导入时触发的 JavaScript 植入程序,该程序通过 Tron、Aptos 和 BNB Smart Chain 交易解析加密代码",Socket 在一份分析报告中表示。
与其他通过 npm 生命周期钩子触发的恶意包不同,作为 JavaScript 库一部分交付的植入程序在 Node.js 加载 CommonJS 包入口点时就会运行。
值得注意的是,使用包含 Tron、Aptos 和 BNB Smart Chain(BSC)的多区块链解析器结构已被关联到一个名为 PolinRider 的威胁集群,该集群被认为与 Contagious Interview 有关。
本月早些时候,Checkmarx 和 OpenSourceMalware 强调了一组统称为 ViteVenom 的恶意 npm 包,这些包针对 Vite 前端工具生态系统,使用相同的分层区块链命令与控制(C2)基础设施来投放具有反向 shell、凭据窃取、文件外泄和持久后门注入功能的 RAT。
该植入程序包含两个并行的操作序列:

  • 一个进程内分支,最终生成一个约 77 KB 的 JavaScript payload,与 DEV#POPPER 恶意软件家族具有相似性
  • 一个次要分支,用于启动一个独立的 Node.js 进程,从 23.27.13[.]43 请求一个单独的启动 payload,解密响应并执行

一旦包被加载,它会启动一个基于区块链的分发机制,从硬编码的 Tron 地址的最新出站交易中获取 BSC 交易哈希。如果此步骤失败,它会查询一个 Aptos 账户作为备用方案,以获取 BSC 交易,并从中解密和提取 JavaScript 代码并执行。
进程内分支和独立分支使用各自不同的 Tron、Aptos 和 BSC 钱包地址、账户和交易。使用区块链还意味着它具有运营韧性,并且可以在无需发布新版本包的情况下切换 payload。
第一个进程内 payload 是一个 JavaScript 加载器,它使用区块链解析方法来检索名为"clientCode"的第二阶段恶意软件。另一方面,独立进程会查询上述 IP 地址以获取并执行 JavaScript 代码。
"这是一个冗余的投递分支,而非无害的备用方案,"Socket 解释道。"它与导入它的 Node.js 进程分离,可以在构建、测试或 CLI 命令退出后继续运行。"
最终的"clientCode" payload 经过高度混淆,作为一个 Node.js RAT 运行,具有以下功能,同时避免在主机名为 github-runner、buildbot、buildkitsandbox 和 microsoft-standard-WSL2 的开发、CI 或沙箱化机器上执行:

  • 将文件上传到配置的上传主机
  • 检索额外的 JavaScript
  • 收集基本主机信息
  • 发送状态检查消息
  • 通过 Windows 上的 PowerShell、macOS 上的 pbpaste 以及 Linux 上的 xclip 或 xsel 读取剪贴板数据

两个 payload 已与独立进程关联:即"clientCode"RAT 和一个 Python 信息窃取器,后者可以从受感染主机中窃取大量数据。它被认为是 OmniStealer 恶意软件的一个迭代版本,其详细信息最早由 eSentire 于今年 4 月披露。
该恶意软件收集的数据如下:

  • 环境和主机信息
  • Windows Credential Manager 和 Linux Secret Service 数据
  • Chromium 和 Firefox 浏览器数据
  • 钱包和密码管理器的浏览器扩展存储
  • Git 凭据
  • GitHub CLI 配置
  • GitHub Desktop 日志
  • Microsoft Visual Studio Code 存储

Socket 告诉 The Hacker News,ViteVenom 和最新的这批 npm 包都与朝鲜威胁行为者正在进行的同一行动有关,而非独立的攻击活动。
据该应用安全公司称,这两个恶意版本据称是由同一个 npm 身份使用 Node.js 18.20.0 和 npm 10.5.0 发布的,代码在打包时即已存在。也就是说,目前尚不清楚这种源代码注入是在开发者工作站、源代码仓库、CI 环境还是发布凭据被入侵后实现的。
建议已安装受影响版本的开发者将其从 lockfile、缓存、内部镜像、构建镜像和部署工件中移除,固定到已验证版本,并轮换受影响的 Node.js 进程中的凭据。
"@joyfill/layouts 版本应被视为能够在任何加载它的进程上下文中执行任意代码,"Socket 表示。"这包括开发环境、CI 运行器、测试工具、服务端渲染和构建环境。"
"最终恢复的代码可以收集主机信息、建立 Socket.IO 远程控制通道、执行提供的 JavaScript 或 shell 命令、上传文件、读取剪贴板数据,以及修改属于开发者工具的文件。"



消息来源:thehackernews.com;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
转载请注明“转自 HackerNews.cc”并附上原文
分享到:
hackernews

hackernews

该作者暂无简介