evogix/Evil-Ollama
GitHub: evogix/Evil-Ollama
针对公开暴露的 Ollama LLM 实例的发现、漏洞扫描与代理工具,帮助安全测试人员快速评估 Ollama 服务的安全风险。
Stars: 0 | Forks: 0
```
╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ ███████╗██╗ ██╗██╗██╗ ██████╗ ██╗ ██╗ █████╗ ║
║ ██╔════╝██║ ██║██║██║ ██╔═══██╗██║ ██║ ██╔══██╗ ║
║ █████╗ ██║ ██║██║██║ ██║ ██║██║ ██║ ███████║ ║
║ ██╔══╝ ╚██╗ ██╔╝██║██║ ██║ ██║██║ ██║ ██╔══██║ ║
║ ███████╗ ╚████╔╝ ██║███████╗ ╚██████╔╝███████╗███████╗██║ ██║ ║
║ ╚══════╝ ╚═══╝ ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ║
║ ║
║ ██████╗ ██╗ ██╗ █████╗ ███╗ ███╗ █████╗ ║
║ ██╔══██╗██║ ██║ ██╔══██╗████╗ ████║██╔══██╗ ║
║ ██████╔╝██║ ██║ ███████║██╔████╔██║███████║ ║
║ ██╔═══╝ ██║ ██║ ██╔══██║██║╚██╔╝██║██╔══██║ ║
║ ██║ ███████╗███████╗██║ ██║██║ ╚═╝ ██║██║ ██║ ║
║ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ║
║ ║
║ 🔥 Exposed Ollama Instance Hunter v3.0 🔥 ║
║ Find · Exploit · Proxy · PWN ║
║ ║
║ [ For Authorized Security Testing Only ] ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
```
# 🦙 EVIL-OLLAMA
```
╔══════════════════════════════════════════════════════════════════════════╗
║ [+] TARGET: Any exposed Ollama instance ║
║ [+] METHOD: Async TCP · DNS · CT Logs · Shodan · Censys · FOFA ║
║ [+] VULN SCAN: Auth · CVE-2024-37032 · SSRF · CORS · Metrics ║
║ [+] PROXY: OpenAI-compatible · Chat · Generate ║
║ [+] STATUS: ACTIVE ║
╚══════════════════════════════════════════════════════════════════════════╝
```
## 🔥 功能
| 类别 | 功能 |
|----------|----------|
| **🔍 扫描** | 随机 IP (加权) · CIDR · IP 列表 · DNS 发现 · CT Logs · Shodan · Censys · FOFA · **共 9 种方法** |
| **💀 漏洞** | 认证检查 · CVE-2024-37032 (RCE) · 模型创建/删除 · CORS · SSRF · Metrics · 信息泄露 · Timing · **共 10 项检查** |
| **🔌 代理** | 兼容 OpenAI SDK · 流式传输 · 完整 API 转发 · 所有 HTTP 方法 |
| **💬 聊天** | 交互式 · 批处理模式 · System prompts · Temperature · 原始 API |
| **🔎 指纹** | 18 个 endpoint · GPU 检测 · 模型分析 · 大小计算 · 运行中的模型 |
| **📦 模型** | 列表 · Pull 信息 · 深度分析 · 大小明细 |
| **📊 导出** | HTML (精美) · CSV · JSON · 漏洞统计 · 地理分布 |
| **🤖 自动化 PWN** | 扫描 → 漏洞扫描 → 地理定位 → 代理 → 报告 — **一条命令搞定** |
| **📡 监控** | 纯 CLI daemon · Telegram 告警 · 自动导出 |
## ⚡ 快速开始
### 🛠 安装
```
git clone https://github.com/evogix/Evil-Ollama
cd Evil-Ollama
pip install aiohttp flask requests
chmod +x launcher.sh
```
### 🎯 基础扫描
```
# 扫描 10000 个随机 IP 以查找 Ollama 实例
./launcher.sh scan --random 10000
# 带 geolocation 扫描 + 导出
./launcher.sh scan --random 10000 --geo --export html --notify
```
## 💀 命令
### 🔍 扫描
```
# 随机 IP 扫描(根据真实世界密度加权)
./launcher.sh scan --random 10000
# CIDR 范围扫描
./launcher.sh scan --cidr 0.0.0.0/8
# DNS 发现 — 查找 ollama.example.com, ai.example.com 等
./launcher.sh scan --dns example.com
# Certificate Transparency 日志发现
./launcher.sh scan --ct example.com
# Internet DB 搜索
./launcher.sh scan --shodan API_KEY
./launcher.sh scan --censys ID:SECRET
./launcher.sh scan --fofa EMAIL:KEY
# 带 extras 扫描
./launcher.sh scan --random 5000 --geo --export html --notify
```
### 💀 漏洞扫描
```
# 扫描特定实例
./launcher.sh vuln --target 1.2.3.4:11434
# 扫描所有找到的实例
./launcher.sh vuln --all
# 利用特定 CVE
./launcher.sh exploit --cve CVE-2024-37032 --target 1.2.3.4:11434
```
漏洞检查项:
```
💀 [CRITICAL] CVE-2024-37032 — RCE via Crafted Model Import
💀 [HIGH ] No Authentication — Open API access
💀 [HIGH ] Unauthenticated Model Creation
💀 [HIGH ] Unauthenticated Model Deletion
💀 [HIGH ] CVE-2024-39721 — SSRF in Model Pulling
💀 [MEDIUM ] CORS Misconfiguration
💀 [MEDIUM ] Prometheus Metrics Exposed
💀 [LOW ] Server Information Disclosure
💀 [LOW ] No CSRF Protection
💀 [LOW ] Response Timing Leak
```
### 🔌 代理 (兼容 OpenAI)
```
# 启动到远程 Ollama 的代理
./launcher.sh proxy --target 1.2.3.4:11434 --port 8080
# 配合 OpenAI SDK 使用:
# from openai import OpenAI
# client = OpenAI(base_url="http://127.0.0.1:8080/v1/", api_key="ollama")
```
### 💬 交互式聊天
```
# 与远程模型聊天
./launcher.sh chat --target 1.2.3.4:11434
# 从文件批量执行 prompts
./launcher.sh chat --batch prompts.txt --target 1.2.3.4:11434
# 聊天命令:/help, /models, /clear, /model N, /system, /temp, /raw, /info, /export
```
### 🔎 深度指纹
```
# 对单个实例进行指纹识别
./launcher.sh fingerprint --target 1.2.3.4:11434
# 对所有找到的实例进行指纹识别
./launcher.sh fingerprint --all
```
检查包括在内的 18 个 endpoint:`/api/tags`, `/api/version`, `/api/ps`, `/api/show`, `/api/blobs`, `/api/pull`, `/api/push`, `/api/create`, `/api/delete`, `/api/copy`, `/api/embed`, `/v1/models`, `/docs`, `/metrics`, `/debug`, `/health`, `/status`
### 📦 模型操作
```
# 列出模型及详细信息
./launcher.sh models --target 1.2.3.4:11434
# 拉取模型 info/config
./launcher.sh models --pull 1.2.3.4:11434 llama3.2
# 深度分析模型
./launcher.sh models --analyze 1.2.3.4:11434 llama3.2
```
### 📊 导出
```
./launcher.sh export --format html # Beautiful HTML report with geo & vuln stats
./launcher.sh export --format csv # CSV for analysis
./launcher.sh export --format json # Raw JSON
./launcher.sh export --format all # All formats
```
### 🤖 自动化 PWN (一条命令)
```
# 扫描 → 漏洞扫描 → 地理定位 → 代理 → 报告
./launcher.sh autopwn --random 5000
```
### 📡 监控 Daemon
```
# 持续扫描(仅限 CLI,无 web)
./launcher.sh monitor --interval 3600 --random 5000 --notify --export html
```
### ⚙️ 配置
```
./launcher.sh config --show # Show config
./launcher.sh config --telegram-token "BOT_TOKEN" # Telegram alerts
./launcher.sh config --telegram-chat "CHAT_ID"
./launcher.sh config --shodan-key "API_KEY"
./launcher.sh config --set scan_timeout 3 # Custom setting
```
## 📊 示例输出
```
╔══════════════════════════════════════════════════════════════════╗
║ 🦙 EVIL-OLLAMA v3.0 ║
╚══════════════════════════════════════════════════════════════════╝
[12:30:01] [▶ STEP ] Step 1/4: Scanning 5000 random IPs...
[12:30:01] [🎯 INFO] Scanning 5000 hosts on port 11434 (concurrency: 1000)
[░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 45% | 2250/5000 | 850/s | Found: 12 | ETA: 3.2s
[12:30:07] [🦙 FOUND] 203.0.113.42:11434 | v0.1.32 | llama3.2, mistral, codellama
[12:30:07] [🦙 FOUND] 198.51.100.73:11434 | v0.3.0 | llama3.1, nomic-embed-text
[...]
[12:30:10] [▶ STEP ] Step 2/4: Geolocating...
[12:30:10] [📍 GEO ] 203.0.113.42 → San Francisco, US | DigitalOcean
[12:30:11] [📍 GEO ] 198.51.100.73 → London, UK | Hetzner
[12:30:11] [▶ STEP ] Step 3/4: Vulnerability scanning...
[12:30:11] [🔴 VULN] 203.0.113.42:11434
💀 [HIGH ] No Authentication Required
💀 [CRITICAL] Potential RCE via Crafted Model Import (CVE-2024-37032)
💀 [HIGH ] Unauthenticated Model Creation
[12:30:14] [▶ STEP ] Step 4/4: Generating report...
[12:30:14] [📄 OK ] HTML report saved: evilollama_report.html (45.2 KB)
╔══════════════════════════════════════════════════════════════════╗
║ 🚀 AUTO-PWN COMPLETE ║
║ Instances found: 7 ║
║ Total models: 23 ║
║ Vulnerabilities: 12 ║
║ CVEs detected: 5 ║
║ Report: evilollama_report.html ║
╚══════════════════════════════════════════════════════════════════╝
[12:30:15] [🔌 PROXY] Proxy → 127.0.0.1:9090 → 203.0.113.42:11434
```
## 🛡️ CVE 数据库
| CVE ID | 严重程度 | CVSS | 描述 | 受影响版本 |
|--------|----------|------|-------------|-------------------|
| CVE-2024-37032 | **严重** | 9.1 | 通过构造的模型文件执行 RCE (路径遍历) | < 0.1.47 |
| CVE-2024-39720 | **高危** | 7.5 | 通过构造的 system prompt 进行 Prompt injection | < 0.1.34 |
| CVE-2024-39721 | **高危** | 7.5 | 模型拉取机制中的 SSRF | < 0.1.34 |
| CVE-2024-39722 | **高危** | 7.3 | API endpoint 中的路径遍历 | < 0.1.34 |
| CVE-2025-23104 | **高危** | 8.2 | /api/pull 中的 API 身份验证绕过 | < 0.3.0 |
## 📋 环境要求
```
pip install aiohttp flask requests
```
## ⚠️ 法律免责声明
```
╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ This tool is for AUTHORIZED SECURITY TESTING only. ║
║ ║
║ Only use on systems you own or have explicit written permission ║
║ to test. Unauthorized scanning or exploitation is ILLEGAL. ║
║ ║
║ The authors assume no liability for misuse. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
```
```
╔══════════════════════════════════════════════════════════════════════════╗
║ EVIL-OLLAMA v3.0 · https://github.com/evogix/Evil-Ollama ║
║ For authorized security research & bug bounty purposes only ║
╚══════════════════════════════════════════════════════════════════════════╝
```
标签:AI安全, Chat Copilot, LLM, LLM评估, Ollama, Unmanaged PE, XXE攻击, 字符串匹配, 实时处理, 密码管理, 应用安全, 插件系统, 逆向工具