Urgence WordPress piraté : comment supprimer le malware rapidement

Un site WordPress piraté, ce n’est pas seulement quelques pop-ups douteux. C’est parfois votre référencement qui s’effondre en quelques heures, vos visiteurs redirigés vers des sites frauduleux, votre hébergeur qui suspend votre compte, et dans certains cas des données personnelles exposées. Quand l’alerte tombe, la notion d’urgence n’est plus théorique. Elle est très concrète.

Dans ce guide, je vais détailler une approche pragmatique pour gérer une urgence WordPress piraté, limiter les dégâts et supprimer le malware aussi vite que possible, sans sacrifier la rigueur. L’objectif n’est pas seulement de “nettoyer”, mais de comprendre ce qui se passe pour éviter les rechutes, que je vois trop souvent chez les sites nettoyés à moitié.

Reconnaître que c’est bien un piratage

Avant de tout casser dans la panique, il faut s’assurer que vous faites face à un piratage et pas simplement à un bug, une extension défectueuse ou un problème d’hébergement.

Certains symptômes reviennent constamment lorsque j’interviens en urgence WordPress piraté. Voici les plus fréquents, que vous pouvez vérifier en quelques minutes depuis un navigateur privé ou un autre appareil que le vôtre (votre cache peut masquer le problème).

Liste 1 : signes typiques d’une infection WordPress

    Redirections étranges vers des sites de jeux, de cryptomonnaies ou pour adultes Pages de votre site remplies de liens sortants ou de textes incompréhensibles Avertissements de Google Safe Browsing ou des navigateurs indiquant un site dangereux Apparition d’utilisateurs administrateurs inconnus dans WordPress Pic inhabituel de trafic ou d’erreurs dans les logs du serveur

Ce sont les signaux évidents. D’autres signes sont plus subtils : fichiers modifiés qui ne devraient pas l’être, ralentissement soudain alors que le trafic est stable, envoi massif de mails depuis votre serveur, indexation par Google de milliers d’URL inconnues.

Quand vous êtes dans le doute, partez du principe que le site est compromis et utilisez une démarche de sécurité. La pire erreur, je l’ai vue plusieurs fois, consiste à se dire “ça ira jusqu’à ce week-end” et à laisser le site exposé pendant plusieurs jours.

image

Priorité absolue : limiter les dégâts immédiatement

La première phase ne consiste pas à supprimer le malware, mais à réduire l’impact du piratage. L’idée est de geler la situation, couper les accès et protéger vos visiteurs, afin de travailler plus sereinement ensuite.

Liste 2 : actions d’urgence dans l’heure qui suit la découverte

    Changer tous les mots de passe critiques : hébergeur, FTP ou SSH, base de données, comptes administrateurs WordPress Sauvegarder l’état actuel du site (fichiers + base de données) pour analyse ultérieure Mettre le site hors ligne temporairement via l’hébergeur ou une page de maintenance sobre Vérifier les emails de votre hébergeur pour voir s’il a déjà détecté un abus ou des scripts malveillants Noter tout ce que vous observez : messages d’erreur, URL suspectes, comportement inhabituel

Changer les mots de passe en premier évite que l’attaquant continue à agir pendant que vous intervenez. Utilisez des mots de passe longs et uniques, idéalement via un gestionnaire de mots de passe. Ne vous contentez pas de changer le mot de passe WordPress si vos identifiants FTP ou cPanel circulent aussi.

Sauvegarder l’état infecté du site peut sembler contre‑intuitif, mais c’est souvent précieux pour une analyse ultérieure, pour une assurance, ou pour comprendre la faille qui a été exploitée. Si vous nettoyez tout sans trace, vous risquez de répéter les mêmes erreurs.

Mettre le site hors ligne est parfois discuté. Certains propriétaires hésitent, par peur pour le SEO ou l’image. Dans les faits, un site qui redirige vers des malwares est bien plus nuisible. Une page de maintenance simple, hébergée hors de WordPress (par exemple un index.html placé à la racine qui masque le reste) est un compromis propre.

Faire un premier diagnostic technique

Une fois l’urgence immédiate traitée, il faut comprendre à quoi on a affaire. Tous les piratages WordPress ne se ressemblent pas. Les approches efficaces varient selon le type de malware, sa profondeur d’intégration et le niveau d’accès obtenu par l’attaquant.

Je vois généralement trois scénarios principaux.

1. Infection superficielle, limitée à quelques fichiers

C’est le cas le moins grave. On trouve quelques scripts obfusqués dans le thème, parfois un fichier PHP inconnu dans le dossier uploads, ou des injections dans le fichier functions.php.

