Surveillance et réaction

Site WordPress piraté : comment réagir et le réparer

Site WordPress piraté : comment réagir et le réparer

Votre site WordPress redirige vers un casino, affiche une page de revendication ou Google le signale comme dangereux ? Le plus urgent n’est pas de supprimer des fichiers au hasard : c’est de contenir l’attaque, de garder une copie de l’état piraté, puis de reprendre les accès avant de réparer. Ce guide donne l’ordre des décisions des premières heures aux trente jours qui suivent, les commandes utiles, et les obligations à ne pas manquer (dont le délai de 72 heures du RGPD).

Vous n’êtes pas encore sûr d’être piraté ? Commencez par les vérifications pour savoir si votre site WordPress est piraté. Vous cherchez le détail technique du nettoyage, fichier par fichier ? Il est dans notre procédure pas à pas pour nettoyer un site WordPress piraté. Cet article-ci sert de plan de réaction : qui fait quoi, dans quel ordre, et comment éviter la réinfection.

Les dix premières minutes : contenir sans effacer

Tant que le code malveillant tourne, il peut voler des données, envoyer du spam ou infecter vos visiteurs. Mais tout effacer tout de suite détruit les traces qui permettront de trouver la porte d’entrée. Le bon compromis :

  1. Mettez le site hors ligne pour les visiteurs : page de maintenance au niveau du serveur (règle .htaccess qui renvoie une page statique avec un code 503, ou option de l’hébergeur), pas avec une extension WordPress qui dépend du code compromis.
  2. Prévenez l’hébergeur par ticket : il a parfois déjà détecté l’infection, peut bloquer l’envoi d’e-mails et dispose de journaux que vous ne voyez pas.
  3. Ouvrez une main courante hors du serveur : heure, constat, action, auteur. Elle servira à l’assurance, à un prestataire, à une plainte ou à la CNIL.
  4. Ne restaurez pas encore une sauvegarde : vous ne savez pas depuis quand le site est compromis, ni si la sauvegarde est saine.

Évaluer la gravité pour choisir le bon rythme

Tous les piratages n’appellent pas la même urgence. Le tableau suivant aide à décider qui mobiliser et ce qui passe en premier.

Ce que vous constatezRisque principalPrioritéQui mobiliser
Redirections vers des sites douteux, alerte GoogleVisiteurs infectés, désindexationHors ligne immédiatementHébergeur, vous ou un prestataire
Pages de spam indexées (pharmacie, casino)Référencement, réputationDans la journéeVous, puis la Search Console
Page d’accueil défiguréeImage de marqueHors ligne immédiatementHébergeur, prestataire
Comptes clients, formulaires ou commandes exposésFuite de données personnellesImmédiate, horloge RGPD lancéeDélégué à la protection des données, CNIL, prestataire
Formulaire de paiement modifié (boutique)Vol de cartes bancairesImmédiatePrestataire de paiement, banque, prestataire
Rançon ou fichiers chiffrésPerte de donnéesImmédiate, ne payez pasHébergeur, Cybermalveillance.gouv.fr, plainte
Grille de tri : plus des données de tiers sont en jeu, plus vite il faut agir et documenter.

Garder une copie de l’état piraté

Avant toute réparation, téléchargez une copie complète : fichiers (par SFTP ou une archive créée par l’hébergeur), base de données (export SQL) et, si possible, les journaux d’accès du serveur des 30 derniers jours. Stockez-la hors du serveur, à part de vos sauvegardes saines, et marquez-la clairement « infectée » pour ne jamais la restaurer par erreur. C’est elle qui permettra de dater l’intrusion, donc de choisir une sauvegarde antérieure.

Pour dater l’intrusion, cherchez dans cette copie les fichiers PHP modifiés récemment et la date de création des comptes inconnus. La règle des sauvegardes 3-2-1 fait ici toute la différence : sans copie externe ancienne, il ne reste que le nettoyage.

Reprendre les accès, du plus large au plus étroit

