
Exploit-Tool für CVE-2024-39722, eine Schwachstelle zur Offenlegung der Modell-Existenz in Ollama. Führt Versionsprüfungen durch, durchsucht die offizielle Modellbibliothek und führt eine mehrthreadige Modellentdeckung auf anfälligen Servern durch.
Dieses Tool wurde entwickelt, um CVE-2024-39722 auszunutzen, eine Schwachstelle zur Offenlegung der Modell-Existenz in Ollama-Versionen bis einschließlich 0.1.45. Es ermöglicht Benutzern zu überprüfen, ob ein Ollama-Server verwundbar ist, und zu versuchen, vorhandene Modelle auf dem Server zu entdecken. Darüber hinaus kann es die offizielle Ollama-Modellbibliothek durchsuchen, um eine Liste potenzieller Modelle für Tests zu erstellen. 中文
/api/push kann ein Angreifer feststellen, ob ein bestimmtes Modell (einschließlich benutzerdefinierter Modelle, die nicht in der öffentlichen Bibliothek sind) auf dem Server vorhanden ist.https://ollama.com/library) ab.requestslxmltermcolorCVE_2024_39722.py herunter.pip install requests lxml termcolor
python CVE_2024_39722.py [options]
-h, --help: Hilfemeldung anzeigen und beenden.-u URL, --url URL: Ziel-Ollama-Server-URL (z.B. http://localhost:11434).-c, --crawl: Ollama-Modellbibliothek durchsuchen und in links.json speichern.-o OUTPUT, --output OUTPUT: Ausgabedatei für Ergebnisse (Standard: results.json).-t THREADS, --threads THREADS: Anzahl der für die Ausnutzung zu verwendenden Threads (Standard: 10).-v, --version-check: Nur prüfen, ob der Ziel-Ollama-Server basierend auf seiner Version verwundbar ist.Hilfe anzeigen:
python CVE_2024_39722.py -h
Ollama-Modellbibliothek durchsuchen:
Dies ruft Modellnamen von https://ollama.com/library ab und speichert sie in links.json.
python CVE_2024_39722.py --crawl
Prüfen, ob ein Zielserver verwundbar ist:
python CVE_2024_39722.py -u http://localhost:11434 --version-check
Einen Zielserver ausnutzen:
Dies prüft zunächst die Serverversion. Wenn verwundbar, wird links.json verwendet (durchsuchen, falls nicht vorhanden, oder vorhandene verwenden), um auf Modell-Existenz zu testen.
python CVE_2024_39722.py -u http://localhost:11434
Mit einer bestimmten Anzahl von Threads ausnutzen:
python CVE_2024_39722.py -u http://localhost:11434 -t 20
Ausnutzen und Ergebnisse in einer benutzerdefinierten Datei speichern:
python CVE_2024_39722.py -u http://localhost:11434 -o discovered_models.json
Dieses Tool ist ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bestimmt. Verwenden Sie es nicht auf einem System ohne ausdrückliche Genehmigung des Eigentümers. Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.