Docker逃逸漏洞

admin 2022年3月7日20:02:25评论117 views字数 1116阅读3分43秒阅读模式


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


Docker逃逸漏洞


        因为Docker所使用的是隔离技术,就导致了容器内的进程无法看到外面的进程,但外面的进程可以看到里面,所以如果一个容器可以访问到外面的资源,甚至是获得了宿主主机的权限,这就叫做“Docker逃逸”。



Ubuntu安装指定版本的docker

 

sudo apt-get installdocker-ce=18.03.0~ce-0~ubuntu
报错:

E: Version '18.03.0~ce-0~ubuntu' for 'docker-ce'was not found


Docker逃逸漏洞


sudo apt-get update
sudo apt-get install apt-transport-httpsca-certificates curl software-properties-common
curl -fsSLhttps://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64]https://download.docker.com/linux/ubuntu xenial stable"

查看可用的docker版本:

apt-cache madison docker-ce
输出结果:

 

 

Docker逃逸漏洞



 

sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

 

Docker逃逸漏洞

 

随便起个服务

dockersearch redis

 

Docker逃逸漏洞

 

dockerpull redis

dockerrun -p 6379:6379 -d redis


Docker逃逸漏洞

 


Docker容器进入

 

Docker逃逸漏洞

 

安装go环境编译payload

 

下载go环境

wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

 

Docker逃逸漏洞

 

解压  tar -C /usr/local -zxvf  go1.11.5.linux-amd64.tar.gz

 

添加环境变量

 

vim/etc/profile

最后一行添加

export GOROOT=/usr/local/go

exportPATH=$PATH:$GOROOT/bin

保存

source/etc/profile

 

cat/proc/1/cgroup


 

Docker逃逸漏洞


Docker逃逸漏洞


Docker逃逸漏洞

 


 

CGO_ENABLED=0GOOS=linux GOARCH=amd64 go build main.go

 

Docker逃逸漏洞



上传脚本到docker里面

 

 

dockercp /root/main 7529741a9265: /root/main

 

Docker逃逸漏洞


 

模拟黑客运行payload

 


 

Docker逃逸漏洞


Docker逃逸漏洞

 

 

Docker逃逸漏洞


Docker逃逸漏洞

 

 

本文始发于微信公众号(Khan安全攻防实验室):Docker逃逸漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月7日20:02:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker逃逸漏洞http://cn-sec.com/archives/534848.html

发表评论

匿名网友 填写信息