黑客发布14个伪装OpenSearch、Elasticsearch库的恶意软件包

作者: CBISMB

责任编辑: 邹大斌

来源: CBISMB

时间: 2026-06-01 10:13

浏览: 0

点赞: 0

收藏: 0

一名攻击者于4月28日在npm平台上发布了14个恶意软件包,伪装成流行的OpenSearch和Elasticsearch库,试图窃取云环境和持续集成/持续交付(CI/CD)流程中的敏感凭据。这些软件包随后被微软发现并全部下架。

攻击详情

根据微软的报告,该攻击者于周四(4月28日)在短短四小时内集中发布了所有恶意软件包。这些软件包旨在模仿@opensearch和@elastic生态系统中的合法库,以及与DevOps和环境配置相关的工具。

攻击者使用新创建的维护者别名"vpmdhaj"(邮箱a39155771@gmail[.]com)发布这些包。目标用户是拥有AWS(亚马逊云服务)和Elastic云凭据的开发人员。

软件包伪装手段

攻击者采用了多种手段增加恶意包的迷惑性:

名称混淆:使用与合法软件包名称仅有一两个字母之差的名称,或使用类似opensearch-setup-tool、opensearch-config-utility这样的名称来迷惑用户。

元数据伪造:所有无作用域的恶意软件包在其package.json文件中,都将homepage、repository和bugs字段指向合法的github.com/opensearch-project/opensearch-js项目,以增加可信度。

版本号膨胀:将虚假软件包的版本号直接设置为1.0.7265、1.0.9108或2.1.9201等较高数值,以伪装成具有成熟发布历史的产品。

恶意行为分析

一旦用户安装了这些恶意软件包,其内置的窃密载荷便会通过preinstall钩子在运行npm install时自动执行。

攻击者使用了两代不同的加载器(Stager):

第一代(Gen-1):利用install、preinstall和postinstall钩子调用preinstall.js脚本。该脚本会收集主机的大量信息(如主机名、平台、Node版本等),进行Base64编码后发送至攻击者的命令与控制(C2)服务器,并下载第二阶段的载荷。

第二代(Gen-2):更为隐蔽。它首先检查主机上是否已安装Bun运行时,如果没有,则会下载合法的Bun运行时(v1.3.13),然后利用它来执行第二阶段的载荷。

第二阶段的载荷是一个约195 KB的专用凭证收割机,主要针对AWS、HashiCorp Vault、npm和GitHub Actions等云和CI/CD环境进行凭据窃取。此外,软件包的index.js文件会在每次require()模块时重新启动载荷,形成一种持久化机制。

应对措施

目前,所有14个恶意软件包都已被移除。微软在其博客文章中列出了这14个软件包的完整清单,建议开发者进行核对。

如果您或您的团队在4月28日或之后安装或构建了受影响的软件包版本,请务必执行以下操作:

排查受影响系统:查阅微软发布的软件包列表,确认系统是否受到影响。

轮换所有可能泄露的凭据:立即轮换(重置)可能已暴露的AWS IAM/STS、HashiCorp Vault、npm发布以及GitHub Actions的令牌(tokens),以防止攻击者横向移动并窃取更多敏感数据。

©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。