go-buena-clr加载.NET工具的实验记录:CLR托管机制与AMSI检测盲区

admin 2026-06-23 05:56:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档介绍go-buena-clr工具通过CLR托管机制差异化加载路径规避AMSI检测,实验显示结合Garble混淆与Astral-PE清理静态特征后可执行文件成功运行而未触发告警,证明该方案在特定环境下的有效性。 综合评分: 84 文章分类: 免杀,恶意软件,安全工具,.NET安全,红队


cover_image

go-buena-clr加载.NET工具的实验记录:CLR托管机制与AMSI检测盲区

原创

陆安予 陆安予

白帽子安全笔记2.0

2026年6月21日 19:10 江苏

在小说阅读器读本章

去阅读

免责声明:本文仅供网络安全研究与技术交流,所有实验均在本地虚拟化环境中完成,不涉及任何真实目标系统。严禁将文中技术用于未经授权的网络、系统或数据。

一、简要介绍

go-buena-clr[1] 是一个在 Go 语言中实现的自定义 CLR 宿主,能够在加载 .NET 程序集时规避 AMSI 扫描。其核心在于 CLR 托管机制中的加载路径差异:

  • • 常规反射加载:从字节数组加载程序集,此路径会触发 AMSI 扫描
  • • 按标识加载:按程序集标识加载,此路径不触发 AMSI 扫描

go-buena-clr 通过自定义 CLR 宿主,接管程序集加载过程,使用按标识加载的方式完成加载,从而避开触发扫描的路径。

二、实验环境与过程

2.1 实验环境

| 组件 | 配置 | | — | — | | 编译环境 | Windows系统 | | 执行环境 | Windows-11-x64-25H2虚拟机(NAT模式),Windows Defender实时防护开启 | | 相关工具 | go-buena-clr、SharpCollection[2](Rubeus.exe等)、Garble[3]、Astral-PE[4] |

2.2 实验过程与结果

2.2.1 原始Rubeus.exe

将原始Rubeus.exe下载至Windows 11系统后,Windows Defender实时防护立即将其隔离并告警。

Windows Defender拦截Rubeus.exe

结果:被拦截

2.2.2 通过go-buena-clr加载

使用go-buena-clr将Rubeus.exe嵌入Go加载器并编译生成可执行文件。在目标环境中执行,程序成功运行,Windows Defender未产生告警。

go-buena-clr加载Rubeus执行成功

结果:执行成功,未触发告警

2.2.3 结合Garble混淆

为进一步降低二进制文件的可读性,引入 Garble[3] 进行编译混淆。在测试环境中,Garble 编译后的文件被标记为 Trojan:Win32/Gracing.I,这是 Garble 混淆编译的已知特征。

该特征与 Go 编译器在二进制文件中残留的特定元数据有关。通过调整Astral-PE[4] 的处理逻辑,对以下静态特征进行清理:

  • • 清理 “Go build ID:” 字符串
  • • 清理 “Go buildinf:” 结构
  • • 清理运行时字符串
  • • 重命名 Go 节区

调整后,二进制文件中的静态特征明显减少。

结果:执行成功,未触发告警

三、结论

go-buena-clr 是一个可用的自定义 CLR 宿主方案,适用于需要以独立 EXE 方式加载 .NET 程序集的场景。它通过利用 CLR 托管机制中的加载路径差异,在不修改 amsi.dll 或 clr.dll 内存的前提下规避 AMSI 扫描。

本次实验仅在特定环境下进行,结果不代表所有场景。

引用链接

[1] go-buena-clr项目仓库: https://github.com/almounah/go-buena-clr [2] SharpCollection项目仓库: https://github.com/Flangvik/SharpCollection [3] Garble Go代码混淆工具: https://github.com/burrowers/garble [4] Astral-PE PE结构修改工具: https://github.com/DosX-dev/Astral-PE


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:白帽子安全笔记2.0 陆安予 陆安予《go-buena-clr加载.NET工具的实验记录:CLR托管机制与AMSI检测盲区》

评论:0   参与:  0