恶意 Go 软件包利用模块镜像缓存实现持久远程访问

admin 2025年2月7日00:05:06评论15 views字数 1222阅读4分4秒阅读模式

恶意 Go 软件包利用模块镜像缓存实现持久远程访问

关键词

恶意软件

恶意 Go 软件包利用模块镜像缓存实现持久远程访问

网络安全研究人员呼吁关注针对 Go 生态系统的软件供应链攻击,该攻击涉及一个恶意软件,可让对手远程访问受感染系统。

根据 Socket 的说法,该软件包名为github.com/boltdb-go/bolt ,是合法 BoltDB 数据库模块 ( github.com/boltdb/bolt )的域名抢注。恶意版本 (1.3.1) 于 2021 年 11 月发布到 GitHub,随后被Go Module Mirror服务无限期缓存。

安全研究员 Kirill Boychenko在分析中表示:“一旦安装,带有后门的软件包就会授予威胁行为者对受感染系统的远程访问权限,从而允许他们执行任意命令。”

Socket 表示,这是恶意行为者滥用 Go Module Mirror 无限期缓存模块来诱骗用户下载软件包的最早案例之一。随后,据说攻击者修改了源存储库中的 Git 标签,以将其重定向到良性版本。

恶意 Go 软件包利用模块镜像缓存实现持久远程访问

该公司在与 The Hacker News 分享的声明中指出,这一更改是在 GitHub 存储库中进行的,该存储库是合法 BoltDB 工具的一个分叉版本,威胁行为者重写了 v1.3.1 的 Git 标签,以指向干净的提交,而不是原始的恶意版本。

Socket 表示:“这是可能的,因为除非明确保护,否则 Git 标签是可变的。存储库所有者可以随时删除标签并将其重新分配给不同的提交。但是,Go Module Proxy 已经缓存了原始恶意版本,该版本从未更新或从代理中删除,从而使攻击得以持续。”

这种欺骗性的方法确保对 GitHub 存储库的手动审核不会发现任何恶意内容,而缓存机制意味着使用 go CLI 安装包的毫无戒心的开发人员会继续下载带有后门的变体。

Boychenko 表示:“一旦模块版本被缓存,即使原始源后来被修改,它仍然可以通过 Go Module Proxy 访问。虽然这种设计有利于合法用例,但威胁行为者利用它持续分发恶意代码,尽管随后存储库发生了更改。”

“由于不可变模块既提供了安全优势,也提供了潜在的滥用媒介,开发人员和安全团队应该监控利用缓存模块版本来逃避检测的攻击。”

Cycode详细介绍了三个恶意 npm 包 - serve-static-corell、openssl-node 和 next-refresh-token - 它们包含混淆代码来收集系统元数据并在受感染主机上运行远程服务器(“8.152.163[.]60”)发出的任意命令。

更新

在2025 年 2 月 5 日发布的有关 github.com/boltdb-go/bolt 的公告中,Go Module Mirror 服务的维护人员表示:“该模块是恶意域名抢注,试图利用与 github.com/boltdb/bolt 模块的混淆。”

来源:https://thehackernews.com/2025/02/malicious-go-package-exploits-module.html

  END  

原文始发于微信公众号(安全圈):【安全圈】恶意 Go 软件包利用模块镜像缓存实现持久远程访问

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月7日00:05:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意 Go 软件包利用模块镜像缓存实现持久远程访问https://cn-sec.com/archives/3706681.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息