* 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) !
* **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).
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour créer et **automatiser des flux de travail** alimentés par les outils communautaires les plus avancés au monde.\
Les fichiers **thèmes** peuvent être trouvés dans /wp-content/themes/, donc si vous modifiez du code 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)
*`xmlrpc.php` est un fichier qui représente une fonctionnalité de WordPress qui permet de transmettre des données avec HTTP en tant que mécanisme de transport et XML en tant que mécanisme de codage. Ce type de communication a été remplacé par l'[API REST](https://developer.wordpress.org/rest-api/reference) de WordPress.
*`wp-content/uploads/` est le répertoire où les fichiers téléchargés sur la plateforme sont stockés.
*`wp-includes/` 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.
* 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 d'authentification et les sels, et le préfixe de la table de la base de données. Ce fichier de configuration peut également être utilisé pour activer le mode DEBUG, ce qui peut être utile pour le dépannage.
Lors de la pentest d'un site WordPress, il est important d'extraire les informations sur les versions utilisées. Cela peut aider à identifier les vulnérabilités connues et à déterminer si le site est à jour.
#### Méthode 1 : Vérification du fichier readme.html
Le fichier readme.html est généralement présent à la racine du site WordPress. Il contient des informations sur la version actuelle de WordPress. Vous pouvez accéder à ce fichier en ajoutant "/readme.html" à l'URL du site (par exemple : `http://www.example.com/readme.html`).
#### Méthode 2 : Analyse des en-têtes de réponse HTTP
Lorsque vous interagissez avec un site WordPress, vous pouvez analyser les en-têtes de réponse HTTP pour trouver des informations sur la version utilisée. L'en-tête "X-Powered-By" peut révéler la version de WordPress. Vous pouvez utiliser des outils tels que Burp Suite pour intercepter les requêtes et analyser les en-têtes de réponse.
#### Méthode 3 : Recherche de fichiers de configuration
Certains fichiers de configuration de WordPress contiennent des informations sur la version utilisée. Vous pouvez rechercher des fichiers tels que "wp-config.php" et "wp-includes/version.php" pour trouver ces informations. Utilisez des outils de recherche de fichiers tels que "grep" pour faciliter cette tâche.
#### Méthode 4 : Utilisation d'outils automatisés
Il existe des outils automatisés tels que WPScan qui peuvent vous aider à extraire les informations sur les versions de WordPress. Ces outils effectuent une analyse complète du site et fournissent des rapports détaillés sur les versions utilisées ainsi que sur les vulnérabilités connues.
Il est recommandé d'utiliser plusieurs méthodes pour extraire les informations sur les versions de WordPress afin d'obtenir des résultats plus complets et précis.
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
Vous ne pourrez probablement pas trouver tous les plugins et thèmes possibles. Pour les découvrir tous, vous devrez **forcer activement une liste de plugins et de thèmes** (heureusement, il existe des outils automatisés qui contiennent ces listes).
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**.
Si `xml-rpc.php` est actif, vous pouvez effectuer une attaque de force brute sur les identifiants ou l'utiliser pour lancer des attaques par déni de service sur d'autres ressources. (Vous pouvez automatiser ce processus [en utilisant ceci](https://github.com/relarizky/wpxploit) par exemple).
**`wp.getUserBlogs`**, **`wp.getCategories`** ou **`metaWeblog.getUsersBlogs`** sont quelques-unes des méthodes qui peuvent être utilisées pour effectuer une bruteforce des identifiants. Si vous en trouvez une, vous pouvez envoyer quelque chose comme :
En utilisant les identifiants corrects, 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))
Il existe également un moyen plus rapide de forcer les identifiants en utilisant `system.multicall`, car vous pouvez essayer plusieurs identifiants sur la même requête :
Cette méthode est destinée aux programmes et non aux humains, et elle est obsolète, donc elle ne prend pas en charge le 2FA. Donc, si vous avez des identifiants valides mais que l'entrée principale est protégée par un 2FA, vous pourriez être en mesure d'abuser de xmlrpc.php pour vous connecter avec ces identifiants en contournant le 2FA. 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)
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 à un emplacement donné (causant ainsi un DDoS à cet emplacement) ou vous pouvez l'utiliser pour faire scanner Wordpress sur un réseau interne (vous pouvez indiquer n'importe quel port).
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.
Ce fichier se trouve généralement à la racine du site Wordpress : **`/wp-cron.php`**\
Lorsque ce fichier est **accédé**, une requête MySQL "**lourde**" est effectuée, ce qui peut être utilisé par les **attaquants** pour **causer** un **DoS**.\
De plus, par défaut, le `wp-cron.php` est appelé à chaque chargement de page (à chaque fois qu'un client demande une page Wordpress), ce qui peut poser des problèmes (DoS) sur les sites à fort trafic.
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).
Essayez d'accéder à _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ et le site Wordpress peut vous envoyer une requête.
Cet outil vérifie si la **méthode : pingback.ping** et le chemin **/wp-json/oembed/1.0/proxy** existent, et s'ils existent, il essaie de les exploiter.
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)
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
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. Ainsi, vous pouvez inverser la position `5389` du fichier `/var/www/html/wp-includes/user.php` pour annuler l'opération NOT (`!`).
Recherchez sur internet comment accéder à cette page modifiée. 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)
**(Cette partie est copiée de** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)**)**
Parfois, les utilisateurs connectés n'ont 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 obtenir un shell web.
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.
Lorsque tout est bien configuré, passez à l'exploitation. Puisque nous avons installé un plugin vulnérable appelé "reflex-gallery" et qu'il est facilement exploitable.
Vous obtiendrez une exploitation de cette vulnérabilité dans le framework Metasploit, chargez donc le module ci-dessous et exécutez la commande suivante :
Une fois les commandes ci-dessus exécutées, vous aurez votre session meterpreter. Comme le montre cet article, il existe plusieurs méthodes pour exploiter un site web basé sur WordPress.
Assurez-vous que WordPress, les plugins et les thèmes sont à jour. Vérifiez également que la mise à jour automatique est activée dans le fichier wp-config.php :
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour créer facilement et **automatiser des flux de travail** alimentés par les outils communautaires les plus avancés au monde.\
* 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) !
* **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).