文章总结: 安全研究人员发现36个恶意npm包伪装成Strapi插件,通过postinstall脚本自动执行恶意代码,利用Redis和PostgreSQL漏洞部署反向Shell、窃取凭据并植入持久化后门。攻击针对加密货币平台,使用硬编码数据库凭据进行定向攻击。建议受影响用户立即轮换所有凭据并检查系统安全。 综合评分: 85 文章分类: 恶意软件,供应链安全,漏洞分析,威胁情报,WEB安全
36 个恶意 NPM 软件包利用 Redis 和 PostgreSQL 部署持久化植入程序
原创
骨哥说事 骨哥说事
骨哥说事
2026年4月6日 10:17 上海
网络安全研究人员在npm存储库中发现了36个恶意软件包,它们伪装成Strapi CMS插件,但实际上携带不同有效载荷,用于实现Redis和PostgreSQL漏洞利用、部署反向shell、窃取凭据以及投放持久植入程序。
“每个包都包含三个文件(package.json, index.js, postinstall.js),没有描述、仓库或主页,并使用了3.6.8版本以伪装成一个成熟的Strapi v3社区插件。”
所有被识别的npm包遵循相同的命名规则,以“strapi-plugin-”开头,后面跟着如“cron”、“database”或“server”等词语,以诱骗毫无戒心的开发者下载它们。值得注意的是,官方的Strapi插件作用域(scoped)为“@strapi/”。
这些软件包由4个傀儡账户“umarbek1233”、“kekylf12”、“tikeqemif26”和“umar_bektembiev1”在13小时内上传,列表如下:
- strapi-plugin-cron
- strapi-plugin-config
- strapi-plugin-server
- strapi-plugin-database
- strapi-plugin-core
- strapi-plugin-hooks
- strapi-plugin-monitor
- strapi-plugin-events
- strapi-plugin-logger
- strapi-plugin-health
- strapi-plugin-sync
- strapi-plugin-seed
- strapi-plugin-locale
- strapi-plugin-form
- strapi-plugin-notify
- strapi-plugin-api
- strapi-plugin-sitemap-gen
- strapi-plugin-nordica-tools
- strapi-plugin-nordica-sync
- strapi-plugin-nordica-cms
- strapi-plugin-nordica-api
- strapi-plugin-nordica-recon
- strapi-plugin-nordica-stage
- strapi-plugin-nordica-vhost
- strapi-plugin-nordica-deep
- strapi-plugin-nordica-lite
- strapi-plugin-nordica
- strapi-plugin-finseven
- strapi-plugin-hextest
- strapi-plugin-cms-tools
- strapi-plugin-content-sync
- strapi-plugin-debug-tools
- strapi-plugin-health-check
- strapi-plugin-guardarian-ext
- strapi-plugin-advanced-uuid
- strapi-plugin-blurhash
对这些包的分析显示,恶意代码被嵌入到postinstall脚本钩子中,该钩子在“npm install”时无需任何用户交互即可执行。它以与安装用户相同的权限运行,这意味着它在CI/CD环境和Docker容器内滥用root访问权限。
作为此次攻击活动一部分,分发的有效载荷演变过程如下:
- 武器化本地可访问的Redis实例以获取远程代码执行能力:通过注入一条crontab条目,每分钟从远程服务器下载并执行一个shell脚本。该脚本通过SSH向Strapi的公共上传目录写入一个PHP Web Shell和一个Node.js反向Shell。它还尝试扫描磁盘寻找密钥(如Elasticsearch和加密货币钱包种子短语)并窃取Guardarian API模块。
- 结合Redis漏洞利用与Docker容器逃逸:向容器外的主机写入shell有效载荷。它还在端口4444上启动一个直接的Python反向Shell,并通过Redis将一个反向Shell触发器写入应用程序的node_modules目录。
- 部署一个反向Shell,并通过Redis写入一个shell下载器,然后执行生成的文件。
- 扫描系统以获取环境变量和PostgreSQL数据库连接字符串。
- 扩张了凭据窃取器和侦察有效载荷:收集环境转储、Strapi配置、通过运行INFO、DBSIZE和KEYS命令提取Redis数据库、网络拓扑映射以及Docker/Kubernetes密钥、加密密钥和加密货币钱包文件。
- 进行PostgreSQL数据库攻击:使用硬编码凭据连接到目标的PostgreSQL数据库,并查询Strapi特定的表以寻找密码。它还转储匹配加密货币相关模式(如wallet, transaction, deposit, withdraw, hot, cold, balance)的数据,并尝试连接到六个Guardarian数据库。这表明威胁行为者已经拥有了这些数据,无论是通过之前的入侵还是其他方式获取的。
- 部署一个旨在维持对特定主机名(“prod-strapi”)的远程访问的持久植入程序。
- 促进凭据窃取:扫描硬编码路径并生成一个持久化的反向Shell。
“这八种有效载荷呈现出一个清晰的叙事:攻击者开始时很激进(Redis远程代码执行,Docker逃逸),发现这些方法不起作用,转向侦察和数据收集,使用硬编码凭据直接数据库访问,最终确定使用目标明确的凭据窃取来实现持久访问。”
这些有效载荷的性质,结合其对数字资产的关注以及使用硬编码的数据库凭据和主机名,表明此次攻击活动可能是针对加密货币平台的定向攻击。建议安装了上述任何软件包的用户假设已遭入侵,并轮换所有凭据。
此发现与其他一系列针对开源生态系统的供应链攻击相吻合:
- GitHub Action凭证窃取活动: 一个名为“ezmtebo”的GitHub账户已在各个开源仓库提交了超过256个包含凭证窃取有效载荷的拉取请求。“它通过CI日志和PR评论窃取密钥,注入临时工作流来转储密钥值,自动应用标签以绕过pull_request_target防护,并在主脚本退出后运行10分钟的/proc扫描器” 。
- GitHub组织劫持事件: “dev-protocol”这个经过验证的GitHub组织被劫持,以分发带有易混淆拼写依赖项的恶意Polymarket交易机器人(”ts-bign”和”levex-refa”或”big-nunber”和”lint-builder”),这些依赖项会窃取钱包私钥、窃取敏感文件并在受害者机器上开SSH后门。“levex-refa”充当凭据窃取器,“lint-builder”则安装SSH后门。而“ts-bign”和“big-nunber”分别被设计为作为传递性依赖项来投递“levex-refa”和“lint-builder”。
- Popular Emacs包遭攻击: 流行的Emacs包“kubernetes-el/kubernetes-el”遭到入侵,攻击者通过利用其GitHub Actions工作流中pwn请求漏洞的pull_request_target触发器,窃取仓库的GITHUB_TOKEN、泄露CI/CD密钥、篡改仓库,并注入破坏性代码以删除几乎所有仓库文件。
- GitHub Action遭入侵事件: 合法的“xygeni/xygeni-action” GitHub Actions工作流遭到入侵,攻击者通过窃取维护者凭据植入了反向Shell后门。Xygeni随后实施了新的安全控制措施来处理该事件。
- npm包被劫持事件: 合法的npm包“mgc”通过帐户接管被攻击,攻击者推送了四个恶意版本,包含一个检测操作系统并从Gist获取平台特定payload(针对Linux的Python木马和针对Windows的名为WAVESHAPER.V2的PowerShell变体)的投递器脚本。此次攻击与最近针对Axios的供应链攻击具有直接重叠性,该攻击被归因于一个名为UNC1069的朝鲜威胁组织。
- 恶意npm包事件: 一个名为“express-session-js”的恶意npm包,通过易混淆拼写模仿”express-session”,其内部包含一个投递器,该投递器从JSON Keeper检索第二阶段远程访问木马以进行数据窃取和持久访问,它使用Socket.IO库连接到“216.126.237[.]71”。
- PyPI包遭攻击事件: 合法的PyPI包“bittensor-wallet”被攻击,部署了一个后门,该后门在钱包解密操作期间触发,使用HTTPS、DNS隧道和Raw TLS作为泄露渠道,将钱包密钥泄露到硬编码域名或使用每日轮换的域名生成算法创建的域名。
- 恶意PyPI包事件: 一个名为“pyronut”的恶意PyPI包,通过易混淆拼写模仿流行的Python Telegram API框架”pyrogram”,内嵌一个隐蔽后门,每次Telegram客户端启动时触发,并夺取Telegram会话及底层主机系统的控制权。“该后门注册了隐藏的Telegram消息处理器,允许两个硬编码的攻击者控制账户在受害者的机器上执行任意Python代码(通过/e命令和meval库)和任意Shell命令(通过/shell命令和子进程subprocess)。”
- 恶意VSCode扩展事件: 由“IoliteLabs”发布的三个恶意Microsoft Visual Studio Code扩展,这些扩展原本自2018年起处于休眠状态,但在2026年3月25日更新,旨在应用程序启动时针对Windows和macOS系统启动多阶段后门以建立持久性。总计,这些扩展在被移除前有27,500次安装。
- 多个Open VSX扩展版本事件: Open VSX上的多个“KhangNghiem/fast-draft” VS Code扩展版本被发现执行GitHub托管的下载器以部署第二阶段Socket.IO远程访问木马、信息窃取器、文件泄露模块和剪贴板监视器。有趣的是,版本0.10.88, 0.10.111及0.10.129-135是干净的。“这不是你从一个受感染的构建或完全转向恶意行为的维护者那里期望的发布模式”, “这更像是两个相互竞争的发布流共享同一个发布者身份。”
Group-IB在2026年2月发布的一份报告中指出,软件供应链攻击已成为“重塑全球网络威胁格局的主导力量”,并补充道,威胁行为者正瞄准受信任的供应商、开源软件、SaaS平台、浏览器扩展和托管服务提供商,以获得对数百家下游组织的继承访问权限。
供应链威胁可以迅速将一个单一局部的入侵升级为具有大规模、跨国影响的事件,随着攻击者将供应链入侵“产业化”并将其转变为“自我强化”的生态系统,因为它提供了覆盖范围、速度和隐蔽性。
“诸如npm和PyPI之类的软件包存储库已成为主要攻击目标,攻击者通过窃取维护者凭据和使用自动恶意软件蠕虫来入侵广泛使用的库——将开发管道转变为大规模恶意代码分发渠道。”
原文:https://thehackernews.com/2026/04/36-malicious-npm-packages-exploited.html
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:骨哥说事 骨哥说事 骨哥说事《36 个恶意 NPM 软件包利用 Redis 和 PostgreSQL 部署持久化植入程序》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论