[!WARNING] 本 PoC 仅用于帮助防御者、维护人员以及获得授权的安全团队,在他们拥有或 明确获授权测试的系统上验证补丁、缓解措施、检测规则和暴露面。
您需自行确保对本材料的使用是合法、获授权、受控的,并在隔离的测试环境中进行。
[!WARNING] 本 PoC 具有破坏性。 它会修改
/etc/pam.d/su,且没有任何回滚机制。 一次位置错误的覆写可能破坏无关的内核内存,导致机器挂起或崩溃。请仅在一次性虚拟机/可丢弃主机上运行。
该 PoC:
进入私有的用户/网络命名空间,构建 veth、IOAM6、netem、AH6 以及
ESP-in-UDP 路径,并将源自 /etc/pam.d/su 的文件后备 ESP skb 排队
发送一个畸形的 IPv6 路由头,其 segments_left 超过其地址数量,使 AH6 破坏附近的目标 skb
利用被破坏的 skb 元数据,使 ESP 将选定字节解密到文件后备的 PAM 页面中,并且
在 pam_rootok.so 变为 pam_permit.so 之后运行 su - root。
为简单起见,该 PoC 假定并针对 x86-64。理论上,该漏洞不应与架构相关。
为完整起见,详尽列举如下:
7.1.3-100.fc43.x86_64,或 Ubuntu 24.04 搭配 6.8.0-134-generic(您可以尝试移除这些检查,但其他发行版/内核版本可能需要针对目标进行定制/堆布局)/etc/pam.d/su 布局CAP_NET_ADMIN 和 CAP_NET_RAWsch_netem 以及 vethgcc、openssl、ip、tc、unshare、nsenter、su、bash、env、sh、sleep、awk、seq、grep、kill、cat、、、、 和 ,另外如果直接使用 被拒绝,还需要 以及已加载的 配置文件Fedora 在 16 vCPU/32 GB RAM 下测试效果最佳;Ubuntu 在 29 vCPU/8 GB RAM 下测试效果最佳——其他组合也可能可行(尤其是不同的 vCPU 数量)。该 PoC 在其他各种 vCPU/RAM 组合下表现_尚可_,但效果因人而异。
请以具有 passwd 条目的非特权用户身份运行它。
python3 dirtyah6_root_repro.py
sedrmddodtrunshare -Urnaa-exectrinity