Changez les mots de passe depuis un poste sain, en commençant par ce qui donne le plus de pouvoir : un attaquant qui garde l’accès à votre messagerie ou à l’espace client de l’hébergeur peut tout recommencer.

  1. Messagerie qui reçoit les réinitialisations, puis espace client de l’hébergeur et registraire du domaine (activez la double authentification).
  2. Comptes SFTP, SSH, panneau d’administration (cPanel, Plesk) et utilisateur de la base de données, puis mise à jour de wp-config.php.
  3. Clés et sels de WordPress, ce qui déconnecte toutes les sessions ouvertes, y compris celle de l’attaquant.
  4. Tous les comptes administrateurs, puis les mots de passe d’application et les clés d’API des extensions (paiement, envoi d’e-mails, sauvegarde distante).

Avec WP-CLI, les vérifications de base tiennent en quelques commandes :

# Nouvelles clés et sels : toutes les sessions sont fermées
wp config shuffle-salts

# Comptes administrateurs : repérer ceux que vous ne connaissez pas
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

# Tâches planifiées : une tâche inconnue peut réinfecter le site
wp cron event list --fields=hook,next_run_relative,recurrence

# Adresses du site : une redirection peut se cacher ici
wp option get siteurl
wp option get home

Réparer : ce qu’il faut remplacer, ce qu’il faut inspecter

Le principe : tout ce qui peut être réinstallé depuis une source officielle est remplacé, pas nettoyé ligne par ligne. Seul ce qui vous est propre (contenus, médias, réglages, thème sur mesure) s’inspecte à la main.

ÉlémentActionCommande ou méthode
Cœur de WordPressRéinstaller à l’identiquewp core verify-checksums puis wp core download --force --skip-content
Extensions et thèmesSupprimer, puis réinstaller depuis wordpress.org ou l’éditeurwp plugin verify-checksums --all ; jamais de version « nulled »
Dossier uploadsAucun fichier PHP ne doit s’y trouverfind wp-content/uploads -name "*.php"
mu-plugins et drop-insVérifier chaque fichierwp-content/mu-plugins, object-cache.php, advanced-cache.php
.htaccess et wp-config.phpComparer à une version saineRedirections, auto_prepend_file, inclusions inconnues
Base de donnéesChercher les scripts injectésTables wp_options et wp_posts : balises <script>, eval, base64
UtilisateursSupprimer les comptes inconnusRéattribuer leurs contenus, vérifier les rôles modifiés
Remplacer plutôt que nettoyer : un fichier réinstallé depuis la source est sain, un fichier nettoyé à la main l’est peut-être.

Les cachettes classiques d’une porte dérobée sont justement là où l’on ne regarde pas : un fichier au nom anodin dans uploads, un mu-plugin invisible dans la liste des extensions, une tâche cron qui recrée le fichier supprimé. Si vous ne trouvez pas comment l’attaquant est entré (extension vulnérable, mot de passe réutilisé, accès FTP volé), le site sera repiraté dans les jours qui suivent : c’est le moment de faire appel à un professionnel.

Le plan de réaction, étape par étape

Plan de réaction après un piratage WordPressChronologie en sept étapes : dans les dix premières minutes, contenir : dans la première heure, copier l’état piraté : dans les quatre heures, reprendre les accès : le premier jour, réparer : le deuxième jour, demander le réexamen à Google : avant 72 heures, notifier la CNIL si des données personnelles sont touchées : pendant trente jours, durcir et surveiller.110 minContenir : site hors ligne21 heureCopier l’état piraté34 heuresReprendre accès et sels4Jour 1Réinstaller, inspecter, tester5Jour 2Réexamen Google, listes noires6Avant 72 heuresNotifier la CNIL si besoin730 joursDurcir et surveillerPlan de réaction après un piratage WordPressChronologie en sept étapes : dans les dix premières minutes, contenir : dans la première heure, copier l’état piraté : dans les quatre heures, reprendre les accès : le premier jour, réparer : le deuxième jour, demander le réexamen à Google : avant 72 heures, notifier la CNIL si des données personnelles sont touchées : pendant trente jours, durcir et surveiller.110 minContenir : site hors ligne21 heureCopier l’état piraté34 heuresReprendre accès et sels4Jour 1Réinstaller, inspecter, tester5Jour 2Réexamen Google, listes noires6Avant 72 heuresNotifier la CNIL si besoin730 joursDurcir et surveiller
Les sept temps de la réaction : les deux premiers limitent les dégâts, les suivants empêchent la réinfection.

