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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2025-9074-poc — 验证2025年8月20日公开的Docker Desktop漏洞(已修复) | Kitploit
工具/GitHubGitHub/xrayzen/cve-2025-9074-poc
权限提升容器安全漏洞分析漏洞利用云安全学习与教育
GitHubxrayzen/cve-2025-9074-poc

cve-2025-9074-poc

验证2025年8月20日公开的Docker Desktop漏洞(已修复)

查看仓库
21年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-9074 (教育用 PoC・概念验证代码)

本仓库包含一个用于教育目的的 PoC,演示了利用 Docker Engine 的未认证远程 API 创建可读写主机文件系统的特权容器的风险。
执行文件为 poc.go。

重要:本 PoC 仅限用于教育及防御目的。禁止在第三方环境或未经授权的系统上执行。

危险性评估

  • 综合评估:严重
  • 预估 CVSS v3.1 基本分:9.8 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
  • 依据:
    • 未认证即可访问 TCP/2375 → PR:N, UI:N, AV:N
    • 通过特权容器 + 主机绑定挂载导致作用域变更,机密性/完整性/可用性影响严重 → S:C, C/I/A:H
    • 攻击步骤只需向 Docker Engine API 发送少量 HTTP 请求即可完成 → AC:L
  • 影响范围:
    • 整个主机操作系统、其他容器、同一网络中的资产(包括凭据窃取和横向移动)
  • 执行权限:
    • 无需认证(PR:N)。无需管理员权限

背景

  • Docker Engine 提供远程 API,可通过 /version、/info、/containers/create 等端点进行操作。
  • 若容器可从外部访问,则存在无需认证即可创建容器、授予特权、绑定挂载主机目录的情况。
  • 在 Windows + Docker Desktop 环境中,存在可通过 /run/desktop/mnt/host/<驱动器> 或 /host_mnt/<驱动器> 访问 Windows 主机驱动器的挂载路径。本 PoC 利用该路径在主机上生成文件以可视化影响。

操作概要

poc.go 执行以下操作:

  • 向 http://192.168.65.7:2375 调用 Docker Engine API 进行连通性测试(/version)
  • 检查可用镜像列表(/images/json),若不存在则尝试拉取 alpine:latest
  • 创建特权容器,将主机驱动器(例如 C:、N:)绑定挂载到 /host_root
  • 从容器内向 /host_root 根目录写入验证文件(例如 cve_2025_9074_poc.txt)以可视化影响
  • 执行后删除容器

风险(设想的滥用方式)

  • 读写主机文件系统(在 Docker Engine 执行权限范围内)
  • 窃取机密信息(密码、SSH 密钥等)
  • 篡改系统配置文件
  • 植入恶意软件、持久化
  • 向其他容器及网络横向移动
  • 权限提升

必要条件

  • Go 1.20 以上(可通过 go run 运行)
  • (存在漏洞的)Docker Desktop/Engine 正在运行
  • (存在漏洞的)Docker Desktop/Engine 上运行的 Docker 容器中执行本代码
  • Docker Engine API 在 http://192.168.65.7:2375 上响应(PoC 的默认值)

使用方法

  1. 获取仓库

    root@kitploit:~
    git clone <this-repo>
    cd cve-2025-9074
    
  2. 执行 PoC

    root@kitploit:~
    go run poc.go
    
  3. 输出示例

    • 显示与 /version 的连通性测试成功
    • 检测可用镜像或拉取 alpine:latest
    • 创建特权容器,在主机上创建文件的结果
    • 基于 /info 的系统信息摘要
  4. 演示用的 curl 示例(将显示在屏幕上)

    • 向 /containers/create 发送的 JSON 示例,/containers/{id}/start 的启动示例

配置自定义

  • 可调整 attemptHostWrite 内的候选数组(/run/desktop/mnt/host/<驱动器>、/host_mnt/<驱动器>、C:/ 等)以适配环境。
  • 使用的镜像
    • 优先使用现有镜像。若无则自动拉取 alpine:latest。

验证环境注意事项

  • 包含基于 Windows + Docker Desktop 行为的挂载路径示例。
  • 在 macOS 下主机路径不同,需要相应修改。
  • 根据 Docker Desktop 的版本或配置,PoC 可能不成立(即安全)。

免责声明

  • 本仓库仅用于研究和教育目的。不鼓励攻击、侵入或破坏行为。
  • 对于因使用本 PoC 而产生的任何损害,作者概不负责。
  • 请勿在自身不具备合法管理权限的隔离环境之外执行。

许可证

下载工具