UAC 绕过 BOF 编译指南:用 MinGW 交叉编译一次构建 7 个信标对象
2026/9/6 15:35:08 网站建设 项目流程

UAC 绕过 BOF 编译指南:用 MinGW 交叉编译一次构建 7 个信标对象

【免费下载链接】CapOpen source Loom alternative. Beautiful, shareable screen recordings.项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap

UAC-BOF-Bonanza 把 7 种经过公开研究验证的 Windows UAC 绕过手法统一编译为 BOF(Beacon Object File),供 C2 框架在内存中加载。读完后,你就能用 MinGW 交叉编译路径跑通完整构建,拿到可同时用于 Havoc、Sliver 和独立验证的全部产物。

📦 先把产物想清楚:BOF 目标文件与独立 exe

构建结束后,每个模块都会留下两类文件:

  • *BOF.o目标文件:未链接、无落地可执行文件,交给 Havoc 或 Sliver 在信标内存中加载执行,例如SspiUacBypass/bin/SspiUacBypassBOF.o
  • 静态链接的*.exe:独立 Windows 可执行程序,输出在bin/standalone/下,方便你直接在测试机里观察行为。

框架侧则对应两种加载方式:Havoc 用一个脚本一次性接入全部 7 个模块,Sliver 按模块目录逐个加载。没有 C2 环境的话,独立 exe 就是你的验证入口。

🔧 环境准备:交叉编译器一次装好、一次验证

在 Linux 或 macOS 上,你只需要 x86_64 架构的 MinGW-w64 工具链加 make。Ubuntu / Debian 执行apt安装,macOS 用brew install mingw-w64。下面的命令一次性完成安装与验证,两条--version能正常输出就说明编译器就绪:

sudo apt update sudo apt install -y mingw-w64 make x86_64-w64-mingw32-gcc --version x86_64-w64-mingw32-g++ --version make --version

根 Makefile 固定使用CXX_x64 := x86_64-w64-mingw32-g++CC_x64 := x86_64-w64-mingw32-gcc,版本输出正常就可以直接进入构建。

⚡ 构建流程:clone 之后一条 make 全量编译

拉取源码并进入根目录,一条make完成全部工作:

git clone https://gitcode.com/GitHub_Trending/cap1/Cap cd UAC-BOF-Bonanza && make

Makefile 里只有三个目标值得了解:bof把 7 个*BOF.cpp / *BOF.c-c编译为未链接目标文件;standalone-static -s -w静态链接并去符号产出 exe;clean则清空所有模块的bin/目录。只研究某一种手法时,进入对应模块目录(如 CmstpElevatedCOM/)单独执行make即可。

🧩 三种加载方式:推荐先走 Sliver 按模块验证

Sliver 的路径最短,每个模块目录里都带了extension.json,入口、架构(amd64)和参数都已声明:

cp -rp SspiUacBypass /root/.sliver-client/extensions/ cd /root/.sliver-client/extensions/SspiUacBypass && make # 客户端内执行:extensions load /root/.sliver-client/extensions/SspiUacBypass

Havoc 则是把Havoc-UACBypass.py放进脚本目录加载,得到统一的uac-bypass命令族,trustedpathelevatedcom等 7 个子命令一次齐全。独立验证最简单,把bin/standalone/下的 exe 丢进 Windows 虚拟机直接运行。

⚠️ 安全与边界:仅限自有实验室

这 7 种手法全部是公开技术,作者仅在 Windows 11 (23H2) 与 Windows 10 (22H2) 上验证过行为。BOF 与 Havoc 模块均按 x86_64 交叉编译,x86 目标会直接报错退出。主流 EDR 与 SOC 通常具备对应检测能力,请务必只在自己的实验环境里操作,使用前通读一遍模块源码,例如 SspiUacBypass/src/ 中的实现细节。

收尾

到这里,从 MinGW 交叉编译到三种加载方式的完整链路已经打通。接下来可以挑一个模块,比如 RegistryShellCommand/src/,对照ms-settings\Shell\Open\command的注册表注入逻辑,把测试机的行为验证清单补全。

【免费下载链接】CapOpen source Loom alternative. Beautiful, shareable screen recordings.项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询