ld.so privesc exploit example
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Im folgenden Abschnitt findest du den Code der Dateien, die wir verwenden werden, um die Umgebung vorzubereiten
Erstellen Sie diese Dateien auf Ihrem Rechner im selben Ordner
Kompilieren Sie die Bibliothek: gcc -shared -o libcustom.so -fPIC libcustom.c
Kopieren Sie libcustom.so
nach /usr/lib
: sudo cp libcustom.so /usr/lib
(Root-Rechte)
Kompilieren Sie die ausführbare Datei: gcc sharedvuln.c -o sharedvuln -lcustom
Überprüfen Sie, dass libcustom.so von /usr/lib geladen wird und dass Sie die Binärdatei ausführen können.
In diesem Szenario nehmen wir an, dass jemand einen verwundbaren Eintrag in einer Datei in /etc/ld.so.conf/ erstellt hat:
Der verwundbare Ordner ist /home/ubuntu/lib (wo wir schreibbaren Zugriff haben). Laden Sie den folgenden Code herunter und kompilieren Sie ihn in diesem Pfad:
Jetzt, da wir die bösartige libcustom-Bibliothek im falsch konfigurierten Pfad erstellt haben, müssen wir auf einen Neustart oder darauf warten, dass der Root-Benutzer ldconfig
ausführt (falls Sie diese Binärdatei als sudo ausführen können oder das suid-Bit gesetzt ist, können Sie sie selbst ausführen).
Sobald dies geschehen ist, überprüfen Sie erneut, wo das sharevuln
-Executable die libcustom.so
-Bibliothek lädt:
Wie Sie sehen können, wird es von /home/ubuntu/lib
geladen und wenn ein Benutzer es ausführt, wird eine Shell ausgeführt:
Beachten Sie, dass wir in diesem Beispiel keine Berechtigungen erhöht haben, aber durch das Modifizieren der ausgeführten Befehle und Warten auf den Root- oder einen anderen privilegierten Benutzer, der die verwundbare Binärdatei ausführt, werden wir in der Lage sein, die Berechtigungen zu erhöhen.
Im vorherigen Beispiel haben wir eine Fehlkonfiguration vorgetäuscht, bei der ein Administrator einen nicht privilegierten Ordner in einer Konfigurationsdatei in /etc/ld.so.conf.d/
festgelegt hat.
Es gibt jedoch andere Fehlkonfigurationen, die dieselbe Verwundbarkeit verursachen können. Wenn Sie Schreibberechtigungen in einer Konfigurationsdatei innerhalb von /etc/ld.so.conf.d
, im Ordner /etc/ld.so.conf.d
oder in der Datei /etc/ld.so.conf
haben, können Sie dieselbe Verwundbarkeit konfigurieren und ausnutzen.
Angenommen, Sie haben sudo-Berechtigungen für ldconfig
.
Sie können ldconfig
angeben, wo die Konfigurationsdateien geladen werden sollen, sodass wir dies ausnutzen können, um ldconfig
anzuweisen, beliebige Ordner zu laden.
Lassen Sie uns also die benötigten Dateien und Ordner erstellen, um "/tmp" zu laden:
Jetzt, wie im vorherigen Exploit angegeben, erstellen Sie die bösartige Bibliothek im Verzeichnis /tmp
.
Und schließlich laden wir den Pfad und überprüfen, wo die Binärdatei die Bibliothek lädt:
Wie Sie sehen können, können Sie mit sudo-Rechten über ldconfig
dieselbe Schwachstelle ausnutzen.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)