On repère souvent ces infections en comparant un thème avec sa version originale, ou en utilisant des scanners comme Wordfence, Sucuri, ou l’outil de sécurité fourni par certains hébergeurs. Les fichiers injectés sont souvent très verbeux, pleins de variables aux noms aléatoires, de code encodé en base64 ou d’appels à eval().

2. Infection étendue sur tout le core WordPress

Ici, l’attaquant a touché les fichiers cœur de WordPress. Par exemple, index.php, wp-config.php, les fichiers dans wp‑includes, voire le fichier wp‑settings.php. On trouve des bouts de code insérés au début ou à la fin, destinés à se répliquer ou à réinjecter le malware dans les thèmes.

Dans ce cas, essayer d’éditer “à la main” chaque fichier est rarement réaliste. Il vaut mieux prévoir une réinstallation propre du core et des extensions.

3. Compromission profonde du serveur

C’est la situation la plus sérieuse. Le piratage ne se limite plus à WordPress, il touche tout le compte d’hébergement, et parfois d’autres sites hébergés sur le même compte. Par exemple, des scripts .php ou .ico malveillants éparpillés dans plusieurs dossiers, des tâches cron étranges, voire un rootkit sur un serveur dédié mal sécurisé.

Dans ces cas, la vraie solution passe par l’hébergeur. Changer simplement WordPress ne suffira pas, il faut envisager une migration ou une réinstallation serveur plus radicale.

Même sans être expert, vous pouvez déjà collecter des indices : regarder la date de modification des fichiers, voir si des sites voisins sont touchés, vérifier la présence de tâches cron suspectes depuis le panneau d’hébergement ou un accès SSH si vous en avez les compétences.

Nettoyer un WordPress piraté sans tout casser

Lorsque l’urgence WordPress piraté frappe, beaucoup de propriétaires de sites commencent par supprimer des fichiers au hasard, parfois même des dossiers entiers comme wp‑includes. Résultat : le site n’est plus infecté, mais il ne fonctionne plus.

Une démarche structurée épargne du temps et des nerfs.

Réinstaller le core WordPress proprement

La meilleure façon de s’assurer que le cœur de WordPress est sain consiste à le réinstaller intégralement.

Dans la pratique, voici l’ordre que j’utilise sur la plupart des interventions :

Télécharger la dernière version officielle de WordPress depuis wordpress.org. Supprimer les dossiers wp‑admin et wp‑includes sur le serveur. Remplacer ces dossiers par ceux issus de l’archive officielle. Écraser tous les fichiers à la racine sauf wp‑config.php et wp‑content. Vérifier le fichier wp‑config.php pour y détecter d’éventuels ajouts suspects (appel à des fichiers inconnus, code obfusqué, inclusions bizarres).

Cette approche supprime d’un coup une grande partie des scripts malveillants qui se greffent sur les fichiers du core. Elle ne touche pas votre contenu ni les médias, qui se trouvent dans wp‑content.

Assainir les thèmes et extensions

La grande majorité des failles viennent de urgence nettoyage WordPress là : un thème abandonné, une extension obsolète ou piratée, ou un plugin de nulled premium téléchargé sur un site douteux.

Commencez par désactiver toutes les extensions depuis la base de données si l’administration WordPress est inaccessible. On peut le faire en renommant le dossier plugins via FTP ou en mettant à jour la valeur active plugins dans la table wpoptions. Ensuite, réactivez un à un les plugins indispensables, après les avoir téléchargés à nouveau depuis leur source officielle.

Pour les thèmes, la méthode la plus fiable consiste à :

Télécharger une copie propre du thème depuis sa source d’origine. Comparer, via un outil comme diff ou un éditeur de code, la version serveur et la version officielle. Remplacer systématiquement les fichiers modifiés, sauf si vous êtes certain d’y avoir fait des personnalisations légitimes. Supprimer les thèmes inutilisés. Ils constituent un vecteur d’attaque fréquent lorsqu’ils ne sont plus mis à jour.

Si vous utilisez un thème enfant avec beaucoup de personnalisations, soyez prudent. Beaucoup de pirates profitent justement de cette zone, que les propriétaires de sites osent moins toucher. Inspectez surtout functions.php, header.php et footer.php.

Chasser les backdoors

Les backdoors sont des portes de service laissées par l’attaquant pour revenir quand vous penserez avoir tout nettoyé. Concrètement, ce sont des petits scripts, souvent discrets, qui permettent d’exécuter du code arbitraire depuis une URL ou une requête POST.

Ils se cachent volontiers dans les dossiers suivants :

    wp‑content/uploads, parfois sous des noms ressemblant à des images, comme image.php ou logo.png.php les sous‑dossiers d’un plugin peu surveillé la racine du site, déguisés en fichiers système, comme wp‑login.old.php ou .cache.php

