Hacken am Beispiel lernen: Programme geschickt austricksen

Seite 4: Root-Zugriff erhalten

Inhaltsverzeichnis

Zu diesem Zeitpunkt haben Sie schon längst bewiesen, dass der Server enorme Lücken aufweist. Sie haben sich Adminzugriff auf WordPress verschafft, mit dem Fake-Plug-in eine Hintertür eingeschleust und das robot-Passwort geknackt. Die Königsdisziplin – und damit die schwerste – fehlt aber noch: der Root-Zugriff.

In der letzten Phase des Hacks müssen Sie Skripte, Dateien oder Programme geschickt austricksen, um root zu werden. Auf Linux-Systemen gibt es dafür einen Trick: Einige Programme wie ping funktionieren nur, wenn sie mit Root-Rechten gestartet werden. Deshalb ist bei Ihnen das Setuid-Bit gesetzt, das bewirkt, dass Sie immer die nötigen Rechte bekommen, auch dann, wenn Sie von einem Nutzer mit eingeschränkten Rechten gestartet werden. Dies ist normalerweise unproblematisch – solange sich das Programm nicht dazu bringen lässt, beliebige Befehle als root auszuführen. Sie ahnen vielleicht schon, wohin die Reise geht.

Tippen Sie den Befehl

find / -perm +6000 2> /dev/null

in die Reverse-Shell. Er zeigt Ihnen alle Programme an, die durch das Setuid-Bit immer als root ausgefĂĽhrt werden:

(...)
/usr/bin/sudo
/usr/bin/ssh-agent
/usr/bin/wall
/usr/local/bin/nmap
/usr/local/share/xml
/usr/local/share/xml/schema
(...)

Die Liste ist lang, doch welches der Programme lässt sich austricksen? Spoiler: Das gesuchte Tool ist nmap, das auch auf dem Zielsystem installiert ist. Das gleiche Werkzeug, mit dem Sie zuvor das Angriffsziel gescannt haben, stellt sich als das Einfallstor zum Root-Zugang heraus.

Eine Abfrage nach den verfügbaren Funktionen mit nmap -h offenbart, dass nmap in der Version 3.81 installiert ist. Über eine Suchmaschine finden Sie auf der offiziellen Seite die Versionshistorie von nmap – die installierte Version hat mehr als 15 Jahre auf dem Buckel. Grund genug, die verfügbaren Befehle des Dinosauriers genauer anzuschauen. Der Dokumentation zufolge lässt sich mit dem mittlerweile abgeschafften --interactive eine interaktive nmap-Shell starten, die beliebige Befehle auf dem System ausführt. Da nmap als root unterwegs ist, würden auch diese Befehle damit ausgeführt werden. Einen Versuch ist es wert. Tippen Sie nmap --interactive in die Remote-Shell.

Welche Möglichkeiten die neue Konsole bietet, erfahren Sie, indem Sie h eintippen und mit Enter bestätigen:

(...)
! <command>   -- runs shell command given in the foreground
(...)

Probieren Sie mal aus, ob Sie mit dem Befehl !sh eine System-Shell öffnen können. Wenn Ihnen das gelingt, checken Sie mit whoami, mit welchem Nutzer Sie unterwegs sind. Voilà, Sie sind root! Und als solcher können Sie jetzt endlich in das root-Verzeichnis wechseln und die letzte Flag key-3-of-3.txt einsammeln (04787ddef27c3dee1ee161b21670b4e4). Glückwunsch, sie haben die Maschine "Mr. Robot" in die Knie gezwungen!

Bauen Sie Ihr frisch erlangtes Wissen doch gleich am nächsten Angriffsobjekt weiter aus. Bei vulnhub.com finden Sie viele weitere Übungs-VMs, die Sie vor neue Rätsel stellen. Wie wäre es mit der QUAOAR-VM? Sie richtet sich explizit an Einsteiger und der Lösungsweg ist ähnlich. Sie müssen dafür keine neuen Tools lernen. Versuchen Sie mit den hier genannten Tricks so weit wie möglich zu kommen, bevor Sie einen Blick in eines der Walkthroughs werfen.

c’t – Europas größtes IT- und Tech-Magazin
c't-Logo

Alle 14 Tage präsentiert Ihnen Deutschlands größte IT-Redaktion aktuelle Tipps, kritische Berichte, aufwendige Tests und tiefgehende Reportagen zu IT-Sicherheit & Datenschutz, Hardware, Software- und App-Entwicklungen, Smart Home und vielem mehr. Unabhängiger Journalismus ist bei c't das A und O.

(wid)