![图片[1]安全114-安全在线-安全壹壹肆-网络安全黄页-网络安全百科Shai-Hulud 供应链攻击:蠕虫用于窃取机密,180 多个 NPM 包受影响](https://www.anquan114.com/wp-content/uploads/2024/03/20240304192835197-image.png)
在一次新的供应链攻击中,超过180个NPM包被一种自复制恶意软件击中,该恶意软件用于窃取机密、在GitHub上发布这些机密,并将私有仓库变为公开仓库。
作为攻击的一部分,黑客入侵了超过40个开发者账户,并在NPM注册表上发布了700多个恶意包版本。
这次攻击在9月15日被Loka高级软件工程师Daniel dos Santos Pereira发现,但攻击始于9月14日,当时只有不到十几个恶意包被发布。到当天结束时,大约有50个包版本被发布。
到了9月16日,这次被命名为Shai-Hulud的攻击(基于代码将机密信息转储到的公共仓库的名称)已经影响了超过180个包,Ox Security警告说。
一些受影响的包包括@ctrl/tinycolor(每周下载量超过200万)、ngx-bootstrap(每周下载量30万)、ng2-file-upload(每周下载量10万)以及多个CrowdStrike NPM包(这些包被立即移除)。
这些包被注入了一个post-install脚本,该脚本旨在获取TruffleHog机密扫描工具以识别和窃取机密,并收集环境变量和IMDS暴露的云密钥。
该脚本还会验证收集到的凭据,如果识别到GitHub令牌,就会使用它们创建一个公共仓库,并将机密信息转储到其中。
此外,它还会推送一个GitHub Actions工作流,将每个仓库中的机密信息泄露到一个硬编码的webhook(由于超出允许的回调限制而被停用),并将私有仓库迁移到标记为“Shai-Hulud迁移”的公共仓库。
网络安全公司Socket在GitHub上发现了超过700个带有Shai-Hulud迁移标签的公共仓库,这些仓库都是在攻击发生时创建的。
使用受害者受损账户创建的公共GitHub仓库来发布被盗机密,这与几周前的s1ngularity供应链攻击中看到的模式相似。事实上,安全公司Wiz表示,Shai-Hulud的首批受害者也是s1ngularity攻击的已知受害者。
使这次攻击与众不同的是恶意代码,它使用任何识别到的NPM令牌来枚举和更新受损害维护者控制的包,并将恶意post-install脚本注入其中。
“这次攻击是一种自我传播的蠕虫。当一个受损的包在受害环境中遇到额外的NPM令牌时,它将自动发布它可以访问的任何包的恶意版本,”Wiz指出。
根据StepSecurity对Shai-Hulud攻击流程的技术分析,该蠕虫针对Linux和macOS执行环境,并故意跳过Windows机器。
JFrog指出,相同的窃取数据的有效载荷的多个变体已被注入到受损包的恶意版本中。该代码被看到针对GitHub、NPM、AWS和Google Cloud凭证,以及Atlassian密钥和Datadog API密钥。
“尽管主要功能相同,但一些版本存在细微差异,表明攻击者在活动过程中进行了迭代调整。例如,一些版本将‘Shai-Hulud’仓库设为私有,隐藏起来避免被发现。另一个版本还试图窃取Azure凭证,”JFrog说。
根据GitGuardian的说法,作为这次攻击的一部分,共有278个机密被公开泄露,其中包括从本地机器收集的90个和通过恶意工作流被泄露的188个。大多数机密被迅速撤销,但仍有数十个,主要是GitHub API令牌,仍然有效。
安全公司警告说,恶意代码的自我传播潜力可能会使这场活动再持续几天。
为了避免被感染,用户应该警惕那些在NPM上有新版本但在GitHub上没有的包,并建议固定依赖项以避免意外的包更新。
Wiz表示,它没有观察到新的Shai-Hulud仓库的创建,但由于蠕虫通过使用受害者维护者的凭证来发布新包来自动化传播,任何受损账户都可能被用来重新启动攻击。
“这个循环允许恶意软件持续感染维护者可以访问的每一个包。每个发布的包都成为了一个新的传播载体:一旦有人安装它,蠕虫就会执行、复制,并进一步传播到生态系统中,”安全公司Aikido指出。
Wiz称Shai-Hulud是“迄今为止观察到的最严重的JavaScript供应链攻击之一”,而ReversingLabs警告说,NPM生态系统中的包依赖关系放大了活动的影响。
ReversingLabs表示,受影响的各方包括“科技公司创始人和首席技术官;提供软件开发服务的公司;为非营利组织工作的开发人员;在赌博硬件和软件以及创建办公开发套件的公司中担任技术领导的开发人员;人工智能公司的开发人员;安全供应商——包括一家领先的端点检测和响应(EDR)供应商;学生开发人员;以及其他每天依赖NPM构建软件的人。”
为了检测潜在的入侵,NPM用户被建议检查其GitHub账户下创建的新仓库或分支,搜索包含其组织名称的名为Shai-Hulud或Shai-Hulud迁移的公共仓库,审查GitHub审计日志,并查找可疑的API调用。
如果他们发现任何入侵迹象,用户应该撤销并重新发放所有GitHub和NPM令牌,以及SSH和API密钥、环境变量机密,并重新安装其仓库中的所有包。
Shai-Hulud是在s1ngularity攻击和最近Josh Junon(Qix)被入侵之后,针对NPM生态系统的第三次重大供应链攻击,Josh Junon是18个NPM包的维护者,这些包每周的总下载量超过25亿次。
“这些攻击并非异常,只要攻击向量仍然有效,就会继续发生。组织需要确切了解其软件环境中包含的内容,并在出现问题时做好采取行动的准备。这意味着审计依赖项,纳入软件材料清单(SBOM)以提供透明度并能够快速进行漏洞评估,通过特权访问管理实施强大的身份验证和访问控制,监控异常行为,并保护机密,以便被盗凭证不能被武器化,”Keeper Security首席信息安全官Shane Barney说。
消息来源:securityweek;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
暂无评论内容