Hack de WordPress : comment réparer son site après un piratage

Les sites sous WordPress sont une cible de choix des hackers. Voici comment détecter un hack de son site WordPress et le réparer après un piratage.

Hack d’un site WordPress : identifier les signes d’un piratage

Si vous avez un site web qui tourne sous WordPress, alors il est très probable qu’un jour vous soyez confronté à une situation de hack de votre site WordPress.

J’en ai fait récemment l’expérience, malgré la mise en oeuvre de différentes mesures de bonnes pratiques en termes de sécurité. Les hackers cherchent à exploiter la moindre faille de sécurité, compte-tenu du nombre de sites internet dans le monde entier qui tournent sous WordPress.

Dans toute attaque informatique, le pirate a une motivation, et qui est généralement financière.

Ainsi, le hack de WordPress peut par exemple viser à rediriger les visiteurs de votre site vers des sites malveillants (phishing, spam, etc.).

D’autres techniques peuvent par exemple viser à modifier la description de vos pages dans les moteurs de recherche comme Google.

Et les malwares implantés dans votre site WordPress sont suffisamment malins pour faire en sorte de ne pas attirer votre attention en tant qu’administrateur du site.

Par exemple, quand je me connectais sur l’interface d’administration de WordPress ou que je consultais mon site, rien d’anormal ne se passait. Pourtant, en copiant-collant l’adresse d’un article dans un autre navigateur de mon PC, mon antivirus m’a immédiatement bloqué la navigation : l’adresse web qui figurait dans l’alerte de mon antivirus n’avait rien à voir avec celle de mon site. Preuve que mon site redirigeait les visiteurs vers un autre site.

Une redirection vers un site malveillant est souvent le signe d'un hack de WordPress.
Un exemple de hack sous WordPress : le site renvoie automatiquement le visiteur vers des sites malveillants bloqué par une solution antivirus

Une fois le constat établi, il convient de réparer le hack de votre site WordPress. Si vous faites des sauvegardes périodiques, la 1ère solution à laquelle on pense est de restaurer une sauvegarde antérieure. Cette solution n’est cependant peut-être pas la plus pertinente, car il faut être sûr de savoir quand le piratage du site a eu lieu, afin de ne pas restaurer le malware s’il est déjà présent dans la sauvegarde.

Ainsi, l’autre solution est de nettoyer manuellement le piratage du site.

Comment scanner les fichiers WordPress à la recherche de malware

Un plugin de scan de malware permettra de confirmer rapidement le hack du site WordPress.

En la matière, le plugin gratuit Wordfence est probablement la référence pour faire une 1ère analyse. Wordfence scanne l’ensemble de vos fichiers WordPress, à la recherche de codes malveillants généralement utilisés dans les malwares. La version gratuite de Wordfence dispose des signatures avec un délai de 30j par rapport à la version payante du plugin. Mais même la version gratuite permet déjà de se faire une idée.

Le plugin de scan de malware recherche dans le code du site WordPress des portions de codes malveillantes injectées lors du piratage.
Un plugin de scan recherchera des traces de codes malveillants injectés dans le site WordPress (Crédit photo : RoonZ nl / Unsplash)

Une fois le scan réalisé par Wordfence, celui-ci m’a trouvé plusieurs fichiers suspects :

  • Il peut s’agir de fichiers .php à part entière et qui ne font pas partie de l’installation originale de WordPress. C’est ainsi que j’ai pu trouver des fichiers planqués au fin fond d’un répertoire de feuilles de style .css par exemple. Ou d’autres fichiers directement à la racine de WordPress, et dont la mise en page et les commentaires dans le code laissaient penser à un plugin tout à fait légitime
  • Des portions de code ajoutées dans des fichiers WordPress légitimes

Avant toute modification de ces fichiers, assurez-vous d’avoir une sauvegarde récente. En effet, vous pourriez supprimer par inadvertance des éléments légitimes lors du nettoyage du hack de WordPress.

Utilisez votre client FTP et connectez vous au FTP de votre site.

Pour chaque anomalie relevée par Wordfence :

  • S’il s’agit d’un fichier à part entière identifié par Wordfence, ne faisant pas partie de l’installation de WordPress, ni d’un plugin qui vous parle (pour rappel, les plugins s’installent normalement par défaut dans wp-content/plugins/, et pas ailleurs dans l’arborescence) : supprimez le fichier .php suspect de votre serveur FTP
  • Pour les portions de code injectées dans des fichiers légitimes de WordPress (par exemple wp-config.php, .htaccess, etc.) : téléchargez le fichier sur votre PC avec le client FTP, ouvrez-le dans un éditeur comme Notepad++, supprimez la portion de code suspecte mentionnée par Wordfence, enregistrez le fichier, et envoyez-le à nouveau sur votre serveur FTP en remplacement du fichier actuel. Pour vous aider dans l’identification de portion de code malveillante, en complément de ce que vous indique Wordfence, vous pouvez comparer votre fichier avec l’installation originale de WordPress disponible ici. Mais attention car vous avez pu par le passé déjà personnaliser certains de ces fichier, donc il est bien important de ne pas supprimer une portion de code légitime par erreur.

Comment scanner la base de données de WordPress

