Les fichiers de configuration existent pour faciliter la vie des développeurs et des opérateurs de sites Web. Dans un monde sans fichiers de configuration, chaque instance de code qui dépendait d’une connexion à une base de données pourrait potentiellement nécessiter que les détails de connexion soient codés en dur ou saisis manuellement. D’autres données réutilisables seraient définies plusieurs fois, provoquant un gonflement du code et d’éventuels problèmes de performances. Même le simple fait d’apporter des modifications à un site Web peut être une tâche fastidieuse consistant à rechercher exactement où les détails de configuration sont conservés et à mettre à jour toutes les instances. Les fichiers de configuration sont une excellente ressource pour maintenir facilement un site Web, mais ils sont également une ressource commune pour les acteurs malveillants.

Données sensibles dans les fichiers de configuration de WordPress

WordPress inclut un fichier principal nommé wp-config.php qui définit les informations d’identification de la base de données, les clés secrètes, le préfixe de table de base de données à utiliser et les chemins de fichier requis. Les définir dans un fichier de configuration est pratique, mais si un acteur malveillant peut mettre la main sur le fichier wp-config.php, il dispose alors de nombreuses informations pouvant entraîner un vol de données et même une prise de contrôle du site. Dans WordPress, le contenu du site Web est stocké dans la base de données, y compris les détails de l’utilisateur pour les administrateurs et les autres rôles. Ce fichier est protégé par défaut dans WordPress, mais que se passe-t-il lorsque vous devez modifier quelques détails mineurs dans le fichier et que vous effectuez une sauvegarde avec un nom différent, mais que vous la laissez dans un répertoire accessible sur le Web ?

Examinons les détails de la base de données inclus dans le fichier wp-config.php. Ce qui est défini ici est le nom de la base de données, le nom de l’utilisateur de la base de données ainsi que le mot de passe associé, le nom d’hôte pour l’emplacement de la base de données, ainsi que le jeu de caractères et le classement par défaut. Si d’autres protections ne sont pas en place sur le serveur de base de données, telles que la restriction IP, ces informations peuvent donner à un acteur malveillant tout ce dont il a besoin pour accéder à la base de données. Avec un accès illimité à la base de données, ils peuvent ensuite insérer de nouveaux utilisateurs administrateurs, ce qui leur fournit à leur tour un accès illimité au site Web et à toutes ses données principales.

Données sensibles dans wp-config.php

Erreurs de sauvegarde courantes

Une façon courante de sauvegarder le fichier wp-config.php consiste à faire une copie du fichier et à ajouter une nouvelle extension de fichier comme .txt, .bak ou .html à la fin du nom de fichier. Il s’agit d’un moyen rapide d’effectuer une sauvegarde et de s’assurer qu’elle est facilement disponible pour être réactivée en remplaçant le nom de fichier par l’original. Le problème est qu’en laissant ces fichiers dans un répertoire accessible sur le Web, il est relativement simple pour les acteurs malveillants de trouver les données sensibles contenues dans le fichier.

Supposons que le fichier soit mis à jour pour modifier le chemin absolu du site Web WordPress, avec l’original sauvegardé sous wp-config.php.html. Si vous accédez au fichier de sauvegarde directement dans un navigateur, vous obtiendrez une page blanche. Cela semble inoffensif et sûr, mais cela donne également l’information que le fichier existe, juste sans aucun code HTML réel pour afficher le contenu à l’écran. Si au contraire la page est appelée à l’aide d’une commande cURL depuis un terminal, le contenu du fichier sera affiché.

Fichier de sauvegarde lu dans la ligne de commande

Si le fichier est sauvegardé en tant que wp-config.php.bak, le navigateur téléchargera le fichier lorsqu’il sera chargé, et si le fichier est sauvegardé en tant que wp-config.php.txt, le contenu s’affichera directement dans le navigateur.

Fichier de sauvegarde lu dans le navigateur

Sondage de la sauvegarde de la configuration

