
Esta herramienta está diseñada para explotar la CVE-2024-39722, una vulnerabilidad de divulgación de existencia de modelos en versiones de Ollama hasta la 0.1.45 inclusive. Permite a los usuarios comprobar si un servidor Ollama es vulnerable e intentar descubrir los modelos existentes en el servidor. Además, puede rastrear la biblioteca oficial de modelos de Ollama para generar una lista de posibles modelos para probar. 中文
/api/push, un atacante puede determinar si un modelo específico (incluidos los modelos personalizados que no están en la biblioteca pública) existe en el servidor.https://ollama.com/library).requestslxmltermcolorCVE_2024_39722.py.pip install requests lxml termcolor
python CVE_2024_39722.py [options]
-h, --help: Muestra el mensaje de ayuda y sale.-u URL, --url URL: URL del servidor Ollama objetivo (p. ej., http://localhost:11434).-c, --crawl: Rastrea la biblioteca de modelos de Ollama y los guarda en links.json.-o OUTPUT, --output OUTPUT: Archivo de salida para los resultados (por defecto: results.json).-t THREADS, --threads THREADS: Número de hilos a utilizar para la explotación (por defecto: 10).-v, --version-check: Solo comprueba si el servidor Ollama objetivo es vulnerable según su versión.Mostrar ayuda:
python CVE_2024_39722.py -h
Rastrear la biblioteca de modelos de Ollama:
Esto obtendrá los nombres de los modelos de https://ollama.com/library y los guardará en links.json.
python CVE_2024_39722.py --crawl
Comprobar si un servidor objetivo es vulnerable:
python CVE_2024_39722.py -u http://localhost:11434 --version-check
Explotar un servidor objetivo:
Primero comprobará la versión del servidor. Si es vulnerable, utilizará links.json (lo rastreará si no está presente o usará el existente) para probar la existencia de modelos.
python CVE_2024_39722.py -u http://localhost:11434
Explotar con un número específico de hilos:
python CVE_2024_39722.py -u http://localhost:11434 -t 20
Explotar y guardar los resultados en un archivo personalizado:
python CVE_2024_39722.py -u http://localhost:11434 -o discovered_models.json
Esta herramienta está destinada únicamente a fines educativos y de pruebas de seguridad autorizadas. No la utilice en ningún sistema sin el permiso explícito de su propietario. El autor no se hace responsable de ningún uso indebido o daño causado por esta herramienta.