Loading... ## 前言 突然诈尸  呆了一个月,随便写一点续一下 ## 漏洞介绍 这个API主要目的是取代命令行界面;Dcoker swarm是docker下的分布化应用的本地集群,开放2375监听容器时,会调用这个API,方便docker集群管理和扩展(绑定在0.0.0.0上,http会返回404page not fount) ## 漏洞检测 随手打了一个测试环境,挺简单的,装好docker以后修改一下配置文件就行了 这里就不去扫端口了,直接用goby扫一下:  emmm,gobyNB 这里通过访问`http:ip:2375/version` 也可以看到是开放了api的:  ## 漏洞利用 首先需要再攻击机上安装docker,我这里已经装好了:  然后使用:`docker -H tcp://ip:2375 images` 查看该服务器上docker已有的镜像:  接下来,我们要将宿主机的根目录挂载到这个镜像下面: ``docker -H tcp://ip:2375 run -it -v /:/mnt imageId /bin/bash``  这里的:`/:/mnt` 也就是将宿主机的根目录 / 挂载到容器中的 /mnt 下挂载完以后,已经进入容器; 接下来看一下/mnt目录下是否有宿主机的根目录:  这样就已经挂载进容器了,接下来拿shell,既然已经有整个目录的读写权限了,那我们就有很多方法拿shell: * 写公钥:将自己的公钥写入到 `authorized_keys` * 写webshell:如果宿主机开放了web服务,且知道web目录,可以通过写webshell更进一步 * 写定时任务:在系统中写入定时任务,反弹shell 这里因为是新开的一个服务器,所以就装了个docker,没法写webshell之类的,就用第一种方法写公钥:  然后使用我们自己的私钥进行登录:  这里看到已经ssh远程登陆到宿主机了:  这就是第一种方法,挺简单的  ## 解决办法 * 设置ACL,只允许信任的IP端口连接对应端口 * 开启TLS,使用生成的证书进行认证 (办法眼熟很正常,C的) ## 写在最后 最近颓废,溜了溜了 <hr class="content-copyright" style="margin-top:50px" /><blockquote class="content-copyright" style="font-style:normal"><p class="content-copyright">版权属于:JsOnGmAX</p><p class="content-copyright">本文链接:<a class="content-copyright" href="https://jsong.cn/archives/677.html" target="_blank" >https://jsong.cn/archives/677.html</a></p><p class="content-copyright">博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议 如有侵权 请联系本人删除</p></blockquote> 最后修改:2020 年 10 月 23 日 05 : 51 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付