Int3rtia/ruac

GitHub: Int3rtia/ruac

一个基于CMSTP INF劫持技术的UAC绕过工具,用Rust编写,可静默提升权限并执行自定义payload。

Stars: 7 | Forks: 1

我为 Interium 编写的 UAC 绕过程序。利用 CMSTP INF 劫持技术,运行 `cmstp.exe /au` 并附带一个包含 `RunPreSetupCommands` 的 INF 文件。cmstp 在其清单中设置了 `autoElevate=true`,因此 Windows 会静默提升其权限,不显示 UAC 提示。有效载荷将以高完整性级别(High IL)运行。 已在 Windows 10 和 Windows 11 25H2(内部版本 26200.8457)上测试。使用 Rust 编写。 注意:CMSTP 技术早已为人所知(自 2017 年就已存在),但大多数公开的概念验证(PoC)是用 C# 或 PowerShell 编写的,并且会留下大量痕迹。这个实现更干净。 ![media](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5019a43a63172857.gif) 目前,它只是生成一个提升权限的 `cmd.exe`。你可以将 `elevated_payload()` 替换为任何你实际上想要运行的代码。 ## 使用方法 直接运行即可。 ``` uac_bypass.exe ``` 如果你想将其作为库模式使用,请查看 `src/main.rs` 中的 `elevated_payload()`,那就是提升代码运行的地方。防护机制是 `main()` 中对 `/setup` 参数的检查。 ## 防护机制的工作原理 INF 文件会执行:`"<你的 exe 路径>" /setup` 当提升后的实例启动时,`main()` 会检查参数中是否包含 `/setup`。如果找到,它会跳过绕过逻辑,直接调用 `elevated_payload()`。如果没有这个防护机制,程序会陷入死循环,不断尝试绕过自身。 ## AI 声明 字符串混淆的设置以及部分 Windows crate API 的接线工作是在 AI 的帮助下完成的。技术本身、逻辑、对话框关闭、窗口清理以及提升后的进程结束流程均由我自己完成。实际的 UAC 绕过方法(CMSTP INF RunPreSetupCommands)是公开的研究成果。 ## 局限性 - 用户账户必须属于管理员组(标准用户无法使用) - UAC 不得设置为“始终通知”(仅限默认设置) - 系统中必须存在 CMSTP(默认所有 Windows 安装都包含,但可被移除) - 未内置反病毒规避功能。**这仅仅是绕过手段**,混淆是另一个独立的问题 ## 许可协议 随意使用。如果你将其用于非法用途,责任自负。
标签:CMSTP, Conpot, INF劫持, Rust, UAC绕过, Windows 10, Windows 11, Windows安全, 协议分析, 可视化界面, 攻击技术, 权限提升, 端点可见性, 网络流量审计, 自动提权, 通知系统