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-2024-21626-runcPOC — Proof-of-concept für CVE-2024-21626, eine runc-Container-Escape-Schwachstelle. Enthält Verifikationsskripte, zwei Ausnutzungsmethoden (Cron-Reverse-Shell und Befehlsersetzung) sowie eine Analyse der Grundursache und des Patches. | Kitploit
Tools/GitHubGitHub/v0wkeep3r/cve-2024-21626-runcpoc
Privilege EscalationContainer-SicherheitSchwachstellenanalyseExploitationCloud-SicherheitContainer-Ausbruch
GitHubv0wkeep3r/cve-2024-21626-runcpoc

CVE-2024-21626-runcPOC

Proof-of-concept für CVE-2024-21626, eine runc-Container-Escape-Schwachstelle. Enthält Verifikationsskripte, zwei Ausnutzungsmethoden (Cron-Reverse-Shell und Befehlsersetzung) sowie eine Analyse der Grundursache und des Patches.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
617vor 2 JahrenNoch nicht geprüft

【Schwachstellenreproduktion】CVE-2024-21626 Docker runc Escape-Schwachstelle

1、Einführung zur Schwachstelle

SchwachstellennameDocker runc Escape-Schwachstelle
SchwachstellennummerCVE-2024-21626
Veröffentlichungsdatum2024-01-31
Merkmal/
Betroffene Versionenrunc @ [v1.0.0-rc93,1.1.11]

2、Ausnutzung der Schwachstelle & POC/EXP

Ausnutzungsbedingungen sind etwas streng, erfordern Interaktion des Opfers, persönlich etwas unspektakulär:

  1. Verwenden eines bösartigen Images des Angreifers (einschließlich einiger Einstellungen zum Arbeitsverzeichnis usw.), um einen Container zu erstellen.
  2. Der Angreifer kann den Container kontrollieren und Befehle ausführen.

Überprüfung der Existenz der Schwachstelle und Abrufen des Dateideskriptors:

root@kitploit:~
git clone https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC.git
cd CVE-2024-21626-runcPOC
bash verify.sh

Wie unten abgebildet, existiert die Schwachstelle und der Dateideskriptor ist /proc/self/fd8 verify.sh kann den spezifischen fd-Wert in der aktuellen Maschinenumgebung ermitteln. Wenn fd nicht 8 ist, muss der WORKDIR im Dockerfile auf den entsprechenden Wert geändert oder bei docker run mit -w angegeben werden.

Escape/Privilege-Escalation-Überprüfung: Hier bin ich näher an der Praxis, poc.sh verwendet einen Cron-Job, um eine Reverse-Shell zu erhalten. poc2.sh verwendet eine Methode zum Ersetzen von Befehlen (Hinweis: Bei dieser Methode müssen vorher Sicherungskopien der Dateien erstellt werden, um eine Wiederherstellung zu ermöglichen).

root@kitploit:~
# Es muss bestätigt werden, dass die Cron-Job-Datei existiert. Falls nicht, kann sie erstellt und beschrieben werden, aber dann wird der Cron-Job nicht ausgelöst.
# Nur Dateien, die mit 'crontab -e' erstellt wurden und in der crontab-Gruppe liegen, werden zeitgesteuert ausgeführt.
docker build . -t poc1
docker run -it --rm poc1 bash /poc.sh

POC2:

root@kitploit:~
docker build . -t poc2
docker run -it --rm poc2 bash /poc.sh

# In einem anderen Terminal starten
/bin/bash.copy

3、Analyse des Schwachstellenprinzips

Nicht vollständig verstanden, aber mit dem Patch lässt sich das Grobe nachvollziehen.

Im Prozess von docker exec oder docker run wird die execve-Funktion von runc aufgerufen. Während des runc exec-Vorgangs werden jedoch die fd-Dateideskriptoren nicht geschlossen, was dazu führt, dass die Dateideskriptoren des Hosts gleichzeitig in die Container-Umgebung durchsickern. Ein Benutzer kann diese Dateideskriptoren nutzen, um Dateien des Hosts zu lesen/schreiben und so einen Container-Escape durchzuführen.

4、Behebungsplan / Patch-Analyse

Behebungsplan Aktualisieren Sie runc auf Version 1.12 oder höher. Offizieller runc-Link: https://github.com/opencontainers/runc/releases

Patch-Analyse Diff-Commit: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e Schließen der internen fds rechtzeitig vor dem execve-Aufruf. init_linux.go: Nach dem chdir wird überprüft, ob sich das cwd (aktuelles Arbeitsverzeichnis) innerhalb des Containers befindet.

F、Referenzlinks

  1. Schwachstellenbeschreibung: https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  2. Patch: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e
Tool herunterladen