Après avoir nettoyé les fichiers infectés, il me restait un problème de redirection toujours vers d’autres sites.

Par ailleurs, le scan de Wordfence continuait de me trouver des portions de codes malveillantes, mais uniquement dans les fichiers statiques générés par mon plugin de cache.

Je n’avais pas compris tout de suite, mais il me restait un script malveillant directement dans la base de données de WordPress.

Wordfence ne scanne en effet pas la base de données, mais uniquement les fichiers de WordPress.

J’ai recherché la portion de code indiquée par Wordfence directement dans la base de données, et je l’ai effectivement trouvée. C’était simplement un javacript renseigné directement dans un champ de code personnalisé proposé par mon thème graphique.

Un script malveillant peut aussi être injecté en base de données.
Un script malveillant avait aussi été injecté en base de données, dans un champ d’exécution de code javascript personnalisé proposé par le thème graphique.

Il m’a suffi de supprimer ce script directement depuis l’option de mon thème graphique pour résoudre enfin le hack de WordPress.

Utiliser un autre plugin de scan pour confirmer que le site est sain

Pour confirmer que le site est désormais sain, vous pouvez utiliser un autre plugin de scan de malware, permettant ainsi d’avoir un 2nd avis en complément de Wordfence.

J’en ai testé plusieurs :

  • Malcare : ce plugin est réputé pour être l’un des plus complets en termes de scan. D’ailleurs, il scanne à la fois les fichiers et la base de données, contrairement à Wordfence. Malcare m’avait identifié un script malveillant dans ma base de données, là où Wordfence ne trouvait plus qu’une menace au travers des fichiers statiques de cache générés. Un autre avantage de Malcare est que le scan n’est pas fait directement par votre site, mais à distance. Cela permet de limiter la charge sur votre serveur. Le scan par Malcare est gratuit. Mais il y a un inconvénient important : il vous dira uniquement si votre site est sain ou infecté par un malware, mais vous devrez obligatoirement payer pour savoir où se situe la menace (fichiers, base de données, etc.).
  • All in One Security : ce plugin est réputé pour apporter des fonctionnalités de base afin de mieux sécuriser WordPress. Mais jusqu’à dernièrement, il lui manquait une fonctionnalité de scan de malwares. All in One Security propose désormais dans sa version payante une fonctionnalité de scan. Là encore, le scan est fait à distance, ce qui épargnera de la charge de travail pour votre serveur, et évitera ainsi de ralentir inutilement votre site. La version premium de All in One Security est probablement l’un des plugins payants de sécurité les moins chers pour WordPress. Elle dispose également d’une fonctionnalité intéressante : celle de vérifier si votre site a été blacklisté par les éditeurs de solution de sécurité (voir ci-dessous)

Vérifier que le site n’est pas blacklisté par les éditeurs de sécurité

Après avoir été hacké, votre site légitime peut être considéré comme suspect par des solutions de sécurité informatiques (antivirus, etc.)

C’est problématique car vous risquez alors de perdre de nombreux visiteurs, car ces derniers recevront un message d’avertissement de la part de leur antivirus en se rendant sur votre site.

Le scan du plugin All in One Security (version premium) permet de vérifier la notoriété de votre sitechez les principaux acteurs de sécurité : notamment Google, Norton, Sucuri, Eset, Sophos, McAfee.

C’est ainsi que j’ai eu la mauvaise surprise de constater que McAfee avait listé mon site qu’en pouvant présenter un risque. En vérifiant dans la base de données publiques de McAfee, il ressort en effet une alerte de niveau faible.

Blacklist d'un antivirus (McAfee) d'un site WordPress hacké
Un hack d’un site WordPress peut amener les éditeurs de solutions de sécurité à blacklister le site.

En recherchant sur le site de l’éditeur, j’ai trouvé la procédure de demande de ré-évaluation du site. J’ai donc ouvert une demande en leur expliquant que le site avait été victime d’une attaque, et qu’il est désormais rétabli.

Renforcer la sécurité de WordPress pour limiter le risque de hack à l’avenir

Il est vital de porter une attention particulière à la sécurité de WordPress, car un piratage peut arriver.

Dans les bonnes pratiques, on peut rappeler notamment :

  • Utiliser un plugin de sécurité pour améliorer la configuration de base de WordPress et ainsi réduire la surface d’attaque du site
  • Utiliser un mot de passe robuste et unique (un bon gestionnaire de mots de passe peut vous aider)
  • Installer les mises à jours de WordPress, plugins, et thèmes, dès leurs sorties. Le plugin gratuit Easy Updates Manager peut aider en automatisant les mises à jours
  • S’assurer ne pas avoir de plugin ou de thèmes qui ne sont plus maintenus, ou avec des vulnérabilités connues. Le plugin gratuit WP Scan permet par exemple de scanner automatiquement les éléments installés sur le site pour vérifier qu’ils n’ont pas de vulnérabilité connues.
  • Faire des sauvegardes fréquemment

Kevin
Kevin
Fondateur et rédacteur de ce blog. Je suis un enthousiaste des nouvelles technologies et partage ici des conseils sur la high-tech au travers de guides d'achat, tests de produits et tutoriels.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Pour continuer la lecture