Linux 提权枚举工具,可确认可利用性并给出精确的 root shell 命令——无需再搜索 GTFOBins。包含 MCP 服务器 + AI 代理技能。
一款 Linux 提权扫描器,确认真正可利用的内容
并为你提供获取 root 权限的精确命令。
由 tmrswrr 驱动
为什么 • 演示 • 快速开始 • AI / MCP • 检查内容 • 安装与使用
大多数枚举工具会输出数百行“可能有趣”的内容,然后把最难的部分留给你:判断哪些是真实的,然后上网搜索可用的漏洞利用。
confirmesc 恰恰相反。它直接针对实时系统验证每一项发现,为其标注诚实的置信度,并且对于每一个已确认的攻击向量,它都会打印一条可直接运行的命令,真正让你获得 root shell。无需猜测 200 行中哪些重要,也无需在另一个标签页中打开 GTFOBins 查找 payload。
专为渗透测试人员、CTF / Hack The Box 玩家以及系统管理员打造,他们想要一个明确答案:这台机器现在能否被提权,以及如何提权?
| 经典枚举工具 (LinEnum, linPEAS) | GTFOBins (参考网站) | confirmesc | |
|---|---|---|---|
| 列出可疑项 | 数百行 | - | 仅列出重要内容 |
| 确认在本机上可利用 | 否 | 否 | 是,实时验证 |
| 给出精确的利用命令 | 否 | 手动查找 | 是,可直接粘贴 |
处理 dash/bash 权限降级 | 否 | 经常失败 | 是 |
真正证明 root(euid == 0) | 否 | 否 | 是,使用 --poc |
| 诚实的置信度等级 | 否 | - | CONFIRMED / LIKELY / INFO |
| AI 代理集成(MCP + 技能) | 否 | 否 | 是 |
五点让它脱颖而出:
它确认,而非猜测。 只有当可利用条件本身在运行系统上被直接观察到时,一项发现才会被标记为 CONFIRMED:已知二进制文件上真实的 SUID 位、真实危险的能力、已授权的 sudo -l 规则、真正可写的 root 所属文件。而不是“这个版本可能有漏洞”。
它为你提供 payload,因此你无需搜索。 每一个已确认的 SUID / sudo / capability 向量都附带一条可复制粘贴的命令,用于生成交互式 root shell。无需打开 GTFOBins、匹配技术并手动调整一行命令——confirmesc 已经完成了这些。
它的命令在现代机器上有效。 在当前基于 Debian 的系统上,/bin/sh 是 dash,而 dash 和 bash 一旦发现 euid != ruid 就会静默丢弃 root 权限。许多复制来的 GTFOBins 一行命令因此失败。confirmesc 生成的命令会处理这一点(显式 setuid(0)、bash -p 或直接 exec()),因此你获得的 shell 是真正的 root。
它可以实时证明 root。 使用 --poc 时,它会运行真实的提权 payload,并检查生成的进程是否真正具有 euid 0,将“理论上可利用”变为“我们刚刚获得了 root。”
它已为 AI 代理做好准备。 confirmesc 附带一个 MCP 服务器和一组技能, 因此 AI 代理可以将扫描作为工具运行,并遵循内置的方法论来 对已确认的发现采取行动——AI 辅助的权限提升,端到端。 参见 AI 代理集成。
一个非特权用户运行 confirmesc,获得三个 CONFIRMED 向量,每个都带有
一个可直接运行的 root shell,粘贴其中一个,然后获得 root shell——在
testlab/ Docker 沙箱中实时录制。
git clone https://github.com/capture0x/confirmesc
cd confirmesc
python3 -m pip install -e .
confirmesc # passive scan of the current box, readable text report
阅读报告顶部。ACTIONABLE FINDINGS 部分列出了每个 CONFIRMED 向量,每个都带有一行高亮的 root shell:,你可以直接复制并运行。这就是整个工作流程:扫描、阅读已确认的发现、运行命令。
当存在任何 CONFIRMED 发现时,进程退出码为 1,否则为 0,这使得它易于在 CI 或 CTF 自动化中使用。
confirmesc 专为 AI 辅助权限提升 而构建。它附带两个可选组件,让 AI 代理可以通过模型上下文协议(Model Context Protocol)驱动它:扫描变成一个 可调用的工具,而一组 技能 为代理提供了内置的方法论,以便对已确认的发现采取行动。代理运行扫描、读取已确认的向量,并且已经拥有每个向量的确切 root 命令——无需手动分类,无需搜索载荷。
confirmesc-mcp 通过模型上下文协议暴露扫描功能。代理列出工具,调用 scan,然后获得结构化的发现结果,每个 CONFIRMED 的发现都已经带有可直接运行的利用命令:
暴露的工具:
scan - 运行被动/主动扫描并返回结构化发现结果(每个已确认向量都带有 exploit_command)report - 运行扫描并以 text、json 或 html 格式返回渲染后的报告list_privesc_checks - 按类别列出可用的检查项实时利用(--poc)被有意 不 暴露:确认条件是安全的自动化操作,但运行提权载荷仍然是操作员的决定。
pip install -e ".[mcp]"
confirmesc-mcp # serve over stdio
将任何 MCP 客户端通过标准 stdio 服务器配置指向它:
{
"mcpServers": {
"confirmesc": { "command": "confirmesc-mcp" }
}
}
skills/ 目录存放 AI 代理加载以处理每个向量类别的操作手册。每个 confirmesc 发现类型对应一个技能,外加一个编排器:
| 技能 | 角色 |
|---|---|
privesc-authorization-check | 门控:在扫描或利用前确认范围和权限(首先加载) |
confirmesc-triage | 编排器:运行 confirmesc,读取报告,将每个 CONFIRMED 发现路由到正确的技术技能 |
suid-sgid-exploitation | 将已确认的 SUID/SGID 发现转化为 root shell |
sudo-abuse | 将已确认的 sudo 规则转化为 root shell |
linux-capabilities | 滥用 cap_setuid 和其他危险的文件能力 |
kernel-cve | 针对版本匹配的内核/sudo/polkit CVE(Dirty Pipe、PwnKit、Baron Samedit 等)采取行动 |
cron-path-hijack | 利用 root 调度器运行的可写 cron/systemd/$PATH 条目 |
cron-wildcard-injection | 利用 root 运行的 tar/rsync/... 命令中未加引号的通配符 |
group-escalation | 通过 docker/lxd/lxc/disk 组成员身份进行提权 |
sudo-env-keep | 利用通过 sudo env_keep 规则保留的 LD_PRELOAD |
nfs-no-root-squash | 通过 no_root_squash 导出植入 root 所有的 SUID shell |
credential-recon | 复用其他用户可读的 SSH 密钥、.env 或历史记录进行横向移动 |
critical-file-write | 通过可写的 /etc/passwd、/etc/shadow 或 /etc/sudoers 进行提权 |
post-exploitation-notes | 获取 root 后:记录路径,保持更改可逆,清理痕迹 |
要使用它们,请将你的代理技能加载器指向 skills/ 目录(每个子文件夹的 SKILL.md 都是自包含的),或将你需要的技能复制到其技能路径中。每个技能都保持利用由操作员驱动,且仅限授权目标。
confirmesc 从不躲在模糊的措辞背后。每个发现都带有四个级别之一,让你确切知道该信任它多少。
| 级别 | 含义 |
|---|---|
CONFIRMED | 可直接观察到可利用条件本身。不是猜测。 |
LIKELY | 匹配到强指示符(通常是版本字符串与已知 CVE 范围匹配),但向后移植或运行时条件仍可能阻止它。需手动验证。 |
INFO | 值得了解的上下文,本身不是提权路径(例如被标记为需手动审查的未分类 SUID 二进制文件)。 |
ERROR | 检查无法完成(缺少工具、权限被拒绝)。 |
| 模式 | 标志 | 功能 |
|---|---|---|
| 被动 | (默认) | 仅读取文件元数据并运行只读命令(find、getcap、sudo -n -l、uname -r)。从不写入磁盘,从不运行漏洞利用。 |
| 主动 | --active | 增加一个非破坏性步骤:使用无害标志(--version)运行可疑二进制文件以确认其可用。从不生成 shell,始终限时(3 秒)。 |
| PoC | --poc | 实际运行真正的提权载荷并验证 euid == 0。每个载荷都是单个只读的 id -u 证明——无 shell、不写入文件、不持久化任何内容。 |
--poc会尝试真正的权限提升。仅对你明确授权测试的系统运行它(你自己的系统、CTF,或已签署授权的委托测试)。
这是最能节省你时间的功能。对于每个 CONFIRMED 的 SUID / sudo / capability 发现,如果其二进制文件有经过验证可靠的配方(find、bash、python/python2/python3、perl、ruby),confirmesc 会将一条完整命令写入报告——你复制并运行它即可直接进入交互式 root shell:
3/3 [CONFIRMED] Exploitable sudo rule: /usr/bin/find
root shell: sudo /usr/bin/find . -maxdepth 0 -exec /bin/bash -p \; -quit
你不查任何东西。你不改编一行命令。你复制这一行,你就成了 root。
confirmesc 在任何模式下(包括 --poc)都不会替你运行这条命令。它只是打印出来供你自行决定,就像人工渗透测试报告会给出的 PoC 一样。它会以高亮的 root shell: 行出现在文本报告中,在 HTML 报告中显示为绿色方框,并在 JSON 中作为 exploit_command 键出现。