这是一个针对 cpio 中整数溢出漏洞的 ACE(任意代码执行)概念验证。该漏洞利用绕过了所有二进制保护(完全 RELRO 除外)。此漏洞利用使用 cpio 2.13 和 libc 2.31。视频演示:https://youtu.be/F0yKJhu7Vak
我们提供了一个 Kali Dockerfile 来运行该漏洞利用。相同的漏洞利用在 Docker 容器外也可能有效,但偏移量可能不同。
sudo docker build -t cpiopwn .sudo docker run --mount type=bind,source=$(pwd),destination=/cpiopwn -it cpiopwn /bin/bashcd cpiopwndocker_fengshui.py 构建一个模式文件,并通过大量命令行参数调用 cpio。
python3 exploit.py就是这样!构建恶意模式文件后,将出现一个提示符,稍等片刻后即可开始处理命令。
在提示符出现后,漏洞利用可能需要大约一分钟才能开始响应命令。我们提供了一个运行视频,展示应有的效果。
此外,该漏洞利用可能仅在至少 12 GB RAM 的计算机上有效,因为它会强制 cpio 读取数 GB 的输入。我们之前版本的漏洞利用在服务器上遇到过内存不足的问题——当前版本已在 12 和 16 GB RAM 的计算机上测试过,但未在更小内存的机器上测试。
|\__/,| (`\
_.|o o |_ ) )
-(((---(((--------