来自https://github.com/teamssix/container-escape-check

介绍
这个脚本用来检测 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 -O- | 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

如果感觉还不错,记得给项目点个小星星(star) ✨
⚠️
注意:
这个脚本需要在 Docker 容器中运行
这里的检测方法大多是基于我自己的经验,可能会存在检测误检或者漏检的情况,如果您发现了这种情况,欢迎提 Issue
由于有的逃逸方法需要根据目标 Docker 的版本去判断,这里我暂时还没想到从容器内部获取 Docker 版本的方法,因此脚本暂时还不支持这块儿的检测。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起冲,一起学。每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款。


