这个脚本用来检测 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
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
⚠️注意:
- 这个脚本需要在 Docker 容器中运行
- 这里的检测方法大多是基于我自己的经验,可能会存在检测误检或者漏检的情况,如果您发现了这种情况,欢迎提 Issue
- 由于有的逃逸方法需要根据目标 Docker 的版本去判断,这里我暂时还没想到从容器内部获取 Docker 版本的方法,因此脚本暂时还不支持这块儿的检测。
原文始发于微信公众号(夜组安全):Container Escape Check 容器逃逸检测
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论