Plus de 40 % du web est alimenté par WordPress. Mais cela rend ce CMS populaire une cible attrayante pour les hackers.

Donc, si vous gérez un site WordPress, vous devrez vous assurer qu’il est sécurisé. Et cela ne relève pas seulement d’une tâche technique, mais c’est également une responsabilité clé sous plusieurs aspects tels que la réputation de la marque, les violations de données et la continuité des activités.

Un outil qui se distingue dans l’écosystème WordPress est WPScan. C’est un scanner de sécurité spécialement conçu pour WordPress. Il est disponible avec une licence payante et gratuite, selon vos besoins. Il est également pré-installé dans les distributions de Kali Linux.

Donc que vous soyez un administrateur de site expérimenté ou un propriétaire de site cherchant à améliorer la sécurité de votre site, WPScan peut vous aider à identifier les vulnérabilités avant que les attaquants ne les exploitent.

Avant de continuer, une chose très importante : le but de cet article est d’aider les individus et les organisations à renforcer la sécurité de leurs sites WordPress en utilisant efficacement WPScan.

Bien que cet outil soit incroyablement puissant pour identifier les vulnérabilités, il est important de souligner que toute utilisation non autorisée de WPScan, comme scanner des sites web sans permission adéquate, est non seulement contraire à l’éthique mais aussi illégale.

Mon objectif en partageant ces informations est de permettre aux administrateurs de site et aux développeurs de sécuriser proactivement leurs sites, de protéger leurs données et de créer un environnement en ligne plus sûr pour tous.

Ce que nous couvrirons :

  1. Qu’est-ce que WPScan ?

  2. Comment scanner votre site WordPress avec WPScan

  3. Que faire avec les résultats de WPScan

  4. Limitations de WPScan

  5. Meilleures pratiques pour utiliser WPScan

  6. Comment surveiller les résultats efficacement

  7. Conclusion

Qu’est-ce que WPScan ?

WPScan est un outil en ligne de commande qui vous aide à identifier les vulnérabilités potentielles dans votre installation WordPress. C’est comme un agent de sécurité pour votre site web, surveillant les plugins obsolètes, les erreurs de configuration et d’autres problèmes courants.

Ce qui rend WPScan unique, c’est son focus sur WordPress. Il utilise une base de données maintenue par des experts en sécurité, qui est mise à jour régulièrement pour suivre des milliers de vulnérabilités connues dans le noyau WordPress, les plugins et les thèmes.

Que peut faire WPScan ?

Voici quelques-unes des choses avec lesquelles WPScan peut vous aider :

  • Détecter les versions obsolètes du noyau WordPress.

  • Identifier les vulnérabilités dans les plugins et les thèmes.

  • Énumérer les utilisateurs (par exemple, découvrir les noms d’utilisateur).

  • Tester les mots de passe faibles (en utilisant une attaque par dictionnaire).

  • Trouver des fichiers sensibles exposés (comme des sauvegardes ou des journaux de débogage).

Voyons maintenant les commandes les plus courantes que vous pouvez utiliser.

Comment scanner votre site WordPress en utilisant WPScan

1. Scan de base

Un scan de base fournit un aperçu de la sécurité de votre site WordPress en identifiant les vulnérabilités ou les erreurs de configuration clés. Il peut détecter la version du noyau WordPress et la signaler si elle est obsolète, mettant en évidence des risques potentiels tels que l’injection SQL ou les vulnérabilités de script inter-site (XSS) associées aux anciennes versions.

Le scan peut également révéler des fichiers de sauvegarde accessibles publiquement (par exemple, .sql ou .zip) ou des fichiers de débogage comme debug.log, qui pourraient exposer des informations sensibles telles que des identifiants de base de données ou des chemins de serveur.

Il peut signaler des en-têtes de sécurité HTTP manquants ou mal configurés, tels que Strict-Transport-Security (HSTS) ou Content-Security-Policy (CSP), qui sont critiques pour se protéger contre les attaques de rétrogradation de protocole et l’exécution non autorisée de scripts.

Des répertoires ouverts qui exposent la structure de fichiers de votre site et des plugins ou thèmes potentiellement vulnérables peuvent également être signalés s’ils sont identifiés dans les métadonnées publiques.

