介绍
最近搞了个检测 Docker 容器逃逸的脚本,目前支持以下几种方法的检测:
- 处于特权模式
- 挂载了 Docker Socket
- 挂载了 Procfs
- 挂载了宿主机根目录
- 开启了 Docker 远程 API 访问接口
- CVE-2016-5195 DirtyCow 脏牛漏洞
- CVE-2020-14386
- CVE-2022-0847 DirtyPipe
项目地址:https://github.com/teamssix/container-escape-check
感觉还不错的师傅们可以点个小星星 🌟
对于检测的原理可以看我写的这篇文章:https://zone.huoxian.cn/d/990
使用
在 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 容器中运行
- 这里的检测方法大多是基于我自己的经验,可能会存在检测误检或者漏检的情况,如果您发现了这种情况,欢迎提 Issue
- 由于有的逃逸方法需要根据目标 Docker 的版本去判断,这里我暂时还没想到从容器内部获取 Docker 版本的方法,因此脚本暂时还不支持这块儿的检测。
更多信息欢迎关注我的个人微信公众号:TeamsSix