Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-9074 — CVE-2025-9074 的概念验证利用代码,演示了在 Windows 上通过暴露的 Docker Engine API 实现容器到主机的文件写入。仅供授权测试和教育用途。 | Kitploit
工具/GitHubGitHub/zenzue/cve-2025-9074
容器安全漏洞分析漏洞利用渗透测试云安全错误配置学习与教育容器逃逸实验室与实践
GitHubzenzue/cve-2025-9074

CVE-2025-9074

CVE-2025-9074 的概念验证利用代码,演示了在 Windows 上通过暴露的 Docker Engine API 实现容器到主机的文件写入。仅供授权测试和教育用途。

查看仓库
10431年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-9074 – Docker Desktop (Windows) 容器→主机写入(通过暴露的引擎 API)

作者: w01f

状态: 概念验证(仅用于教育/授权测试)

概述

本项目演示了 CVE-2025-9074 的概念验证,该漏洞涉及 Docker Desktop for Windows 某些版本中的配置错误/暴露问题——Docker 引擎 HTTP API(位于 http://192.168.65.7:2375)可从容器内访问(有时也可通过 SSRF 访问),使攻击者能够创建一个带有 bind mount 的容器,挂载到 Windows 主机驱动器,并向主机写入文件。

⚠️ 仅限在受控实验环境中使用,或获得明确的书面授权。滥用可能导致违反法律和政策。

此 PoC 的功能

  • 连接 Docker 引擎 API(默认:http://192.168.65.7:2375)
  • 创建一个短期存活的容器,带有从主机 C:\(在 Linux VM 内映射为 /mnt/host/c)到容器内 /host_root 的 bind mount
  • 执行简单命令,在主机上创建 C:\pwn.txt

如果目标存在漏洞,你会看到 Windows 主机上出现该文件。

影响范围 / 前置条件

  • 目标: 运行存在漏洞的 Docker Desktop 的 Windows 机器,且引擎 API 对容器暴露于 192.168.65.7:2375(HTTP,无 TLS)。
  • 攻击者视角: 在该主机上运行的任何容器(或具有 SSRF 访问引擎端点的服务)。
  • 此 PoC 在容器内运行(典型的真实攻击视角)。

✅ 如果从容器内执行 GET http://192.168.65.7:2375/_ping 返回 OK,则很可能满足 PoC 条件。

仓库结构

root@kitploit:~
.
├─ cve_2025_9074_poc.py     # Python PoC(基于 requests)
└─ README.md                # 本文件

依赖

  • Python 3.8+
  • pip install requests
  • 从运行 PoC 的容器内能够访问 Docker 引擎 API(默认:http://192.168.65.7:2375)

快速开始(在目标主机的容器内执行)

root@kitploit:~
# 1) 安装依赖
pip install --no-input requests

# 2) 运行 PoC
python3 cve_2025_9074_poc.py

# 可选:自定义输出文件名或镜像
# python3 cve_2025_9074_poc.py --outfile test.txt --image busybox

默认行为:

  • 目标引擎:http://192.168.65.7:2375
  • 绑定的主机路径:/mnt/host/c(从 Linux VM 视角看到的 Windows C:\)
  • 容器内挂载点:/host_root
  • 在主机上创建的文件:C:\pwn.txt

命令行参数

root@kitploit:~
--host        引擎主机 IP(默认:192.168.65.7)
--port        引擎端口     (默认:2375)
--image       容器镜像     (默认:alpine)
--host-path   引擎主机/VM 上要绑定的路径(默认:/mnt/host/c)
--mount-path  容器内的路径      (默认:/host_root)
--outfile     要在主机 C:\ 上创建的文件名(默认:pwn.txt)

预期结果

在存在漏洞的系统上,运行 PoC 后应能找到:

root@kitploit:~
C:\pwn.txt

文件内容为文本 pwned_by_CVE_2025_9074。

清理

PoC 使用短期存活的容器。如要彻底清理:

root@kitploit:~
# 从具有 docker CLI 访问权限的特权 shell 执行:
docker ps -a --format '{{.ID}}\t{{.Image}}\t{{.Command}}'
# 如有残留,按容器 ID 删除:
docker rm -f <CONTAINER_ID>
# 删除主机上的测试文件:
del C:\pwn.txt

缓解措施(防御指南)

  • 更新 Docker Desktop for Windows 至已修补版本(或最新版本)。
  • 确保 Docker 引擎 API 未通过纯 HTTP 暴露给不受信任的网络或容器。
  • 优先使用 TLS 保护访问,并对引擎 API 实施严格的访问控制。
  • 考虑采用网络策略/防火墙规则,阻止容器访问引擎端点。

检测思路(蓝队)

  • 查找 容器创建 事件,其中 HostConfig.Binds 包含 /mnt/host/c 或其他主机驱动器挂载路径。
  • 监控 C:\ 上非预期的文件创建,这些创建可能源自 Docker Linux VM 上下文中的进程。
  • 从容器命名空间到 192.168.65.7:2375(HTTP)的网络流量是可疑的。

故障排除

  • /ping 未返回 OK / 连接被拒绝:引擎 API 无法从你的容器访问;目标主机可能已修补或未暴露。
  • 文件未创建:检查 --host-path 是否正确映射到 Linux VM 视角下的 Windows C:\。某些环境可能有所不同。
  • 镜像拉取问题:预拉取 alpine 或使用 --image busybox 切换到 busybox。

法律与伦理声明

本 PoC 仅用于教育和授权测试。未经明确书面授权对系统运行此程序是非法且不道德的。作者和贡献者 不对滥用或损害负责。

许可证

MIT


作者: w01f

下载工具