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-2023-0386-OverlayFS — Kopieren Sie gefälschte In-Memory-Dateien mit overlayFS auf die Festplatte | Kitploit
Tools/GitHubGitHub/pwncone/cve-2023-0386-overlayfs
Privilege EscalationSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHubpwncone/cve-2023-0386-overlayfs

CVE-2023-0386-OverlayFS

Kopieren Sie gefälschte In-Memory-Dateien mit overlayFS auf die Festplatte

Repository anzeigen
3vor 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

CVE-2023-0386 - OverlayFS / FUSE

Ursprüngliche CVE-Quelle geschrieben von xkaneiki: https://github.com/xkaneiki/CVE-2023-0386/tree/main

Umschrieben, sodass der Exploit in einer Shell ausgeführt werden kann (originaler Exploit benötigt 2 Shells).

root@kitploit:~
# Compile
make all
# Create mount point for fuse filesystem
mkdir -p /tmp/fusepwn/lower
# Start fuse (which serves a SUID binary)
./fuse /tmp/fusepwn/lower
# Run exploit (which copies fuse's fake SUID binary onto disk with real SUID privs via overlayfs)
./exp
# Run shell
/tmp/fusepwn/upper/bin

Bereinigung

root@kitploit:~
# unmount fuse filesystem
fusermount -u /tmp/fusepwn/lower
# remove all 
rm -rf /tmp/fusepwn
# unmount overlayfs (root only. not required)
umount /tmp/fusepwn/merge

Hinweise

  • Verwenden Sie findmnt, um eingehängte Dateisysteme anzuzeigen
  • Der Overlayfs-Mount ist nur für root sichtbar (Grund unbekannt)

Funktionsweise

fuse.c erstellt ein FUSE-Dateisystem, das unter /tmp/fusepwn/lower eingehängt wird und eine gefälschte SUID-Binärdatei im Besitz von root bereitstellt. Dies ist ein speicherbasiertes Dateisystem, sodass wir die Berechtigungen beliebig vortäuschen können.

exp.c erstellt dann einen Overlayfs-Mount in /tmp/fusepwn und öffnet die gefälschte SUID-Binärdatei (/tmp/fusepwn/lower/bin). Beim Öffnen wird overlayfs veranlasst, einen Copy-up durchzuführen, der die gefälschte SUID-Binärdatei mit echten SUID-Rechten und als root auf die Festplatte schreibt.

Die Schwachstelle besteht in overlayfs, da es blindlings den Dateiberechtigungen vertraut, die vom unteren Dateisystem bereitgestellt werden. Wenn das untere Dateisystem der Kernel ist, ist das in Ordnung (da es ohne root-Rechte nicht manipuliert werden kann). Wenn das untere Dateisystem vom Benutzer manipuliert werden kann, ist das nicht in Ordnung, da wir die vorhandenen Dateien vortäuschen können (z. B. durch die Verwendung von FUSE).

Patch

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4f11ada10d0ad3fd53e2bd67806351de63a4f9c3

Der Patch prüft, ob die UID/GID der Datei innerhalb des Benutzernamensraums gültig ist. Wenn nicht, schlägt der Copy-up fehl.

d.h.

  • wir sind bob
  • wir erstellen einen neuen Namespace als root, indem wir 1000 (bobs UID) auf 0 (root) in proc/self/uid_map abbilden
  • wir versuchen, einen Copy-up auf einer root-eigenen Datei auszulösen
  • overlayfs prüft bobs Mapping und sieht, dass der Benutzernamensraum tatsächlich 1000 (bob) ist und nicht 0 (root) wie die Datei, und schlägt den Copy-up fehl

Nützliche Ressourcen

  • Hilfreicher Blog: https://engineering.facile.it/blog/eng/write-filesystem-fuse/
  • Beispielhafte FUSE-Implementierung: https://man.openbsd.org/fuse_main.3

Diagramm

diagram

Tool herunterladen