【工具分享】一个检测容器逃逸的脚本


介绍

最近搞了个检测 Docker 容器逃逸的脚本,目前支持以下几种方法的检测:

  1. 处于特权模式
  2. 挂载了 Docker Socket
  3. 挂载了 Procfs
  4. 挂载了宿主机根目录
  5. 开启了 Docker 远程 API 访问接口
  6. CVE-2016-5195 DirtyCow 脏牛漏洞
  7. CVE-2020-14386
  8. 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

img


文章作者: TeamsSix
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 TeamsSix !
评论
  目录