[Archlinux] Analyser son site WordPress avec WPScan

WPScan est un outil communautaire pour Linux vous permettant d’analyser et de déceler des failles potentielles sur vos sites web WordPress uniquement.

L’outil est libre et gratuit, en plus d’avoir l’avantage de s’installer sur tout type de distribution.
Les mises à jour sont effectuées via GIT (un dépôt est présent sur GitHub), vous n’êtes cependant pas obligé de re-clôner à chaque fois le dépôt pour bénéficier des nouveautés – une commande est donnée plus bas pour mettre à jour WPScan.

Cet article est uniquement présent pour vous présenter une solution de pentesting – Je ne pourrai être tenu pour responsable si vous employez cet outil à des fins mal-intentionnées.


I. Préparation & Installation

L’installation de WPScan ne se fait pas en claquant des doigts – Il faut préparer auparavant votre machine de pentesting pour ensuite installer l’outil.
Vous devez installer ces utilitaires ci-dessous :

« GIT » est incontournable, sans lui vous ne pouvez pas récupérer WPScan dans sa dernière version. « Ruby » est l’outil vous permettant d’utiliser WPScan – En effet, WPScan est codé en Ruby, il faut donc l’interpréteur de commandes spécifique.

Lorsque vos outils de base sont installés, il est maintenant possible de rapatrier WPScan sur votre machine – En clonant le dépôt, un dossier sera automatiquement créé (« wpscan »). Pour une question d’organisation et de facilité, je me suis connecté en temps qu’utilisateur avec les droits sudo et je me suis dirigé à la racine de la machine.

L’outil est très léger, vous ne devriez donc pas attendre très longtemps.
Lorsque le téléchargement est terminé, vous pouvez entrer dans le dossier « wpscan » pour lancer l’installation.

« Gem » est un outil de Ruby – La configuration par défaut a été laissée, un message d’erreur peut alors apparaître si vous tentez « rapidement » l’installation. C’est pour cette raison (et pour contourner le problème) qu’il faut absolument mettre l’attribut « –no-user-install« .
N’oubliez pas non plus « sudo bundle » – L’utilitaire Bundle a besoin des droits « sudo » pour pouvoir exécuter l’installation.

Vous ne pouvez pas lancer les installations et les compilations Ruby avec le compte « root » – Un message d’erreur s’affichera et bloquera l’installation. Utilisez donc un compte utilisateur disposant des droits sudo.

Vos outils sont à présent installés, vous pouvez passer à l’installation des utilitaires nécessaires à l’exécution / l’exploitation de WPScan :

Lorsque toutes les commandes et les installations sont effectuées, WPScan est dès maintenant utilisable !!


II. Exemples d’utilisation

Toutes ces commandes sont à passer dans le dossier WPScan que vous avez cloné grâce à Git.

Mettre à jour la base de données des vulnérabilités (IMPÉRATIF)

Il est primordial d’effectuer une mise à jour de la liste des vulnérabilités si vous souhaitez détecter au maximum les failles. Cette commande permet donc de mettre à jour votre WPScan et d’être assuré d’avoir les dernières définitions / failles reconnues (ou pas) pour WordPress.

Lancer un scan complet sur un site WordPress

La commande ci-dessous est le test de référence : il scannera le site web ciblé à la recherche des failles possibles selon les sécurités du site web. La durée du test dépend du site web scanné.

Explications de la commande

  • –url nom_site_web : vous devez remplacer « http(s)://… » par le site web ciblé. Vous pouvez aussi y mettre une adresse IP, mais n’oubliez pas de saisir devant « http(s)://« 
  • L’attribut « -r » permet de choisir un « User-Agent » aléatoire : le script de test peut se faire passer pour un téléphone portable ou alors comme un PC utilisant le navigateur « Safari »…
  • -v : mode « verbose » – Tous les tests passés vous seront montrés à l’écran.
  • –log : permet de créer un fichier .txt avec le résultat de l’analyse du site (y compris les tests effectués)

Lancer un scan sur les thèmes d’un site WordPress

Vous pouvez restreindre l’outil à un test spécifique – c’est le cas de cette commande, où je souhaite scanner principalement le ou les thèmes disponibles et utilisés sur le site ciblé.

Pour préciser les failles à rechercher, il faut donc utiliser l’attribut « –enumerate » avec l’option « t », pour « themes » (logique…). Notez bien que la lettre « t » est seule, il y a un espace entre « enumerate » et la lettre « t ».
Tout comme la commande au dessus, les attributs « -r », « -v » et « –log » ont les mêmes fonctions.

Lancer un scan sur les plugins d’un site WordPress

Même principe que les autres commandes, à la différence de l’attribut « enumerate » qui change : il faut utiliser la lettre « p » pour « plugins ». Ainsi, WPScan se concentrera sur les plugins actifs et visibles.

Lancer un scan sur les utilisateurs d’un site WordPress

Lancer un scan sur l’exploit « TimThumb » d’un site WordPress

Pour plus d’information sur cette faille, je vous conseille cette adresse (Korben).
Certains sites sous WordPress possèdent de nombreuses failles, puisqu’ils ne sont pas à jour. La faille « TimThumb » est donc exploitable et (malheureusement) encore présente sur de nombreux sites. WPScan est capable de rechercher cette faille en modifiant l’attribut « enumerate » en y ajoutant deux « t ».


Pour rappel, tous ces tests sont à effectuer sur un site WordPress de test – je ne serai en aucun cas tenu pour responsable si un usage frauduleux des outils est fait depuis cet article.
De plus, ce n’est pas utile de tester l’outil vers ComputerZ Solutions. Vous pourriez vous exposer à des peines pénales (voir article 323-3 du Nouveau Code pénal)

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

2 Comments

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close