Un scanner type Wordfence ou un outil comme Maldet côté serveur peut aider, mais il faut souvent compléter par un examen manuel. Recherchez des motifs classiques dans les fichiers PHP : base64 decode, gzinflate, eval, createfunction, ou des gros blocs de chaînes illisibles.

Quand vous repérez un fichier douteux, prenez une copie, puis supprimez‑le. Testez ensuite le site. Si l’attaquant avait besoin de cette backdoor pour agir, vous venez de lui compliquer sérieusement la tâche.

Restaurer une sauvegarde : bonne idée, mais pas toujours

Beaucoup de propriétaires de sites pensent que la meilleure réponse à un piratage est de restaurer une sauvegarde de la veille. Parfois, cela fonctionne. Souvent, la sauvegarde est elle aussi infectée, car le pirate était déjà présent depuis plusieurs jours ou semaines, sans se manifester immédiatement.

Pour qu’une restauration soit vraiment utile, il faut répondre à trois questions.

À partir de quand le site était encore propre

Vous pouvez le déduire en regardant les logs du serveur, la date des premiers symptômes ou celle du premier avertissement Google. Prenez une sauvegarde plus ancienne que le premier signe de problème, idéalement avec quelques jours de marge.

La sauvegarde est‑elle complète et fiable

Une sauvegarde partielle qui ne contient que les fichiers, sans la base de données, peut restaurer des scripts infectés dans les articles, les menus ou les options. De même, l’inverse est vrai.

La faille d’origine est‑elle corrigée

image

Restaurer un site propre mais avec le même plugin vulnérable ou le même mot de passe facile, c’est offrir une seconde chance au pirate.

Quand les sauvegardes sont nombreuses et bien datées, j’adopte souvent un schéma mixte : restauration d’une base de données ancienne, associée à un déploiement neuf de WordPress et des extensions, à jour. Cela demande plus de travail, mais le taux de rechute est beaucoup plus faible.

Gérer la communication avec Google, les clients et l’hébergeur

Un site piraté ne touche pas uniquement l’aspect technique. Il y a un volet communication qui, s’il est négligé, peut coûter cher en confiance.

Avec Google et les moteurs de recherche

Si votre site est signalé comme dangereux, vous verrez des avertissements dans la Search Console. Une fois le nettoyage effectué, demandez une révision de sécurité depuis l’interface. Google passe rarement dans l’heure, mais on obtient généralement une réponse en 24 à 72 heures selon les cas.

Avant de soumettre la demande, vérifiez manuellement plusieurs URL au hasard, ainsi que la page d’accueil, les pages importantes, et les résultats de recherche en utilisant une commande site:votredomaine. Si vous voyez encore des pages inconnues avec des titres ou descriptions étranges, le nettoyage n’est pas fini.

Avec vos visiteurs ou clients

Pour un e‑commerce, ne rien dire est tentant, mais risqué. Les clients se posent des questions dès qu’ils voient une alerte de sécurité. Une courte communication honnête, expliquant que le site a été brièvement compromis, que les investigations sont en cours et que des mesures de sécurité renforcées sont en place, vaut mieux que le silence.

Dans certains secteurs, notamment si des données personnelles ou bancaires ont potentiellement été exposées, vous entrez dans le champ réglementaire (RGPD). Il peut devenir nécessaire de notifier la CNIL et, dans certains cas, d’informer explicitement les personnes concernées. Quand le doute existe, il vaut la peine de consulter un spécialiste juridique.

Avec l’hébergeur

La plupart des hébergeurs sérieux disposent de procédures spécifiques pour les sites compromis. Parfois, ils vous fournissent un rapport d’infection, parfois un simple avertissement générique. N’hésitez pas à demander :

    les journaux de connexions suspectes la confirmation qu’aucun autre site sur le même compte n’est compromis des informations sur les scripts ou processus qu’ils ont bloqués

Si votre hébergeur se contente de suspendre le compte sans assistance, et que vous gérez un site à fort enjeu, cela peut être le moment de reconsidérer votre fournisseur.

Sécuriser durablement après une urgence WordPress piraté

Une fois que le site est propre, vous n’êtes qu’à la moitié du chemin. L’objectif maintenant est de réduire fortement la probabilité d’un nouvel incident. Beaucoup de sites que je vois réinfectés ont été nettoyés mais très peu durcis.

Renforcer l’authentification

Les mesures de base, trop souvent ignorées, restent les plus efficaces.

