
Lokaler Privilege-Escalation-Exploit für needrestart (CVE-2024-48990)
Dieses Repository enthält einen minimalen lokalen Privilege-Escalation-Exploit, der eine Schwachstelle in needrestart (CVE-2024-48990) ausnutzt.
Die Schwachstelle ermöglicht die Ausführung beliebigen Perl-Codes als Root, indem die Konfigurationsoption -c missbraucht wird, die in einem privilegierten Kontext geparst und ausgeführt wird.
Viele vorhandene Privilege-Escalation-Exploits erfordern das Kompilieren eigener Binaries, das Starten zusätzlicher Shells oder die Verwendung interaktiver Befehlsfolgen.
Dieser Exploit wurde entwickelt, um diese Anforderungen zu vermeiden, indem er eine unkomplizierte lokale Privilege-Escalation-Technik bereitstellt, die keine Kompilierung, keine zusätzlichen Werkzeuge und keinen Missbrauch interaktiver Editoren oder Pager erfordert. Die Privilege-Escalation wird erreicht, indem eine SUID-Root-Shell durch die privilegierte Konfigurationsausführung von needrestart erstellt wird.
needrestart ist in Perl implementiert und führt Konfigurationsdateien, die über die Option -c übergeben werden, als Perl-Code mit Root-Rechten aus.
Durch die Bereitstellung einer präparierten Konfigurationsdatei, die einen system()-Aufruf enthält, können beliebige Befehle als Root ausgeführt werden, was zu einer lokalen Privilege-Escalation führt.
Führen Sie den Exploit aus:
python3 needrestart_privesc.py
Wenn der Benutzer berechtigt ist, needrestart über sudo auszuführen, ruft das Skript es auf und erstellt eine SUID-Root-Shell unter /tmp/bash. Falls sudo ein Passwort verlangt, wird es normal abgefragt.
Nach erfolgreicher Ausführung wird automatisch eine Root-Shell gestartet.
Automatisches Starten der Shell deaktivieren:
python3 needrestart_privesc.py --no-shell
Erstellte Artefakte bereinigen:
python3 needrestart_privesc.py --cleanup
needrestart über sudo auszuführen.Dieser Code wird ausschließlich zu Bildungs- und Forschungszwecken bereitgestellt.