Ces résultats fournissent un point de départ pour corriger les lacunes de sécurité fondamentales.

wpscan --url http://yourwebsite.com

C’est ce que vous verrez sur votre terminal lorsque vous exécuterez cette commande :

2. Énumération des utilisateurs

L’énumération des utilisateurs est un processus d’identification des noms d’utilisateur sur votre site WordPress. Connaître ces noms d’utilisateur peut aider les attaquants à cibler des comptes spécifiques pour des attaques par force brute.

Pour énumérer les utilisateurs, exécutez :

wpscan --url http://yourwebsite.com --enumerate u

La sortie affichera les noms d’utilisateur :

Si vous trouvez des noms d’utilisateur par défaut comme admin, vous devriez les remplacer par quelque chose d’unique et de sécurisé.

Voici quelques bonnes pratiques pour les noms d’utilisateur :

  • Évitez les noms par défaut : Remplacez les noms d’utilisateur par défaut tels que admin ou user par quelque chose d’unique et difficile à deviner.

  • Renommez les noms d’utilisateur vulnérables : Pour changer un nom d’utilisateur, vous pouvez créer un nouvel utilisateur avec des privilèges d’administrateur, transférer la propriété des publications ou du contenu, puis supprimer l’ancien utilisateur.

  • Utilisez avec précaution les noms d’utilisateur basés sur les rôles : Évitez de nommer des comptes d’après leurs rôles (par exemple, editor, manager), car ils peuvent être des cibles faciles.

  • Implémentez des blocages de connexion : Associez des noms d’utilisateur sécurisés avec des plugins qui bloquent les comptes après plusieurs tentatives de connexion infructueuses.

  • Activez l’authentification à deux facteurs (2FA) : L’ajout de l’authentification à deux facteurs garantit que même si un nom d’utilisateur est deviné, le compte reste sécurisé.

3. Vérification des plugins et des thèmes

Les plugins et les thèmes peuvent avoir des problèmes de sécurité. WPScan peut lister tous les plugins et thèmes installés, ainsi que les vulnérabilités associées.

Pour les plugins, exécutez ceci :

wpscan --url http://yourwebsite.com --enumerate p

Il aura une sortie comme ceci :

Pour les thèmes, exécutez ceci :

wpscan --url http://yourwebsite.com --enumerate t

Il aura une sortie similaire à ceci :

Recherchez les versions obsolètes ou les vulnérabilités connues dans les résultats, et mettez à jour ou remplacez ces composants immédiatement.

Examinons quelques problèmes de sécurité courants dans les plugins et les thèmes.

Tout d’abord, nous avons Cross-Site Scripting (XSS). Une gestion des entrées non sécurisée dans les plugins ou les thèmes peut permettre aux attaquants d’injecter des scripts malveillants, potentiellement en volant des informations utilisateur ou en prenant le contrôle des sessions administratives. Un site WordPress mal sécurisé avec une vulnérabilité XSS peut permettre aux attaquants de voler des cookies de session, potentiellement obtenir un accès administratif non autorisé, injecter des redirections malveillantes, amener les utilisateurs vers des sites de phishing, afficher du contenu trompeur, incitant les utilisateurs à fournir des informations sensibles.

Il y a aussi SQL Injection. Des plugins ou des thèmes mal écrits peuvent permettre aux attaquants de manipuler les requêtes de base de données, exposant des données sensibles ou endommageant votre site. Les vulnérabilités d’injection SQL peuvent être exploitées pour extraire des données sensibles, contourner l’authentification, et modifier ou supprimer des données.

Certains plugins ou thèmes peuvent inclure un code malveillant – intentionnellement ou en raison d’une mauvaise sécurité – qui accorde aux attaquants un accès non autorisé à votre site, connu sous le nom de backdoors. Une fois installée, une backdoor peut accorder un accès persistant, permettre des téléversements de fichiers arbitraires, compromettre l’intégrité du site et voler des données sensibles.