Sortir des listes noires et de l’alerte Google

Une fois le site propre, et seulement alors, remettez-le en ligne et faites lever les signalements :

  • Google Search Console : le rapport « Problèmes de sécurité » liste ce que Google a vu. Corrigez tout, sur toutes les pages, puis cliquez sur « Demander un examen » en décrivant le problème, ce que vous avez fait et le résultat. Google indique qu’un examen pour logiciel malveillant ou contenu piraté prend de quelques jours à quelques semaines ; ne renvoyez pas de demande tant que la première est en cours. Détails dans notre guide sur l’avertissement « site dangereux ».
  • Pages de spam indexées : laissez-les répondre 404 ou 410 et utilisez l’outil de suppression temporaire pour les plus visibles ; la méthode complète est dans notre article sur le spam SEO et la désindexation.
  • Autres listes : vérifiez le domaine sur des services d’analyse comme VirusTotal ou Sucuri SiteCheck, et l’adresse IP d’envoi des e-mails sur les listes anti-spam si vos messages partent en indésirables. Chaque liste a sa propre procédure de retrait.
Une réparation filmée de bout en bout, du premier diagnostic au durcissement, par Taz Tech Media (en anglais, décembre 2025) : utile pour voir les écrans avant de vous lancer.

Notifier : CNIL, personnes concernées, plainte

Si l’attaquant a pu accéder à des données personnelles (comptes clients, formulaires de contact, commandes, liste d’abonnés), il s’agit d’une violation de données au sens du RGPD. L’article 33 impose de la notifier à la CNIL dans les 72 heures après en avoir pris connaissance, sauf si elle ne présente pas de risque pour les personnes. En cas de risque élevé (mots de passe, données bancaires, données sensibles), l’article 34 impose aussi d’informer les personnes concernées. Dans tous les cas, documentez la violation dans votre registre interne. Notre article sur le RGPD, les journaux et la sécurité WordPress détaille ce qu’il faut conserver.

  • Notification incomplète : vous pouvez notifier dans les 72 heures avec ce que vous savez, puis compléter. Mieux vaut une notification partielle à temps qu’une notification parfaite en retard.
  • Boutique : prévenez votre prestataire de paiement si le tunnel de commande a pu être modifié : il vous dira quoi faire pour les cartes.
  • Aide et plainte : Cybermalveillance.gouv.fr oriente vers des prestataires de proximité : une plainte (commissariat, gendarmerie ou courrier au procureur) est souvent demandée par l’assurance.

Les trente jours suivants : ne pas être repiraté

Un site nettoyé sans correction de la cause est souvent réinfecté. Pendant le mois qui suit :

  • Mettez à jour tout ce qui reste, supprimez les extensions inutilisées et remplacez les extensions abandonnées.
  • Activez la double authentification pour tous les comptes qui peuvent publier ou administrer.
  • Relancez les vérifications d’intégrité chaque semaine et surveillez l’apparition de nouveaux administrateurs.
  • Testez une restauration de sauvegarde, pour de vrai, sur une préproduction.
  • Écrivez un court retour d’expérience : cause, durée, coût, ce qui a manqué.

Ce que WP Masquerade peut faire, et ce qu’il ne fait pas

Soyons clairs : WP Masquerade n’est pas un outil de nettoyage. Il ne recherche pas de logiciels malveillants, ne filtre pas le trafic comme un pare-feu et ne sauvegarde pas votre site. Pour la réparation, utilisez un scanner (Wordfence, MalCare, Sucuri) ou un prestataire, et l’outil de sauvegarde de votre choix.

