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

admin 2025年2月8日00:57:24评论15 views字数 1028阅读3分25秒阅读模式

更多全球网络安全资讯尽在邑安全

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

网络安全研究人员近日发现了一起针对Go生态系统的软件供应链攻击,攻击者通过一个恶意包,能够在受感染的系统中实现远程访问。

恶意包的伪装与传播

根据Socket的分析,这个名为github.com/boltdb-go/bolt的恶意包是对合法BoltDB数据库模块(github.com/boltdb/bolt)的“拼写错误劫持”(typosquat)。恶意版本(1.3.1)于2021年11月发布到GitHub,随后被Go Module Mirror服务无限期缓存。

安全研究员Kirill Boychenko在分析中指出:“一旦安装,这个被植入后门的包会授予攻击者对受感染系统的远程访问权限,使其能够执行任意命令。”Socket表示,这是恶意行为者滥用Go Module Mirror无限期缓存模块功能的最早案例之一,目的是诱使用户下载恶意包。

攻击者的欺骗手段

为了掩盖恶意行为,攻击者随后修改了源代码库中的Git标签,将其重定向到良性版本。这种欺骗手段确保了手动审查GitHub仓库时不会发现任何恶意内容,而缓存机制则意味着使用Go CLI安装该包的开发者会继续下载被植入后门的版本。

Boychenko解释道:“一旦模块版本被缓存,它就可以通过Go Module Proxy访问,即使原始源代码后来被修改。虽然这种设计对合法用例有益,但攻击者利用它来持续分发恶意代码,尽管仓库后续发生了变化。”

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

安全建议与相关案例

Boychenko提醒道:“不可变模块既提供了安全优势,也可能成为滥用的途径。开发者和安全团队应监控那些利用缓存模块版本来逃避检测的攻击。”

与此同时,Cycode详细披露了三个恶意npm包——serve-static-corell、openssl-node和next-refresh-token。这些包包含混淆代码,用于收集系统元数据并执行远程服务器(“8.152.163[.]60”)在受感染主机上发出的任意命令。

通过以上分析可以看出,软件供应链攻击正变得越来越复杂,开发者和安全团队需要更加警惕,尤其是在使用第三方依赖时,应加强审查和监控,以防止类似攻击的发生。

原文来自: freebuf.com

原文链接: https://thehackernews.com/2025/02/malicious-go-package-exploits-module.html

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

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

发表评论

匿名网友 填写信息