Il y a aussi l’exécution de code à distance (RCE) – des vulnérabilités qui permettent aux attaquants d’exécuter du code arbitraire sur votre serveur, conduisant souvent au contrôle total de votre site ou serveur. Une fois que les attaquants ont accès à l’exécution de code à distance, ils peuvent créer des utilisateurs administrateurs, exfiltrer des données, lancer d’autres attaques et des élévations de privilèges.

Meilleures pratiques :

  • Toujours maintenir les plugins et thèmes à jour avec les dernières versions.

  • Supprimer les plugins et thèmes inutilisés ou inactifs, car ils peuvent toujours présenter un risque.

  • S’assurer que les plugins et thèmes sont téléchargés à partir de sources fiables et réputées et ont un historique de maintenance active.

  • Envisager d’utiliser des plugins de sécurité pour surveiller les modifications apportées aux fichiers de plugins ou de thèmes et détecter toute activité suspecte.

4. Test de mot de passe

WPScan peut tester les mots de passe faibles en essayant une attaque par force brute en utilisant une liste de mots :

wpscan --url http://yourwebsite.com --passwords /path/to/passwords.txt

et voici la sortie sur votre ligne de commande :

Qu’est-ce que le Brute-Forcing ?

Le Brute-Forcing est une méthode que les attaquants utilisent pour deviner des mots de passe en essayant systématiquement toutes les combinaisons possibles jusqu’à ce que la bonne soit trouvée. Lorsqu’il est combiné à une liste de mots – un fichier contenant une collection de mots de passe couramment utilisés – le Brute-Forcing devient beaucoup plus rapide et efficace.

Une liste de mots typique pourrait inclure :

  • Mots de passe simples comme 123456, password et qwerty.

  • Modèles courants tels que Spring2024! ou welcome123.

  • Mots de passe divulgués lors de précédentes violations de données.

En simulant ce type d’attaque, WPScan peut identifier les comptes utilisant des mots de passe faibles, vous permettant de traiter proactivement les vulnérabilités.

Les mots de passe faibles facilitent et accélèrent le Brute-Forcing. Un mot de passe court ou prévisible peut être deviné en quelques secondes, tandis qu’un mot de passe plus long, complexe et avec des éléments uniques est exponentiellement plus difficile à craquer.

Comment créer des mots de passe forts

Les mots de passe forts sont votre première ligne de défense contre les attaques par force brute. Voici les principales caractéristiques des mots de passe forts :

  • Longueur : Au moins 12 à 16 caractères de longueur.

  • Complexité : Utilisez un mélange de lettres majuscules et minuscules, de chiffres et de caractères spéciaux.

  • Unicité : Évitez de réutiliser des mots de passe sur plusieurs comptes.

  • Imprévisibilité : Évitez les mots du dictionnaire, les phrases courantes ou les informations personnelles comme les dates d’anniversaire.

Stratégies pour Générer des Mots de Passe Forts

Il existe diverses mesures que vous pouvez prendre pour créer des mots de passe forts. Tout d’abord, utilisez un générateur de mots de passe. Des outils comme LastPass et Bitwarden peuvent créer et stocker des mots de passe très complexes pour vous.

Vous devriez également utiliser des phrases de passe (au lieu de simples mots de passe). Combinez des mots aléatoires et non liés avec des chiffres et des symboles, tels que Sky#Tree!Motorbike12.

Enfin, évitez les modèles qui pourraient être facilement devinés par un attaquant. N’utilisez pas de suites ou de modèles de clavier comme abcdef ou qwerty.

Utilisez des Outils pour Gérer les Mots de Passe

La gestion de mots de passe forts peut être difficile. Les gestionnaires de mots de passe simplifient cela en stockant de manière sécurisée et en remplissant automatiquement vos informations d’identification. Les options populaires incluent:

  • Bitwarden

  • LastPass

Ces outils disposent également de fonctionnalités telles que l’audit des mots de passe pour détecter les mots de passe réutilisés ou faibles.

Utilisez l’authentification à deux facteurs (2FA)