Utilisez des mots de passe longs, stockés dans un gestionnaire dédié, et changez ceux de tous les comptes ayant un rôle administrateur. Supprimez les comptes inutilisés, en particulier ceux qui appartenaient à d’anciens prestataires ou collaborateurs.

Activez l’authentification à deux facteurs sur WordPress pour tous les administrateurs. Plusieurs extensions sérieuses existent pour cela. Si vous ne devez mettre en place qu’une seule mesure de sécurité supplémentaire, c’est souvent celle‑ci.

Évitez le nom d’utilisateur “admin”. Même si ce n’est plus le défaut depuis plusieurs années, de nombreux sites l’utilisent encore. Un attaquant qui devine votre identifiant a déjà gagné la moitié du combat.

Gérer plus proprement les mises à jour

L’immense majorité des vulnérabilités WordPress exploitées dans la nature ont un correctif public disponible à la date du piratage. Autrement dit, le problème n’est pas que la faille existe, mais qu’elle n’est pas corrigée à temps.

Si vous n’avez pas la discipline de vérifier les mises à jour au moins une fois par semaine, mettez en place des mises à jour automatiques pour WordPress, les thèmes et les extensions clés, au moins pour les patchs de sécurité. Sur un site très critique, cette stratégie doit s’accompagner d’un bon système de sauvegardes régulières pour pouvoir revenir en arrière en cas de mise à jour problématique.

Surtout, supprimez les extensions et thèmes inutilisés. Chaque composant actif ou inactif représente une surface d’attaque. Un site que j’ai aidé à récupérer, qui gérait à peine 10 pages, avait plus de 40 extensions installées, dont la moitié obsolètes depuis plus de 2 ans.

Durcir l’hébergement

Même le WordPress le mieux configuré reste vulnérable si l’environnement d’hébergement est laxiste.

Vérifiez avec votre hébergeur ou votre administrateur système :

    que PHP est à jour, au moins sur une version encore supportée que l’accès FTP est limité ou, mieux, remplacé par SFTP ou SSH que les permissions de fichiers ne sont pas trop permissives (évitez les 777 sur les répertoires) que des règles de base mod_security ou équivalent sont en place

Sur des sites exposés, un WAF (firewall applicatif) dédié, soit via un service externe, soit via une solution intégrée à l’hébergeur, peut bloquer une grande partie des attaques courantes, notamment les scans automatisés de failles connues.

Quand faire appel à un professionnel

Tout le monde n’a pas le temps, ni l’envie, ni les compétences de plonger dans les entrailles de son hébergement et de son WordPress. Dans certains cas, essayer de tout faire soi‑même coûte plus cher en pertes de chiffre d’affaires ou de réputation que le recours à un spécialiste.

Il devient raisonnable de chercher une aide extérieure quand :

    le site génère des revenus directs (e‑commerce, réservations, abonnements) vous soupçonnez une fuite de données personnelles le piratage semble revenir malgré plusieurs tentatives de nettoyage vous ne disposez d’aucune sauvegarde fiable

Un bon prestataire ne se contentera pas de “passer un antivirus”. Il doit être capable d’expliquer la faille probable, d’indiquer les mesures mises en place pour éviter la récidive, et de fournir un rapport au moins sommaire. Fuyez les offres qui promettent un “nettoyage garanti en 15 minutes” sans aucun détail.

Garder la tête froide dans une urgence WordPress piraté

Un piratage WordPress crée un sentiment de perte de contrôle assez désagréable. La tentation est forte de tout effacer, de changer d’hébergeur dans la précipitation, voire de repartir de zéro sur un autre CMS. Dans la grande majorité des cas, ce n’est ni nécessaire ni optimal.

La bonne réaction s’appuie sur quelques principes simples : stopper l’hémorragie en priorité, conserver des preuves suffisantes pour comprendre ce qui s’est passé, remettre le site sur des bases saines, puis corriger les causes profondes. Un nettoyage pressé mais incomplet mène souvent à une réinfection, parfois plus discrète et plus difficile à détecter.

Avec une démarche structurée, l’urgence WordPress piraté devient un incident gérable, certes pénible, mais aussi l’occasion de renforcer votre infrastructure et vos pratiques. Beaucoup de sites que j’ai vus passer par cette épreuve ressortent finalement plus robustes, avec de meilleures sauvegardes, des workflows plus sérieux et une vision plus claire de leurs priorités techniques.

L’important est de ne plus considérer la sécurité comme une option ou une tâche qu’on remet systématiquement à plus tard. Les attaques automatisées balaient le web en continu, sans distinction de taille de site. Un minimum de discipline, quelques bons réflexes et des outils correctement configurés suffisent souvent à éviter de revivre ce type d’urgence.