Il intervient après, pour réduire les chances d’un nouvel incident et vous prévenir plus tôt. La version gratuite déplace la page de connexion, bloque XML-RPC et retire les traces qui signalent WordPress aux robots. WP Masquerade Pro ajoute la double authentification obligatoire par rôle, la limitation des connexions, le contrôle d’intégrité du cœur, le journal d’activité des administrateurs et les alertes sur les extensions vulnérables, qui auraient souvent permis de corriger la faille avant l’attaque.

Après le nettoyage, verrouillez les portes

Commencez par la version gratuite, puis passez à Pro pour la double authentification, l’intégrité du cœur et les alertes de failles : dès 59 € HT par an pour un site, 149 € HT pour 10 sites.

Questions fréquentes

Faut-il restaurer une sauvegarde ou nettoyer le site ?

Restaurez si vous avez une sauvegarde antérieure à l’intrusion et que vous connaissez la date de celle-ci. Sinon, nettoyez ou reconstruisez. Dans les deux cas, corrigez la faille d’entrée et changez tous les accès, sinon l’attaquant reviendra.

Combien de temps Google met-il à retirer l’avertissement ?

Après une demande d’examen dans la Search Console, Google annonce de quelques jours à quelques semaines pour les logiciels malveillants et le contenu piraté. Le délai dépend de la qualité du nettoyage : tout problème restant fait échouer l’examen.

Dois-je prévenir la CNIL pour un simple spam SEO ?

Pas si aucune donnée personnelle n’a pu être consultée ou copiée. Mais un attaquant qui a pu ajouter des pages a souvent eu accès à la base de données : vérifiez ce qu’elle contient (comptes, commandes, formulaires) avant de conclure, et notez votre analyse dans le registre des violations.

Changer les clés et sels de WordPress suffit-il ?

Non. Cela ferme les sessions ouvertes, mais un attaquant qui connaît un mot de passe, dispose d’un compte administrateur caché ou d’une porte dérobée revient aussitôt. Les sels font partie d’un ensemble : mots de passe, comptes, fichiers et tâches planifiées.

Quand faire appel à un professionnel ?

Quand vous ne trouvez pas la porte d’entrée, quand le site se réinfecte après nettoyage, quand des données de clients ou de paiement sont en jeu, ou quand le site fait votre chiffre d’affaires. Demandez un rapport écrit : cause, fichiers touchés, mesures prises.

À retenir

  • Contenir d’abord (site hors ligne au niveau du serveur), effacer ensuite.
  • Gardez une copie de l’état piraté, hors du serveur, pour dater l’intrusion.
  • Changez les accès du plus large (messagerie, hébergeur) au plus étroit (comptes WordPress), puis les sels.
  • Réinstallez le cœur, les extensions et les thèmes depuis la source ; inspectez uploads, mu-plugins, cron, .htaccess et la base.
  • Données personnelles touchées : notification à la CNIL sous 72 heures.
  • Sans correction de la cause, la réinfection est probable.

Sources

  • WordPress.org : FAQ My site was hacked (lien externe, nouvel onglet)
  • Google : rapport sur les problèmes de sécurité (lien externe, nouvel onglet)
  • CNIL : notifier une violation de données personnelles (lien externe, nouvel onglet)
  • WP-CLI : wp config shuffle-salts (lien externe, nouvel onglet)
Surveillance et réaction6 min

Sauvegardes WordPress : la stratégie 3-2-1 qui tient

Une sauvegarde n'a de valeur que le jour où elle vous sauve. Voici la règle 3-2-1, la fréquence adaptée et le test qui prouve que ça…

Surveillance et réaction7 min

Nettoyer un site WordPress piraté : la procédure pas à pas

Une procédure en huit étapes, fondée sur WordPress.org et le CERT-FR, pour nettoyer un site WordPress piraté sans réinfection : de l’isolement à la demande de réexamen…

La sécurité WordPress, sans le bruit

Un e-mail quand ça compte : nouvelles attaques observées, mises à jour de l’extension et guides pratiques. Pas de spam, désinscription en un clic.