L’authentification à deux facteurs (2FA) ajoute une couche de sécurité supplémentaire en demandant aux utilisateurs de vérifier leur identité via un deuxième facteur au-delà du mot de passe. Cela peut inclure:

  • Codes à usage unique envoyés par e-mail ou SMS.

  • Codes générés par application à partir d’outils comme Google Authenticator ou Authy.

  • Vérification biométrique, tels que empreintes digitales ou reconnaissance faciale.

Même si un attaquant devine votre mot de passe par force brute, la 2FA les empêche d’accéder à votre compte sans une vérification secondaire. Cette étape supplémentaire rend la force brute impraticable, car les attaquants devraient également compromettre votre appareil ou méthode 2FA.

Comment mettre en place la 2FA dans WordPress
  1. Installez un plugin WordPress tel que Google Authenticator.

  2. Exigez que tous les comptes d’utilisateurs, en particulier les administrateurs, activent l’authentification à deux facteurs (2FA).

  3. Proposez des codes de secours ou des options de récupération en cas de perte d’accès à leur appareil 2FA par les utilisateurs.

  4. Testez et assurez-vous que le 2FA fonctionne de manière fiable pour tous les rôles d’utilisateurs avant de le rendre obligatoire.

L’importance de l’hygiène des mots de passe

En utilisant des mots de passe solides et en mettant en œuvre le 2FA, vous pouvez réduire considérablement l’efficacité des attaques par force brute.

La fonction de test de mot de passe de WPScan peut vous aider à identifier les identifiants faibles. Elle souligne également le besoin crucial d’une hygiène des mots de passe proactive et de couches de sécurité supplémentaires pour maintenir la sécurité de votre site WordPress.

Que faire avec les résultats de WPScan

Les rapports de WPScan fournissent des informations exploitables sur la sécurité de votre site. Voici ce que vous pouvez faire avec ces informations :

Premièrement, mettez à jour le cœur de WordPress, les plugins et les thèmes : Gardez tout à jour pour corriger les vulnérabilités.

Deuxièmement, traitez les problèmes de configuration : Corrigez les permissions de fichier mal configurées, les en-têtes HTTP non sécurisés et autres avertissements.

Voici quelques exemples de remèdes que vous pouvez appliquer :

  • Indexation de répertoire : Si WPScan détecte des répertoires ouverts, désactivez la navigation dans les répertoires en ajoutant cette ligne à votre fichier .htaccess :

      Options -Indexes
    
  • Permissions de fichier : Assurez-vous que les fichiers critiques comme wp-config.php soient en lecture seule en définissant les permissions sur 440 ou 400 en utilisant la commande :

      chmod 400 wp-config.php
    

Vous devriez également renforcer tous les comptes utilisateurs. Vous pouvez le faire de plusieurs manières :

  • Mettre à jour les mots de passe faibles : Utilisez des mots de passe forts et uniques pour tous les comptes utilisateurs (reportez-vous à la section sur les tests de mots de passe pour des conseils).

  • Supprimer les comptes inutilisés : Supprimez les comptes inactifs, en particulier ceux avec des privilèges d’administrateur.

  • Renommez les noms d’utilisateur prévisibles: Changez les noms d’utilisateur comme admin pour quelque chose de moins évident.

Assurez-vous également de sécuriser les fichiers sensibles : Si WPScan trouve des fichiers exposés comme debug.log, supprimez-les ou sécurisez-les. Supprimez les fichiers inutiles ou les anciennes sauvegardes.

Pour les fichiers que vous devez conserver, déplacez-les dans un répertoire en dehors de la racine du site web. Vous pouvez également protéger les fichiers avec .htaccess, en bloquant l’accès aux fichiers sensibles en utilisant les règles Deny et Allow:

<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from 123.456.789.000
</Files>

Limitations de WPScan

WPScan est un outil puissant, mais il a quelques limitations. Soyez simplement conscient de celles-ci pour pouvoir prendre d’autres mesures pour protéger vos sites WP.

1. Vulnérabilités Connues Uniquement

WPScan repose sur sa base de données de vulnérabilités connues, il ne détectera donc pas les exploits zero-day ou les vulnérabilités personnalisées.

