
Ein Tool, das entwickelt wurde, um eine Privilegieneskalations-Schwachstelle im sudo-Programm auf Unix-ähnlichen Systemen auszunutzen. Es nutzt eine spezifische Fehlkonfiguration oder einen Fehler in sudo aus, um erhöhte Privilegien auf dem System zu erlangen, wodurch ein normaler Benutzer im Grunde Befehle als Root-Benutzer ausführen kann.
⭐ Starren Sie uns auf GitHub — um Ihre Unterstützung zu zeigen!
💡 Am besten im Dunkelmodus anzeigen :)
Das Projekt SUDO_KILLER hat es ins Finale der SANS Difference Awards 2023 in der Kategorie Open-Source-Tool geschafft.
SUDO_KILLER ist ein Tool, das sich an Cybersicherheitsexperten (Pentester, Sicherheitsauditoren, Systemadministratoren, CTF-Spieler und Infosec-Studenten) richtet und die Privilege-Eskalation in Linux-Umgebungen erleichtert. Es konzentriert sich auf Schwachstellen im Zusammenhang mit der Verwendung von SUDO, einschließlich Fehlkonfigurationen in Sudo-Regeln, versionsbasierte Schwachstellen (CVEs und andere Sicherheitslücken) sowie riskante Binärdeployments (GTFOBINS). Diese Schwachstellen können ausgenutzt werden, um ROOT-Rechte zu erlangen oder andere Benutzer zu imitieren.
SUDO_KILLER bietet einen Katalog potenzieller Befehle und lokaler Exploits zur manuellen Rechteerweiterung. Wichtig ist, dass es auf eine automatisierte Ausnutzung verzichtet; die Nutzer müssen den Exploit-Prozess gemäß der beabsichtigten Verwendung selbst durchführen.
Nachfolgend eine Liste der Prüfungen, die von SUDO_KILLER durchgeführt werden:
[!WARNING] Die obige Liste ist NICHT vollständig.
Um mit SUDO_KILLER zu beginnen, können Sie entweder das Repository klonen oder das ZIP herunterladen. Wenn Sie üben und/oder testen möchten, gibt es eine verwundbare Testumgebung (mittels Docker). Siehe das zugehörige Video, das einen Überblick darüber gibt, wie man Docker einrichtet und SUDO_KILLER ausführt. In der Docker-Umgebung können verschiedene Szenarien eingerichtet und zum Testen unterschiedlicher Fehlkonfigurationen oder Schwachstellen verwendet werden. Alternativ können Sie es auf dem zu prüfenden System ausführen, um Fehlkonfigurationen und/oder Schwachstellen in Bezug auf sudo zu überprüfen.```shell ./SUDO_KILLERv.sh -c -a -e -r report.txt -p /tmp
Optionale Argumente:
</br>-c : inkludiert CVE-Prüfungen</br>
-a : inkludiert CVEs zu Drittanbieter-Apps/Geräten </br>
-i : Import (Offline-Modus) von extract.sh </br>
-e : Export von sudo-Regeln/Sudoers-Datei inkludieren </br>
-r : Berichtsname (Ausgabe speichern) </br>
-p : Pfad zum Speichern von Export und Bericht </br>
-s : Benutzerkennwort für sudo-Prüfungen bereitstellen (falls sudo-Regeln ohne aktuelles Benutzerkennwort nicht zugänglich sind) </br>
-h : Hilfe
> [!HINWEIS]
> Es ist zu beachten, dass bei Verwendung des Arguments -c zwei Arten von Prüfungen durchgeführt werden: eine, bei der die identifizierte CVE ausschließlich auf der aktuell verwendeten sudo-Version basiert, und eine andere, bei der auch die Voraussetzungen geprüft werden.
> Sehr oft kann eine sudo-Version anfällig sein, aber für eine erfolgreiche Ausnutzung sind möglicherweise bestimmte Voraussetzungen erforderlich.
> [!HINWEIS]
> Kennwort bereitstellen: Wenn für die Ausführung von sudo -l ein Kennwort erforderlich ist, funktioniert das Skript nicht, wenn Sie kein Kennwort mit dem Argument -s angeben.
<a name="docker"></a>
### Docker (Angreifbare Testumgebung)
<p align="left">
<img width="25%" src="https://raw.githubusercontent.com/TH3xACE/res/main/SK/docker.gif" alt="-dockerlogo"/>
</p>
Eine Reihe von Docker-Containern wird bereitgestellt, um eine bewusst angreifbare Umgebung zum Testen und zur praktischen Experimentierung mit `SUDO_KILLER` sowie mit den Schwachstellen zu bieten.```shell
service docker start
docker pull th3xace/sudo_killer_demo3
docker run --rm -it th3xace/sudo_killer_demo3
(This docker is only to test the CVE-2019-18634 (pwfeedback))
service docker start
docker pull th3xace/sudo_killer_demo2
docker run --user 1000 --rm -it th3xace/sudo_killer_demo2
./bootstrap.sh aus (aus dem Hauptverzeichnis)./configure --enable-cuckoo --enable-magic --enable-dotnet --enable-macho --enable-dexmakesudo make installsudo apt-get update
sudo apt-get install -y build-essential libssl-dev libmagic-dev libjansson-dev libpcre2-dev pkg-config
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel file-devel jansson-devel pcre2-devel
Mit Homebrew:
brew install automake libtool pkg-config openssl jansson libmagic pcre2
``````shell
(This docker is only to test the CVE-2025-32463 (chwoot)) -> Credits to author
$ git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git
$ cd CVE-2025-32463_chwoot
# Build and run Docker image (tagged "sudo-chwoot")
$ service docker start
$ ./run.sh
# Run exploit in container (runs root command directly or drops you into a root shell)
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh id
woot!
uid=0(root) gid=0(root) groups=0(root),1001(pwn)
pwn@f722d9182d1f:~$ ./sudo-chwoot.sh
woot!
root@f722d9182d1f:/# id
uid=0(root) gid=0(root) groups=0(root),1001(pwn)
Standardmäßig kann man „sudo -l“ ohne Passwort ausführen, wenn das NOPASSWD-Tag auf einen der Einträge für einen Benutzer auf einem Host angewendet wird. Dieses Verhalten kann über die Optionen verifypw und listpw überschrieben werden.
Allerdings betreffen diese Regeln nur den aktuellen Benutzer. Wenn eine Benutzerimitation (mithilfe von su) möglich ist, sollte sudo -l ebenfalls von diesem Benutzer ausgeführt werden.