Plusieurs techniques sont utilisées pour rechercher des sauvegardes de fichiers de configuration. Une technique simple consiste à utiliser ce qu’on appelle Google dorks. Cette technique utilise la fonctionnalité de recherche intégrée de Google et d’autres moteurs de recherche. Par exemple, la phrase de recherche inurl:wp-config.php intext:DB_PASSWORD renverra des résultats pour les fichiers contenant wp-config.php dans l’URL qui contiennent également DB_PASSWORD dans le corps du fichier qui se charge. Les acteurs malveillants automatisent également souvent le processus de recherche des fichiers de configuration de sauvegarde à l’aide de scripts et d’outils prédéfinis. L’utilisation d’une certaine forme d’automatisation pour trouver ces fichiers rend le processus beaucoup plus efficace.

Rechercher des sauvegardes du fichier wp-config.php est une pratique très courante. C’est si courant, en fait, que le pare-feu Wordfence a suivi 70 408 576 tentatives de localisation de ces sauvegardes au cours des 30 derniers jours seulement.

wp-config.php sondage de sauvegarde enregistré au cours des 30 derniers jours

Dans ces données, nous avons identifié quatre scanners de disponibilité légitimes qui étaient utilisés pour trouver ce fichier. Le problème avec ces scanners, c’est qu’ils ne sont pas chers, et deux d’entre eux ont même des versions gratuites disponibles. Parce qu’il n’y a aucune raison légitime de rechercher des sauvegardes du fichier wp-config.php, il semble que des acteurs malveillants aient déterminé que les ressources nécessaires pour utiliser ces scanners sont dépassées par les avantages de la mise en œuvre d’une solution légitime connue à des fins néfastes. Ces scanners représentent un peu plus de 6,5 millions de tentatives pour localiser les sauvegardes du fichier wp-config.php.
Voici les dix principales adresses IP dont nous avons bloqué la recherche de sauvegardes wp-config.php.

  • 3.69.53.252 avec 3953193 tentatives
  • 3.71.111.191 avec 2165519 tentatives
  • 52.59.9.15 avec 1726745 tentatives
  • 35.83.251.89 avec 1707670 tentatives
  • 3.96.219.221 avec 1645568 tentatives
  • 35.182.107.115 avec 1553854 tentatives
  • 34.240.248.60 avec 1526032 tentatives
  • 50.16.69.90 avec 1065868 tentatives
  • 3.99.130.127 avec 952639 tentatives
  • 35.91.211.91 avec 789722 tentatives

Tentatives de sonde enregistrées par adresse IP au cours des 30 derniers jours

Tous ces éléments sont enregistrés sur Amazon et sont répartis dans le monde entier, ce qui n’est pas rare. Les auteurs de menaces utiliseront souvent des serveurs dans n’importe quel endroit qui pourrait leur être utile, en particulier s’il existe un endroit connu pour autoriser (ou du moins fermer les yeux sur) le type d’activité pour lequel ils utiliseront le serveur.

Conclusion

En regardant les données collectées au cours des 30 derniers jours, il devient clair que la recherche de fichiers de configuration tels que wp-config.php est largement répandue parmi les acteurs malveillants. Les informations d’identification de la base de données peuvent à elles seules s’avérer extrêmement précieuses pour quiconque souhaite prendre en charge un site Web. Avec plus de 40% des sites Web actuels exécutant WordPress, cela rend la recherche de fichiers wp-config.php encore plus précieuse car elle ne nécessite que la connaissance d’un seul système de gestion de contenu (CMS).

Le scanner Wordfence comprend une option pour « Rechercher les fichiers de configuration, de sauvegarde ou de journal accessibles au public » qui vous alertera si des fichiers de configuration, de sauvegarde ou de journal accessibles au public sont présents dans le répertoire de votre site. Ce paramètre est activé sur une analyse standard et peut également être vérifié pour les analyses personnalisées. Si vous avez reçu des résultats indiquant que vous avez un fichier sensible accessible au public, nous vous recommandons vivement de le supprimer immédiatement du répertoire accessible au public.

Si vous pensez que votre site a été compromis à la suite d’une attaque de sondage de configuration ou d’un autre exploit, nous proposons des services de réponse aux incidents via Wordfence Care. Si vous avez besoin que votre site soit nettoyé immédiatement, Wordfence Response offre le même service avec une disponibilité 24/7/365 et un temps de réponse d’une heure. Ces deux produits incluent une assistance pratique au cas où vous auriez besoin d’une assistance supplémentaire.


Source link