目录
目前的 Docker 逃逸的原因可以划分为三种:
1.内核漏洞引起
1.1 条件竞争类dirtypipe + dac_search,dirtycow(vdso),这两个漏洞,利用的不是任意代码执行能能力,而是对某个文件,某个内存页面可写,只读也给你写进去,而dirtypipe结合了dac_seach获得句柄,dirtycow是写vdso来完成逃逸
1.2 内核漏洞,任意读写(直接可以改内核中的值),uaf,堆栈溢出等可以通过布置SHELLCODE,来执行自己的代码完成逃逸,例如布置改ns代码,或者直接调用改ns的函数
2.自身组件
2.1 docker cp漏洞
2.2 docker runc
3.配置不当
3.1 特权容器,特权容器下,所有capabiltiy都拥有,并且对设备/dev可见
3.2 挂载
以下几个如果被挂载,都会被可写,造成逃逸
3.2.1 /etc/crontab
3.2.2 /procfs
3.2.2.1 /proc/sys/kernel/modprobe
3.2.2.2 /proc/sys/kernel/core_pattern<