Utiliser WPScan pour analyser un site WordPress

illustration wordpress

WordPress est un des CMS les plus utilisés pour administrer un site web. Il fait tourner 65% des sites qui utilisent un CMS, selon w3techs, et a été téléchargé plus de 70 000 000 fois si l’on se réfère aux statistiques officielles.

Sa popularité en fait une cible de choix, et l’utilisation d’outils de détection de failles de sécurité concernant WordPress est incontournable pour un hackeur éthique.

Nous allons découvrir dans cet article l’outil WPScan, préinstallé sur Kali Linux.

Qu’est-ce que WPScan ?

WPScan est un outil de la suite Kali Linux qui permet d’analyser en profondeur un site internet utilisant le CMS WordPress. Il est capable d’énumérer les plugins utilisés, leurs versions, les utilisateurs, … et vérifie qu’aucun d’entre eux ne contient de failles de sécurité qui pourrait potentiellement corrompre le site.

Utiliser WPScan sur Kali Linux

WPScan est préinstallé sur Kali Linux. Pour vérifier que l’outil soit bien installé, essayons un wpscan –help.

wpscan --help

WPScan en mode console

Si cet écran s’affiche, tout est bon !

PS : n’oubliez pas de faire un petit sudo apt update et sudo apt upgrade pour mettre à jour les paquets, ça ne fait jamais de mal !

Dans un premier temps, mettons à jour la base de données de vulnérabilités de WPScan en utilisant la commande

wpscan --update

WPScan update

Une fois ces étapes réalisées, tout est à jour et nous sommes prêts à commencer.

Scan WordPress basique

Pour effectuer un scan basique, l’option à renseigner est –url et l’url du site.

wpscan --url siteatester.fr

Scan headers, xml-rpc
scan readme, upload, wp-cron et version

Le scan basique révèle des points clé sur le site, notamment

  • Les headers : le système d’exploitation du serveur, la version d’apache, de php…
  • XML-RPC : il s’agit d’une page qui permettait de communiquer avec d’autres sites, aujourd’hui remplacé par l’api rest. Il facilite les attaques brute force et DDoS.
  • ReadMe : la présence de fichiers de configuration ou de readme est dangereuse car ils peuvent parfois contenir des informations sensibles
  • Listing des fichiers : il est préférable de désactiver le listing des fichiers uploadés
  • WP-Cron : ce fichier php est utilisé lorsqu’une grosse requête SQL est réalisée et peut être utilisé pour réaliser une attaque DDOS sur le site
  • La version de WordPress : connaître la version utilisée peut servir à trouver des failles de sécurités sur des versions précises de WordPress
scan plugins

Scan WordPress avancé

Bien que le scan de base soit complet, d’autres options sont disponibles pour orienter son scan en fonction de ses besoins.

Énumération

Pour énumérer des éléments, nous allons utiliser -e. Par exemple pour énumérer les plugins populaires utilisés sur le site :

wpscan --url siteatester.fr -e p

Il est possible de combiner plusieurs éléments en les séparant par des virgules. Le scan ci-dessous va ainsi analyser les plugins populaires, les thèmes populaires, et les utilisateurs

wpscan --url siteatester.fr -e p,t,u

Voici la liste des options les plus utilisées. La liste de toutes les options possibles est consultable avec la commande wpscan –help.

  • vp : les plugins vulnérables (Vulnérable plugins)
  • ap : tous les plugins (All plugins)
  • p : les plugins populaires (Popular plugins)
  • vt : les thèmes vulnérables (Vulnerable themes)
  • at : tous les thèmes (All themes)
  • t : les thèmes populaires (Popular themes)
  • u : les utilisateurs (Users)
  • m : les médias

Brute Force des utilisateurs

WPScan propose également un outil pour brute force les comptes utilisateurs via le Xmlrpc. Il faut ajouter pour cela dans la commande –passwords et lui fournir une liste de mots de passe. Dans cet exemple, nous avons utilisé une célèbre WordList présente par défaut sur Kali linux : rockyou.

wpscan --url siteatester.fr --passwords /usr/share/wordlists/rockyou.txt

Avec un mot de passe simple présent dans la liste, il suffit d’une minute pour cracker le mot de passe de l’administrateur WordPress.

Vérification de présence de vulnérabilités

WP Scan propose également une API qui permet de vérifier si les plugins, thèmes ou versions de WordPress sont vulnérables en allant chercher dans leur base de données de vulnérabilités.

Il faut dans un premier temps s’enregistrer sur le site de l’outil wpscan.com/api pour récupérer un token. La version gratuite vous permet d’effectuer 25 appels API par jour, ce qui est amplement suffisant pour tester un seul site voir quelques sites. Le token est copiable depuis votre profil sur le site de wpscan.

Nous allons ensuite énumérer dans la commande les plugins et les thèmes vulnérables, puis ajouter le token API.

wpscan --url siteatester.fr -e vt,vp --api-token Votre_Token

Cette commande nous remontera toutes les vulnérabilités présentes sur le site WordPress et les exploits utilisables.

Autres arguments utiles

  • –rua : utilise un user-agent différent pour chaque scans. Cela permet de passer plus inaperçu en se faisant passer pour un navigateur
  • -o fichier.txt : enregistre toutes les informations du scan dans un fichier texte.

Conclusion

WPScan est un outil très complet qui vous permettra d’analyser des sites WordPress en profondeur pour détecter des vulnérabilités. L’API des vulnérabilités fournie par le WPScan pour se renseigner sur les exploits est extrêmement utile, et la version gratuite de l’API (25 appels API par jour) suffit amplement pour un usage occasionnel voir régulier.

Posted by
FrenchEagle

Créateur de hackntricks

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

vingt + huit =