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
Tools/GitHubGitHub/rockrid3r/cve-2023-5178
Privilege EscalationSpeicherforensikSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHubrockrid3r/cve-2023-5178

CVE-2023-5178

Exploit für CVE-2023-5178

Repository anzeigen
75vor 2 JahrenNoch 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

CVE-2023-5178

Der Exploit für CVE-2023-5178: NVMe-oF-TCP-Sicherheitslücke, ein Logikfehler im NVMe-oF-TCP-Treiber bei der Verarbeitung einer korrupten Initialize Connection Request. Er führt zu einer racy double-free in kmalloc-96, was ausgenutzt werden kann, um LPE zu erlangen (siehe Demo unten).

Der Exploit zielt auf Ubuntu 23.10 mit Kernel 6.5.0-9-generic (die neueste betroffene Kernelversion).

  • Er kann leicht auf ältere v6-Kernel zurückportiert werden, indem man Kernel-Symbole ändert und die ROP-Kette anpasst.
  • Ein Rückport auf Kernel-Version v5 erfordert einige kleinere Modifikationen, die ich im Writeup besprechen werde. Die Ausnutzung im Kernel v5 ist einfacher (ich werde es im Writeup besprechen) und zuverlässiger.

Der Bug wurde von Alon Zahavi entdeckt. Er hat eine gute Beschreibung der Sicherheitslücke in diesem Openwall-Artikel veröffentlicht.

DEMO

Siehe Video hier. DEMO PIC 1 HERE DEMO PIC 2 HERE

Voraussetzungen

  • Sie sollten die Module nvmet, nvmet-tcp in den Kernel geladen haben.
  • Stellen Sie sicher, dass libfuse3-dev installiert ist (standardmäßig auf Ubuntu, aber trotzdem). Falls nicht, ist die beste Idee, die Version von github herunterzuladen und zu kompilieren. Ich habe 3.14.0 verwendet, aber es sollte auch mit anderen Versionen funktionieren.
  • Derzeit funktioniert der Exploit nur auf Maschinen mit 1 CPU-Kern. Das liegt an der Funktionsweise von SLUB, aber die Race-Condition macht die Sache etwas knifflig. Ich werde im Writeup beschreiben, wie es verbessert werden kann, um Multi-CPU-Maschinen zu unterstützen.

Setup

root@kitploit:~
git clone https://github.com/rockrid3r/CVE-2023-5178
cd CVE-2023-5178
make
./build/xpl # Exploit ausführen
  • Falls Sie libfuse3-dev nicht installiert haben, müssen Sie die kompilierte libfuse manuell verlinken. Siehe Makefile für Anweisungen zum Kompilieren. Ersetzen Sie -lfuse3 mit -l:pfad-zu-libfuse.so. Vergessen Sie nicht, den Header-Pfad mit -I /pfad/zu/libfuse-headers/ hinzuzufügen. Führen Sie den Exploit aus mit:
root@kitploit:~
LD_PRELOAD_PATH=/pfad/zu/libfuse.so ./build/exploit

POC

Für diejenigen, die testen möchten, ob die Sicherheitslücke auf ihrem System vorhanden ist, gibt es die Datei src/poc.c, die einfach den Bug auslöst. Es wird die Standardkonfiguration von IP/Port für NVMe-oF-TCP auf Ihrem System angenommen. Sie sollten diese anpassen, wenn Ihre nicht dem Standard entsprechen:

root@kitploit:~
#define NVME_SERVER_IP      "0.0.0.0"   // IP des verwundbaren Hosts im LAN (hier localhost).
#define NVME_SERVER_PORT    4420        // Port, auf dem NVMe-oF-TCP auf dem verwundbaren Host eingerichtet ist

Kompilieren und ausführen mit

root@kitploit:~
make build/poc
./build/poc

Sie sollten es einfach ausführen (vielleicht mehrmals) und dann ein wenig warten. Wenn die Sicherheitslücke vorhanden ist, stürzt das System ab.

Writeup

Siehe vollständiges Writeup hier

Tool herunterladen