这是一个用来检测 Docker 容器逃逸方法的小脚本,在拿到 Docker 容器权限后,可以很方便的使用这个工具去进行逃逸方法的检测。
目前该工具支持以下逃逸方法的检测:
容器处于特权模式
挂载了 Docker Socket
挂载了宿主机 Procfs
挂载了宿主机根或者宿主机 etc 目录
开启了 Docker 远程 API 访问接口
CVE-2016-5195 DirtyCow 脏牛漏洞
CVE-2020-14386
CVE-2022-0847 DirtyPipe
CVE-2017-1000112
CVE-2021-22555
pod 挂载了宿主机 /var/log 目录
当前容器有 CAP_DAC_READ_SEARCH 权限(需要容器支持 capsh 命令)
当前容器有 CAP_SYS_ADMIN 权限(需要容器支持 capsh 命令)
当前容器有 CAP_SYS_PTRACE 权限(需要容器支持 capsh 命令)
CVE-2022-0492
可以在 Docker 容器中一键运行:
wget https://raw.githubusercontent.com/teamssix/container-escape-check/main/container-escape-check.sh | bash
也可以克隆项目到本地,再放到容器中运行:
git clone https://github.com/teamssix/container-escape-check.git
cd container-escape-check
chmod +x container-escape-check.sh
./container-escape-check.sh
注意事项:
该脚本需要在 docker 容器中运行。