## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MAVRICK-1-CVE-2024-23113-TEST-ENV
# CVE-2024-23113 FortiOS 测试环境
一个基于 Docker 的测试环境,用于针对模拟的易受攻击 FortiOS 实例验证 CVE-2024-23113 Nuclei 模板。
## 🔍 概述
本环境模拟易受攻击的 FortiOS HTTP 接口,以测试 CVE-2024-23113 Nuclei 模板的检测能力。它提供逼真的 FortiOS 响应,包括登录页面、API 端点以及正确的版本信息。
## 🚀 快速开始
### 前提条件
* Docker
* Docker Compose
* Nuclei(用于测试)
### 基本设置
1. **克隆并构建:**
root@kitploit:~
git clone <此仓库>
cd cve-2024-23113-test-env
docker-compose up -d
2. **验证环境:**
root@kitploit:~
curl http://localhost:8080/
3. **使用 Nuclei 测试:**
root@kitploit:~
# 针对易受攻击实例测试
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 -v
# 带调试输出测试
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 -debug
## 🎯 可用环境
### 默认环境
* **服务** : `fortios-vulnerable`
* **端口** : `8080`
* **版本** : FortiOS v7.2.5(易受攻击)
* **URL** : `http://localhost:8080`
### 额外测试环境
root@kitploit:~
# 启动已修补版本用于对比
docker-compose --profile patched up -d
# 启动多个易受攻击版本
docker-compose --profile multiple up -d
#### 可用配置文件:
* **默认** : FortiOS v7.2.5(易受攻击)— 端口 8080
* **已修补** : FortiOS v7.2.7(已修补)— 端口 8081
* **多个** :
* FortiOS v7.4.1(易受攻击)— 端口 8082
* FortiOS v7.0.10(易受攻击)— 端口 8083
## 🔧 配置
### 环境变量
变量| 描述| 默认值
---|---|---
`FORTIOS_VERSION`| 要模拟的 FortiOS 版本| `7.2.5`
`PORT`| 容器内部端口| `8080`
### 自定义版本
root@kitploit:~
# 运行特定版本
docker run -p 8080:8080 -e FORTIOS_VERSION=7.4.2 cve-2024-23113-test
## 📡 API 端点
模拟的 FortiOS 提供以下端点:
### 示例 API 响应
root@kitploit:~
{
"version": "v7.2.5",
"hostname": "TEST-FORTIGATE",
"serial": "FGTVM1234567890",
"build": 1396,
"model": "FortiGate-VM64"
}
## 🧪 测试场景
### 检测易受攻击版本
root@kitploit:~
# 测试易受攻击版本
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 # v7.2.5
nuclei -t CVE-2024-23113.yaml -u http://localhost:8082 # v7.4.1
nuclei -t CVE-2024-23113.yaml -u http://localhost:8083 # v7.0.10
### 已修补版本验证
root@kitploit:~
# 测试已修补版本(不应检测到)
nuclei -t CVE-2024-23113.yaml -u http://localhost:8081 # v7.2.7
### 批量测试
root@kitploit:~
# 测试所有实例
echo -e "http://localhost:8080\nhttp://localhost:8081\nhttp://localhost:8082\nhttp://localhost:8083" | nuclei -t CVE-2024-23113.yaml -l /dev/stdin
## 🔍 手动测试
### 检查服务响应
root@kitploit:~
# 基本连通性
curl -v http://localhost:8080/
# API 端点
curl -s http://localhost:8080/api/v2/monitor/system/status | jq .
# 检查头部
curl -I http://localhost:8080/
### 预期的易受攻击指示器
* **HTML** : 包含 `FortiOS v7.2.5`
* **服务器头部** : `FortiGate-HTTP/v7.2.5`
* **API 响应** : `"version": "v7.2.5"`
## 🐛 故障排除
### 常见问题
#### 端口已被占用
root@kitploit:~
# 检查哪个进程在使用该端口
netstat -tlnp | grep 8080
# 使用不同端口
docker-compose up -d --scale fortios-vulnerable=0
docker run -p 8090:8080 cve-2024-23113-test
#### 容器无法启动
root@kitploit:~
# 查看日志
docker-compose logs fortios-vulnerable
# 重建镜像
docker-compose build --no-cache
#### 健康检查失败
root@kitploit:~
# 检查容器健康状态
docker ps
docker exec cve-2024-23113-vulnerable curl -f http://localhost:8080/
### 调试
root@kitploit:~
# 查看实时日志
docker-compose logs -f
# 交互式 shell
docker exec -it cve-2024-23113-vulnerable /bin/bash
# 从容器内部测试
docker exec cve-2024-23113-vulnerable curl localhost:8080
## 📋 易受攻击版本
此环境可以模拟以下任何易受攻击版本:
### FortiOS
* 7.4.0, 7.4.1, 7.4.2
* 7.2.0 到 7.2.6
* 7.0.0 到 7.0.13
### FortiProxy
* 7.4.0, 7.4.1, 7.4.2
* 7.2.0 到 7.2.8
* 7.0.0 到 7.0.14
### 使用示例
root@kitploit:~
# 测试不同易受攻击版本
docker run -p 8080:8080 -e FORTIOS_VERSION=7.4.0 cve-2024-23113-test
docker run -p 8081:8080 -e FORTIOS_VERSION=7.0.13 cve-2024-23113-test
## 🏗️ 开发
### 从源码构建
root@kitploit:~
# 构建镜像
docker build -t cve-2024-23113-test .
# 手动运行
docker run -p 8080:8080 cve-2024-23113-test
### 自定义响应
编辑 `server.py` 以修改:
* HTML 响应
* API 端点数据
* 服务器头部
* 版本信息
## ⚠️ 安全声明
**这仅是一个测试环境:**
* ✅ 用于安全测试和模板验证
* ✅ 在隔离的实验室环境中使用
* ❌ **切勿暴露到公共网络**
* ❌ **切勿在生产环境中使用**
## 📚 参考
* CVE-2024-23113 详情
* Fortinet 安全公告
* CISA KEV 目录
* Nuclei 模板仓库
## 📞 支持
如果此测试环境出现问题:
1. 检查故障排除部分
2. 查看容器日志
3. 验证 Nuclei 模板语法
4. 使用手动 curl 请求测试
* * *
**请记住** :此环境仅用于授权的安全测试。在测试任何系统之前,请确保您已获得许可。