Voici quelques conseils sur la façon dont vous pouvez atténuer ce problème :

  • Rester informé : Surveillez les blogs de sécurité WordPress, les bases de données de vulnérabilités comme CVE ou WPVulnDB, et les forums communautaires pour les menaces émergentes.

  • Utilisez un pare-feu d’application Web (WAF) : Des outils comme Cloudflare ou Sucuri peuvent bloquer les activités suspectes et les tentatives d’exploitation de vulnérabilités inconnues.

  • Effectuez des examens de sécurité manuels : Passez périodiquement en revue votre site pour détecter des comportements inhabituels ou des modifications non autorisées, en particulier dans des fichiers critiques comme wp-config.php ou votre base de données.

2. Pas de protection en temps réel

WPScan est un outil de diagnostic, pas un pare-feu ou un système de détection d’intrusion. Pour une protection en temps réel, il est conseillé de combiner WPScan avec d’autres outils.

Voici quelques mesures que vous pouvez prendre :

  • Installez des plugins de sécurité : Utilisez des plugins de sécurité spécifiques pour assurer une surveillance continue, une analyse des logiciels malveillants et une protection pare-feu.

  • Surveillez les journaux d’activité : Mettez en place un suivi des activités pour identifier les tentatives de connexion suspectes, les modifications de fichiers ou les actions d’utilisateurs non autorisées.

3. Consommation de ressources

Scanner de grands sites avec de nombreux plugins et thèmes peut prendre beaucoup de temps et avoir un impact sur les performances du serveur.

Il existe différentes stratégies que vous pouvez adopter pour atténuer cela, telles que planifier des scans pendant les périodes de faible trafic afin de minimiser les perturbations pour les visiteurs du site. Vous pouvez également effectuer des scans sur une copie de staging de votre site plutôt que directement sur l’environnement en ligne.

4. Courbe d’apprentissage

En tant qu’outil en ligne de commande, WPScan peut être intimidant pour les utilisateurs moins techniques. Cependant, la documentation est excellente et avec de la pratique, vous deviendrez compétent.

Si l’interface en ligne de commande vous semble écrasante, essayez d’associer WPScan avec des plugins de sécurité qui offrent des options de scan et de reporting basées sur une interface graphique.

Meilleures pratiques pour utiliser WPScan

Pour tirer le meilleur parti de WPScan, vous voudrez adapter son utilisation aux besoins spécifiques de votre site et établir une stratégie solide pour surveiller les résultats. Voici comment maximiser son efficacité :

Choisissez les bons scans pour votre site

WPScan propose une variété d’options de scan, des scans de base aux vérifications ciblées des vulnérabilités pour les plugins, les thèmes et les comptes utilisateurs. Le choix des bons scans dépend du type de site que vous gérez et de la sensibilité des données qu’il traite.

Pour les petits sites à faible trafic:

  • Priorisez les analyses de base pour vérifier le cœur de WordPress, les plugins et les thèmes pour les mises à jour et les vulnérabilités.

  • Effectuez des analyses mensuelles ou après des mises à jour majeures.

  • Utilisez l’énumération des utilisateurs (--enumerate u) si vous soupçonnez des mots de passe faibles ou des noms d’utilisateur par défaut.

Pour les sites de PME:

  • En plus des analyses de base, incluez l’énumération des plugins et des thèmes (--enumerate p,t) pour garantir que tous les composants sont sécurisés.

  • Analyses hebdomadaires pour anticiper les menaces émergentes.

  • Combinez WPScan avec des plugins de journal d’activité pour suivre les actions des utilisateurs et les modifications de fichiers.

Pour les sites à fort trafic ou de commerce électronique:

  • Effectuez des analyses complètes, y compris l’énumération des utilisateurs (--enumerate u), l’énumération des fichiers (--enumerate f) et les tests de brute force des mots de passe (si autorisé).

  • Scans quotidiens ou hebdomadaires pour minimiser les risques.

  • Met en place des mesures supplémentaires comme l’authentification à deux facteurs pour les comptes administrateurs, un pare-feu d’application web (WAF) et des en-têtes de sécurité pour renforcer votre site.

Pour les sites manipulant des données sensibles:

  • Donnez la priorité à toutes les analyses disponibles, y compris celles des fichiers exposés et des vulnérabilités de configuration.

  • Scans hebdomadaires avec surveillance en temps réel via un plugin de sécurité.

  • Utilisez des environnements de staging pour tester les paramètres de sécurité sans affecter la production.

Faut-il utiliser toutes les analyses?

Alors qu’il peut sembler avantageux d’utiliser toutes les analyses que WPScan propose, il y a divers facteurs à considérer.

Tout d’abord, pensez à la taille de votre site et à vos ressources. Pour les sites plus petits, lancer toutes les analyses peut être excessif et consommer beaucoup de ressources.

Vous voudrez également vous concentrer sur les analyses qui ciblent les vulnérabilités les plus probables de votre site. Par exemple, un site de commerce électronique devrait prioriser la sécurité des utilisateurs et des paiements plutôt que l’énumération exhaustive des fichiers.

Les exigences de conformité sont également importantes à prendre en considération. Si vous êtes soumis à des réglementations telles que le RGPD, assurez-vous de scanner et de traiter les vulnérabilités liées à la protection des données.

Comment surveiller les résultats de manière efficace

Surveiller les résultats de WPScan est important. Cela vous aide à corriger les vulnérabilités, bien sûr, mais cela vous permet également de créer un système pour suivre les changements dans le temps et rester vigilant.

Mettre en place un reporting

Vous pouvez enregistrer les résultats de l’analyse dans des fichiers en utilisant le drapeau --output:

wpscan --url http://example.com --output /path/to/report.txt

Ensuite, examinez régulièrement les rapports et comparez-les aux analyses précédentes pour identifier les problèmes récurrents ou les nouvelles vulnérabilités.

Créer un plan d’action

Il est judicieux de catégoriser les vulnérabilités en fonction de leur gravité (par exemple, critique, modérée, faible).

Cela vous permet de traiter immédiatement les problèmes de haute gravité (comme les plugins obsolètes avec des failles connues). Ensuite, vous pouvez planifier les tâches de moindre priorité, telles que les ajustements des autorisations de fichiers ou les changements mineurs de configuration, pour la maintenance régulière.

Utilisez des outils comme des tableurs ou une application de gestion de projet (par exemple, Trello, Asana) pour consigner les vulnérabilités, les correctifs et les actions de suivi.

Assurez-vous d’analyser les problèmes récurrents pour identifier les tendances, comme les vulnérabilités fréquentes des plugins, et envisagez de remplacer les composants problématiques.

Automatiser les notifications

Si vous programmez des analyses à l’aide de tâches cron, configurez des alertes par e-mail ou des notifications pour examiner les résultats sans délai.

Utilisez des plugins de sécurité avec surveillance en temps réel pour vous notifier des activités suspectes entre les vérifications WPScan.

Communiquez avec votre équipe:

Vous voudrez vous assurer de partager les rapports avec les membres de l’équipe concernés, tels que les développeurs ou les administrateurs de site, afin que tout le monde soit conscient des vulnérabilités potentielles.

Il est également judicieux d’établir des protocoles pour une action immédiate si des vulnérabilités critiques sont découvertes.

En choisissant des analyses en fonction des besoins spécifiques de votre site et en mettant en œuvre une approche structurée pour surveiller les résultats, vous pouvez vous assurer que WPScan est utilisé efficacement. Assurez-vous également d’adapter l’outil à votre profil de risque, de suivre les vulnérabilités au fil du temps et d’intégrer ses résultats dans une stratégie de sécurité plus large.

Cette approche améliore non seulement la posture de sécurité de votre site, mais minimise également l’utilisation des ressources et l’effort tout en offrant une protection maximale.

Conclusion

WPScan est un outil inestimable pour quiconque gère un site WordPress. Il simplifie le processus d’identification des vulnérabilités et fournit des recommandations claires et exploitables pour renforcer la sécurité de votre site.

En intégrant WPScan dans votre flux de travail et en suivant les meilleures pratiques, vous pouvez réduire le risque d’attaques et maintenir la sécurité de votre site WordPress. La sécurité est un voyage continu, et des outils comme WPScan facilitent la tâche pour rester en avance sur les menaces potentielles.