Site WordPress piraté : les signes, la porte d’entrée et le nettoyage complet
Un site WordPress piraté, c’est souvent d’abord une impression : quelque chose cloche. Une redirection inattendue, un compte administrateur inconnu, une alerte de l’hébergeur, des pages en langue étrangère dans Google. Ce guide rassemble ce que j’ai appris en nettoyant des sites WordPress compromis : les signes qui doivent vous alerter, la porte d’entrée la plus fréquente, pourquoi un nettoyage doit être complet pour éviter la réinfection, et un cas réel détaillé étape par étape.
Les signes qu’un site WordPress est piraté
Lorsqu’un site WordPress est piraté, les symptômes ne sont pas toujours évidents à repérer. Certains signaux sont très visibles, d’autres passent totalement inaperçus sans un minimum de vigilance. Pourtant, plus un piratage est identifié tôt, plus il est possible de limiter les dégâts : perte de données, chute de référencement, redirections malveillantes, spam massif ou autres désagréments…
Voici les signes les plus fiables et les plus courants qui doivent vous alerter.
Des changements visibles apparaissent sur votre site
C’est souvent la première manifestation d’un piratage WordPress : votre site n’a plus tout à fait la même apparence.
Par exemple :
- la page d’accueil a été modifiée sans votre intervention
- un message inhabituel s’affiche au-dessus ou en dessous du contenu
- des popups étranges apparaissent
- des liens sponsorisés ou publicités douteuses s’incrustent dans le texte
- certaines pages se chargent avec un contenu qui n’a jamais été publié.
Ces modifications sont généralement automatisées. Elles indiquent que quelqu’un ou quelque chose (automate, script, robot…) a réussi à ajouter ou altérer des fichiers.
Non ce n’est pas rassurant. Mais il faut mieux savoir pour pouvoir agir que ne pas savoir, rien faire et perdre des chances de pouvoir par exemple au minimum, restaurer une version propre et saine de toute l’installation WordPress.
Votre site redirige vers d’autres pages
L’un des symptômes les plus répandus est la redirection automatique du site vers une page externe.
Quelques cas typiques :
- redirection vers un site de casinos, pharmaceutique ou pour adultes
- redirection uniquement sur mobile (très courant dans les malwares WordPress)
- redirection aléatoire, seulement une fois sur cinq
- redirection en fonction de l’adresse IP du visiteur.
Si vous observez cela, il faut réagir vite : votre site sert probablement à générer du trafic vers une plateforme malveillante.
Si c’est un(e) internaute qui vous informe du problème, tentez de reproduire le problème, c’est à dire qu’il faut tester les connexions à votre site pour vérifier si oui, tout le temps ou de temps en temps, au lieu d’avoir votre site, vous avez des pages de sites différents du votre qui s’ouvrent.. Si oui, ne cherchez pas + loin : il y a bien eu intrusion….
Google affiche un avertissement de sécurité
Si Google détecte du code malveillant, il peut afficher un message alarmant dans les résultats :
- “Ce site peut avoir été piraté”
- “Ce site comporte des logiciels malveillants”
- “Site potentiellement dangereux”
Dans Search Console, vous pouvez également recevoir des alertes précises de sécurité. Ces avertissements sont à prendre très au sérieux car ils impactent directement votre visibilité et votre réputation.
Heureusement, il s’agit souvent de faux positifs, c’est à dire que ces messages peuvent s’afficher ponctuellement, pour une courte durée et ne pas être véridiques… Bref, il vaut mieux vérifier tout de même !
Vous ne pouvez plus vous connecter à votre tableau de bord
Un pirate peut tenter de bloquer votre accès à l’administration WordPress pour garder le contrôle.
Quelques signes d’alerte :
- votre mot de passe n’est plus reconnu alors que vous êtes certain de ne pas l’avoir changé
- votre adresse e-mail n’est plus reconnue
- votre compte administrateur a disparu
- de nouveaux comptes administrateurs sont apparus dans la liste des utilisateurs
Si vous êtes soudainement éjecté de l’administration, c’est un indicateur fort qu’une intrusion a eu lieu.
Tentez de récupérer votre compte par exemple en passant par la base de données et en recryptant votre mot de passe en MD5.
D’autres bugs WordPress peuvent bloquer votre accès d’administrateur. Mais les piratages en sont souvent les coupables…
Des fichiers suspects apparaissent dans votre FTP
Même si vous n’êtes pas expert technique, certains dossiers et fichiers doivent vous mettre en garde.
Ce qui doit attirer votre attention :
- des fichiers PHP au nom étrange :
cache.php,shell.php,adminer.php,wp-login-new.php, etc. - des archives
.zipou.gzque vous n’avez jamais mises en ligne - des fichiers créés à la même seconde dans différents dossiers
- du code minifié incompréhensible dans
/wp-includes/ou/wp-admin/
Ce type d’activité est typique d’un script malveillant chargé d’infecter plusieurs fichiers à la suite.
Ci-dessous en capture d’écran un exemple de fichiers déposés par une intrusion WordPress :

Votre site devient anormalement lent
Un site compromis peut être utilisé pour envoyer du spam, miner des cryptomonnaies ou héberger des pages cachées.
Cela se traduit souvent par :
- un ralentissement soudain
- des erreurs 500 ou 503
- une explosion de la consommation CPU côté hébergeur
- des pics de trafic dans les logs (souvent dus à des bots).
Si vous remarquez un changement brutal de performance, il est logique de suspecter une compromission. Si vous recevez un email de la part de votre hébergeur web indiqué qu’il y a une grosse consommation de ressource (inhabituelle par ailleurs), alors observez ce qui est en train de se passer sur votre site WP.
Votre site envoie du spam sans que vous le sachiez
C’est l’un des usages les plus classiques d’un site piraté. Malheureusement.
Symptômes :
- vous recevez des alertes de votre hébergeur concernant un envoi massif d’e-mails
- vos visiteurs se plaignent de recevoir des courriers suspects
- votre domaine se retrouve blacklisté
- vos formulaires sont détournés.
Un pirate peut installer un script SMTP clandestin pour utiliser votre site comme relais.
Même si ce n’est pas le piratage le plus fréquent, ça reste historiquement un classique. En faute ? Des plugins de formulaire et/ou de newsletter non mis à jour…
Le cœur WordPress montre des modifications anormales
Certaines modifications sont particulièrement graves.
Si vous remarquez que des fichiers essentiels comme wp-settings.php, index.php, wp-config.php ou des fichiers du dossier /wp-includes/ ont été modifiés récemment, c’est un signe d’injection directe dans le moteur WordPress.
WordPress ne modifie jamais ces fichiers tout seul :tout changement doit être considéré comme suspect.
Notez que si vous avez un doute parce que vous n’êtes pas habitué(e)s à aller voir ces fichiers, ce qui est tout à fait normal pour un usage simple de WordPress, des bons plugins de sécurité comme WordFence sauront vous informer de ce type de modifications détectées.
D’où l’intérêt d’avoir un bon plugin de sécurité : ça ne fait pas toujours tout, mais ça aide énormément !
Vos plugins ou votre thème ont été altérés
Les pirates exploitent souvent des failles dans les thèmes ou plugins obsolètes. Oui les plugins non à jour sont des fenêtres ouvertes pour des entrées discrètes…
Les signes d’alerte :
- du code inconnu ajouté dans les fichiers de thème
- des scripts injectés dans le footer ou header
- des fichiers supplémentaires dans le dossier de votre thème enfant
- des fonctions obfusquées (base64, eval, gzinflate…) dans les plugins.
Un audit du dossier /wp-content est souvent révélateur. En gros, quand j’y vais, je suis fixée sur un potentiel piratage en 2 minutes…
Votre hébergeur signale une activité anormale
Les hébergeurs détectent parfois des comportements suspects avant vous.
Par exemple :
- des connexions FTP venant d’un pays inhabituel
- des scripts qui tournent en tâche de fond
- un volume inhabituel de requêtes HTTP
- des erreurs répétées liées à des fichiers corrompus
Ces alertes sont précieuses, il ne faut pas les ignorer. Et si vous en recevez souvent, tentez de résoudre les raisons de ces alertes car sinon, le jour où il y aura une vraie alerte, vous risquez de ne pas y prêter attention :'(
Voici un exemple d’objet d’email envoyé en cas de sur-activité inhabituelle sur un hébergement :

Apparition d’articles et pages non publiés par vous
Symptôme rare de piratage mais pourtant bien réel : des articles et pages apparaissent dans vos listes d’articles et pages. En français ou en anglais ou toute autre langue…
C’est quasiment assuré qu’il s’agit là d’un signe de piratage WordPress.
Je l’ai vu à plusieurs reprises ces 3 dernières années…
Exemple de piratage via ajout d’un faux plugin WP
Certains pirates installent un faux plugin avec un nom rassurant (par exemple une copie de ‘Hello Dolly’), qui lit un fichier texte, le déchiffre puis l’exécute avec eval(). C’est typiquement le genre de backdoor qu’on ne voit jamais côté front, mais qui donne un accès complet au serveur.
L’exemple concret est le cas d’un plugin nommé Hello Dolly 2. Les connaisseurs de WP savent qu’il n’existe qu’une version et une seule version historique de Hello Dolly.
Si vous voyez Hello Dolly 2, votre site est certainement infecté :'(
Ce piratage est un des plus lourdingues vus ces 2 dernières années. Le pirate obtient le mot de passe de connexion au serveur. Ainsi il accède aux infos de connexion à la base de données. Il peut donc faire tout ce qu’il veut (lui ou un robot). Et si on ne commence pas par changer le mot de passe pour se connecter via FTP ou SFTP, il redéclenchera l’infection après nettoyage. Bref, c’est un bon gros piratage bien lourd comme on les déteste !
Tableau récapitulatif : les signes les plus fiables d’un piratage WordPress
| Catégorie de signe | Manifestation observable | Risque réel | Gravité |
|---|---|---|---|
| Apparence du site | Page d’accueil modifiée, éléments ajoutés, popups étranges | Défiguration, perte de confiance, infiltration de scripts | Important |
| Redirections suspectes | Redirection vers casinos/pharma/adultes, mobile-only, aléatoire | Infection profonde, SEO détruit, blocage Google | Critique |
| Alerte Google | “Site peut être piraté”, “Site dangereux”, alertes Search Console | Blacklist, perte massive de visibilité | Critique |
| Accès admin modifié | Mot de passe refusé, compte admin supprimé, nouveau compte admin | Contrôle total du site par un tiers | Critique |
| Fichiers FTP suspects | Fichiers inconnus (shell.php, cache.php, adminer.php), archives .zip/.gz | Injection massive, scripts persistants | Critique |
| Performances anormales | Lenteur soudaine, erreurs 500, CPU explosé, pics de trafic bot | Site utilisé comme relais de spam ou cryptomining | Important |
| Envoi d’emails non sollicités | Spam massif, domaine blacklisté, alertes hébergeur | Pénalité e-mail, réputation détruite | Important |
| Modifications du cœur WP | wp-settings.php modifié, wp-config.php altéré, fichiers créés en rafale | Compromission totale, contrôle système | Critique |
| Plugins ou thèmes altérés | Code inconnu, scripts injectés, base64/eval/gzinflate | Backdoors persistantes, réinfection automatique | Critique |
| Activité anormale chez l’hébergeur | Connexions FTP suspectes, scripts en tâche de fond | Fuite de données, utilisation frauduleuse du serveur | Important |
La porte d’entrée la plus fréquente : un plugin pas à jour
Beaucoup ont tendance à penser, à tort, que de ne pas mettre les extensions WordPress à jour n’est pas un problème. Et qu’attendre une semaine ou deux, voire plusieurs mois, c’est sans risque. Tout comme d’autres oublient de faire ces mises à jour. Alors que certain(e)s ignorent simplement que mettre à jour des plugins sur un site web WordPress, c’est plus qu’une recommandation. C’est très important.
Il y a aussi le fait que beaucoup ont un site WordPress sur lequel tout se passe bien depuis longtemps. Pas de gros plantages. Pas de piratage. Bref. Ce qui laisse à penser qu’on peut sans doute laisser couler certaines mises à jour à faire sans que ce soit risqué. Aussi, on pourrait finir par croire ainsi que laisser des mises à jour attendre sans les passer, ça ne change rien !
Alors la question qui se pose, c’est est-ce qu’on peut vraiment se faire pirater un site WordPress parce qu’un ou plusieurs plugins ne sont pas à jour ?
Voici un début de réponse !
Oui un plugin pas à jour peut ouvrir une porte à un piratage WordPress
Je le sais parce que je suis sollicitée régulièrement pour confirmer ou non des piratages WordPress. Et pour nettoyer des sites WordPress piratés.
Et vous savez quoi ? Ces piratages entrent parce qu’un ou plusieurs plugins n’étaient pas à jour. Alors oui, dans une majorité de cas, ces mises à jour de plugins attendaient depuis des semaines voire des mois. Et oui, plus le temps passe et plus les risques de piratages augmentent. Mais c’est un fait, ne pas mettre des extensions à jour, ça ouvre des portes à des potentiels piratages. Et plus on attend pour les faire, plus on augmente aussi le risque de faciliter ces piratages.
Il suffit aussi de faire de la veille sur le web pour voir que même des poids lourds des plugins free et premium peuvent être la cible de piratages parce qu’une de leur version a une faille. Et même si cette faille peut être palliée en 48h, il demeure que divers sites web WordPress ne bénéficieront pas forcément de mises à jour de ces plugins rapidement après la livraison d’une mise à jour corrective. Et c’est bien là le problème !
Exemples de plugins qui ont eu des failles en 2024 sur WordPress
Citons des exemples de plugins qui ont fait l’objet de problèmes en 2024 :
- Litespeed
- Really Simple SSL
- Elementor
Ces 3 extensions techniques et/ou de webdesign ont fait l’objet de failles assez conséquentes. Comme il s’agit de poids lourds dans l’écosystème WordPress avec des grosses équipes derrière, heureusement, cela a vite été corrigé. Mais pour qu’un mise à jour corrective fasse effet, il faut que les propriétaires de sites WordPress ou d’usines à sites WordPress lancent les mises à jour ! Et c’est donc bien cette action de mise à jour qui fait parfois défaut. Défaut si longtemps que les piratages surviennent.
Exemple d’un piratage WordPress via extension non à jour
Cas d’école ou Usecase. Je suis contactée pour un site WordPress planté. Plus rien de visible en frontal. Quand on tente de voir le site sans se connecter au WordPress comme un(e) internaute lambda, on ne voit pas le site mais soit l’antivirus bloque l’ouverture de la page web, soit l’ouverture d’un pop up en indiquant que cela présente un risque.
Déjà, ça ne sent pas bon.
On essaie de se connecter via iPhone. Là, on a un pop up qui s’ouvre sur le navigateur avec un truc tout nase qui dit de cliquer pour gagner un téléphone. Bref, ça sent l’arnaque à plein nez. On referme.
Concernant la partie purement WordPress, impossible de se connecter au tableau de bord. Quelle que soit l’adresse : wp-admin ou wp-login.php
On va sur le serveur d’hébergement via FTP et là, on ne voit pas de fichiers WordPress. En revanche on voit plusieurs milliers de fichiers dont les noms sont numériques seulement.
Oui, sans pousser plus loin un diagnostic, un piratage se confirme doucement mais sûrement.
On envoie un nouveau package de fichiers WordPress à jour sur l’hébergement web. Là, les anciens fichiers WP apparaissent enfin. Avec le très important fichier config.php qui porte comme beaucoup le savent, les accès à la base de données.
On change le mot de passe de la base de données via l’hébergeur. Puis dans ce fichier. On se connecte enfin à la BDD. On constate des choses étranges. On change le mot de passe admin dans la base de données (crypté, en mettant le nouveau en MD5). On tente de se connecter au tableau de bord et enfin, on accède au site. Tout n’est pas perdu.
Ensuite on démarre le nettoyage. 9500 articles dans des langues différentes avec des liens et pubs pour des jeux d’argent, des produits pour perdre du poids… Bref, tout sauf ce qui concerne le site web professionnel piraté. Sur l’hébergement web, pas moins de 500 fichiers php d’au moins 9 mo chacun. Au début ils sont légers et toutes les heures, ils grandissent en taille.
Après nettoyage, mise en place d’un plugin de sécurité avec scan inclus pour s’aider, on découvre que c’est bien via un plugin que l’entrée du script malveillant s’est faite. Parce que non, un piratage n’est pas systématiquement fait par de l’humain. Ce sont souvent des robots ou autres scripts qui tournent, trouvent les sites avec une version pas à un jour de tel ou tel plugin. Qui tentent de rentrer. Se prennent des murs. Mais qui finissent inéluctablement par trouver des sites qui ne sont pas sécurisés ni à jour.
Et ce combo de manque de sécurité et manque de mise à jour, c’est comme laisser sa voiture avec la porte ouverte et les clés sur le contact. L’image est volontairement exagérée. Mais l’idée est là.
Un piratage WordPress peut donc bien se faire par le biais d’un plugin qui n’est pas à jour.
Autres entrées de piratages via plugin WordPress
Soyons plus précis. Un plugin WordPress n’est pas forcément à lui seul le problème. Il peut s’agir :
- D’un très bon plugin qui une seule fois va présenter une faille de sécurité dont la nature est de laisser une entrée possible à de la malveillance humaine ou technologique si une MAJ corrective n’est pas passée.
- D’un plugin très bien mais dont les auteurs ne s’occupent plus. D’où l’intérêt de souvent lire les changelogs des produits qu’on achète et utilise (thème et plugin WP)
- D’un plugin très bien mais téléchargé en version craquée, c’est à dire sans payer le prix du produit. Et prendre le risque que le logiciel soit vérolé. Ou modifié. Et souvent non à jour.
Bref, exemples sont nombreux et tous un peu différents. Mais le résultat est hélas souvent similaire :
Il y a une entrée possible. Et qui dit entrée possible, dit potentiellement un piratage.
Alors oui, mettez vos plugins à jour. Vous serez la première personne à qui vous rendrez service. Mais il n’est pas à exclure qu’un piratage puisse nuire à vos visiteurs également. Alors autant ne pas prendre de risque. Tout court.
Pourquoi le nettoyage d’un WordPress piraté doit être total, en une seule fois
Depuis la fin du printemps 2026, si une chose est certaines, c’est que les infections WordPress étaient extrêmement nombreuses. Tout l’été, des demandes d’interventions pour dépanner ces sites piratés se sont suivies.
Et la réaction chez la plupart des personnes dont le site est touché est la même : Il faut agir. Vite.
La bonne nouvelle, c’est que beaucoup de propriétaires de sites savent qu’il vaut mieux confier le nettoyage de l’infection à quelqu’un site a l’habitude. Qui s’y connaît. Et qui pourra nettoyer toute l’installation sans laisser de fichiers vérolés en place.
Car c’est aussi souvent là, la clé d’un bon nettoyage d’infection WordPress : tout nettoyer en une seule fois. Car le risque fréquent est que s’il reste des fichiers infectés actifs, alors l’infection va se re-déclencher. Et malheureusement, s’étendre à nouveau. Et donc les symptômes avec !
La réinfection post nettoyage partiel
Votre site est infecté. Vous avez reconnu des symptômes fréquents constatés comme des liens vers des sites e-commerces asiatiques, des pages de votre site avec des mentions de casinos dans les résultats de Google.
Bref, vous savez que ça ne sent pas bon et vous commencer à nettoyer. Vous repérez des fichiers bizarres, vous les supprimer. Et vous avez l’impression que tout est ok. Et c’est là que si vous dormez tranquillement la première nuit, vous serez probablement déçu.e.s le lendemain.
En effet, beaucoup de type d’infections WordPress sont faites pour être discrètement cachées dans vos fichiers (et pas que). Mais elles sont aussi hélas souvent faites pour s’étendre à nouveau si tout n’est pas à 100% supprimés en 1 seule et bonne fois.
Prenons un exemple récent traité en ce week-end de la mi-septembre 2026 :
Exemple de site WordPress infecté qui s’est réinfecté
Pour illustrer concrètement ce dont il s’agit, voici les éléments réellement rencontrés lors du nettoyage d’un site WordPress compromis, hébergé chez un hébergeur mutualisé classique, sans multisite ni configuration particulière. Cette liste donne une idée précise de l’ampleur que peut prendre une infection en apparence anodine au départ.
- Un premier symptôme visible : un fichier drop-in wp-content/db.php, provoquant une erreur fatale bloquant tout le site, contenant en réalité une charge binaire obfusquée collée après un en-tête PHP en apparence anodin
- Un second symptôme invisible pour les visiteurs humains mais actif pour les robots d’indexation : du contenu spam en langue étrangère servi de façon conditionnelle selon le user-agent (technique dite de cloaking), détecté via l’aperçu de lien généré automatiquement par un client mail
- Plusieurs webshells (scripts permettant un accès complet et non authentifié au serveur : navigation, upload, suppression, exécution de commandes système) disséminés dans les dossiers socles de WordPress que sont : wp-includes et wp-admin, tous déposés en une seule opération automatisée, avec un horodatage identique à la seconde près sur plusieurs fichiers distincts
- Des noms et emplacements de fichiers choisis pour imiter des composants légitimes du cœur WordPress (des dossiers appelés style-engine, theme-compat, ou encore
sunrise, terme qui désigne aussi un vrai mécanisme de chargement précoce de WordPress, utilisé ici uniquement comme camouflage) - Un scan de sécurité complet (Wordfence) recensant 21 fichiers signalés comme inconnus dans le cœur WordPress rien que lors d’une seule passe
- Une copie supplémentaire d’un des webshells, cachée dans le dossier de cache de vignettes (.tmb) d’un plugin de gestion de fichiers de type elFinder, installé de longue date, non lié à l’administrateur actuel du site, et jamais mis à jour
Et que se passe-t-il si on supprime 98% de tous les fichiers détectés comme suspects mais qu’on laisse les 2% qui restent ?
Une reconstitution automatique et quasi complète des fichiers supprimés survenant pendant la nuit dès lors que le nettoyage n’était pas exhaustif, signe d’un mécanisme de persistance actif (cron système ou wp-cron) distinct des webshells eux-mêmes.
En gros, si on vire 98% des fichiers suspects, mais qu’on laisse ces fameux 2% encore présents, bah l’infection sera là comme si vous n’aviez rien fait le lendemain. Dommage non ?
Pour la petite histoire, ce site était infecté par un « Japonese Keyword Hack ». En gros, ça sert à afficher des pages et résultats de votre site dans Google, en japonais. Et ces liens guideront dans le pire des cas, vers des pages e-commerce japonaises. Ceci est documenté notamment dans : https://www.malcare.com/blog/japanese-keyword-hack/
Ce qui implique que même après le nettoyage du site intégralement, il y aura un vrai travail de nettoyage SEO aussi, de sorte que les liens vérolés indexés ne soient plus indexés. Et que les signaux envoyés par votre site à Google et consort, soient à nouveau propres, fiables et donc positifs.
Preuve qu’une infection peut avoir de gros mauvais effets sur le site, mais aussi sur son e-réputation technique.
Pourquoi un nettoyage « presque complet » ne suffit jamais
Une compromission WordPress ne se limite quasiment jamais à un seul fichier malveillant isolé. Les campagnes d’attaque automatisées déposent généralement plusieurs charges à la fois, dans des emplacements différents, avec des noms choisis pour ne déclencher aucune alerte visuelle chez un administrateur qui parcourt rapidement l’arborescence.
Cette dispersion volontaire a un objectif précis : garantir que même si une partie des fichiers est repérée et supprimée, il en reste suffisamment pour reconstituer l’accès. C’est là que se trouve le piège du nettoyage partiel. Supprimer 98% des fichiers malveillants ne réduit pas le risque de 90 %, ça laisse simplement 2% de portes dérobées pleinement fonctionnelles, ce qui suffit à tout recharger.

Les mécanismes de persistance, la vraie raison des réinfections
Au-delà des webshells eux-mêmes, une compromission installe souvent un ou plusieurs mécanismes de persistance, conçus spécifiquement pour survivre à un nettoyage partiel.
Les mu-plugins (must-use plugins)
Ilss sont une cible particulièrement appréciée. Ce sont des extensions que WordPress charge automatiquement sans qu’elles apparaissent dans la liste des extensions activables ou désactivables depuis le tableau de bord. Un rapport de Sucuri, société spécialisée en sécurité WordPress, documente ce type d’infection en détail : un fichier loader placé en mu-plugin va chercher discrètement une charge à distance, parfois encodée pour échapper aux scanners, la stocke en base de données, puis recrée en tâche de fond ce qui a été supprimé côté fichiers.
Les tâches planifiées,
Qu’il s’agisse du wp-cron interne à WordPress ou d’un cron système configuré directement chez l’hébergeur, sont un autre vecteur de persistance très documenté. Une tâche cron malveillante peut redéposer les fichiers supprimés à intervalle régulier, souvent programmée pour s’exécuter la nuit, précisément pour limiter les chances d’être surprise en flagrant délit.
Les comptes administrateurs créés frauduleusement
Les mots de passe d’application (application passwords) actifs, ou un accès XML-RPC laissé ouvert constituent des vecteurs de reprise en main qui n’ont rien à voir avec les fichiers eux-mêmes. Changer le mot de passe admin principal ne sert à rien si un second compte administrateur, créé par l’attaquant sous un nom discret, reste actif.
Un composant historiquement vulnérable,
Ce type de composant resté installé sans qu’on en ait toujours conscience, peut constituer un point d’entrée réutilisable. Les extensions de type gestionnaire de fichiers (exemple connu de WordPress Manager Files) embarquant la librairie elFinder ont par exemple fait l’objet d’une faille critique largement exploitée (CVE-2020-25213), permettant l’upload de fichiers PHP arbitraires en contournant les restrictions d’extension.
Le coût réel d’un cycle de réinfection
Les conséquences d’un nettoyage incomplet sont non négligeables. D’abord, les symptômes du piratage reviennent, et ça pour l’image du site, de votre business, votre activité, ça craint. Ensuite, le temps passé à nettoyer ce qui est revenu est perdu. Pas si vous apprenez de ce nettoyage incomplet, évidemment. Mais c’est du temps que vous auriez pu passer à communiquer sur votre business, plutôt qu’à faire un job de dépannage que d’autres auraient fait pour vous, avez l’expérience et l’expertise.
Bref, un nettoyage incomplet d’infection WP c’est notamment :
- Temps technique : chaque cycle de réinfection implique de reprendre l’intégralité du diagnostic, souvent en repartant de zéro parce que les repères précédents (quels fichiers étaient sains, quelle configuration fonctionnait) ont été perdus entre-temps
- Énergie et charge mentale : un professionnel qui pense avoir résolu un incident, puis découvre qu’il doit tout recommencer, perd confiance dans son propre diagnostic, ce qui ralentit encore la suite du travail, particulièrement lorsque plusieurs sites sont concernés simultanément
- Référencement et visibilité : un site qui reste compromis, même partiellement, continue d’exposer ses visiteurs à un risque (contenu de phishing, redirections malveillantes, spam injecté visible uniquement par les moteurs de recherche). Google et les autres moteurs peuvent dégrader significativement le classement d’un site en cas de compromission détectée, avec un impact qui peut prendre des semaines à se résorber même après un nettoyage effectif
- Image et confiance client : apprendre que son site a été « nettoyé » une première fois puis reste compromis entame durablement la confiance envers son prestataire technique, indépendamment de la qualité réelle du travail fourni
Si je devais résumer tout ça
Un nettoyage WordPress post-piratage n’est complet que lorsque la cause de l’intrusion est identifiée et neutralisée, pas seulement lorsque les fichiers visibles ont disparu.
Un site qui semble propre pendant quelques heures ou quelques jours avant de retomber dans le même état n’a jamais vraiment été nettoyé, il a simplement connu une pause entre deux cycles de compromission.
Face à ce risque, une intervention menée en une seule fois, sans intervalle laissé à l’attaquant ou à un mécanisme de persistance pour reprendre la main, reste toujours plus rentable, en temps, en énergie et en crédibilité professionnelle, qu’une succession de nettoyages partiels qui ne font que repousser le problème.
Bref, si vous pensez que votre site est infecté, que votre WordPress ne se comporte pas comme d’habitude, demandez a minima un audit, dans le doute. Il est souvent gratuit et vous permet de vous situer vis à vis d’une potentielle intervention de dépannage.
Sachez qu’il est aussi souvent arrivé cet été que je sois contactée pour des sites a priori piratés, mais qui finalement ne l’étaient pas ! Comme quoi, il vaut mieux prévenir que guérir. Mais quand il est question de guérir, il faut le faire une fois bien. Sinon, ça reviendra 😉
Cas concret : comment j’ai découvert et nettoyé un WordPress piraté
Récemment, un site WordPress hébergé chez OVH présentait plusieurs comportements anormaux. La base de données dépassait largement le quota autorisé (500mo sur l’offre Perso) et l’affichage du site déclenchait parfois des redirections vers des boutiques en ligne externes, signe classique d’une compromission.
Après un premier accès au serveur d’hébergement en SFTP, rapidement, j’ai vu que certains éléments n’étaient pas logiques.
Voici entre autres les étapes passées et les actions menées pour nettoyer le piratage et restituer un site sain :
Pour comprendre pourquoi les plugins non mis à jour constituent la principale porte d’entrée des pirates, consultez la partie consacrée aux plugins pas à jour, plus haut dans ce guide : un site WordPress peut-il vraiment être piraté via un plugin pas à jour ?
Étape 1 : Découverte des fichiers malveillants dans /wp-content/
Dans le dossier principal de WordPress se trouvaient plusieurs fichiers qui n’existent jamais dans une installation légitime :
mhkrrc.phpdb-config.ini- un fichier du même type, au nom aléatoire, similaire à
mkhrcc.php
Aucun de ces fichiers ne correspond à WordPress, à un plugin ou à un thème.
Étape 2 : Analyse du fichier mkhrcc.php : une backdoor complète
Le fichier contenait du PHP obfusqué utilisant notamment :
$_POST['b'],$_POST['f'],$_POST['c']- reconstruction dynamique de
file_put_contentsetbase64_decode - vérification de hash MD5 servant de mot de passe
Il s’agissait d’une backdoor permettant :
- l’upload de fichiers à distance
- l’écriture directe à la racine
- la réinstallation d’autres malwares
- le contrôle complet du serveur via une simple requête POST
Étape 3 : Analyse du fichier mhkrrc.php : module InjectBody
Son contenu était une configuration sérialisée :
a:4:{s:7:"enabled";s:1:"1";s:7:"timeout";i:300;s:6:"filter";s:16:"_posts|_postmeta";s:8:"loadstat";s:125:"<!-- stats -->";}
Ce format est typique de familles de malware documentées par Sucuri et Wordfence.
Il sert à :
- injecter du JavaScript ou du HTML dans les pages
- exécuter du code distant
- analyser et modifier posts et postmeta
- assurer une persistance même après mises à jour
Étape 4 : Analyse du fichier db-config.ini : cache malveillant
Bien qu’il porte une extension .ini, son contenu était du PHP sérialisé, utilisé comme “mémoire interne” pour recharger automatiquement la charge utile si un fichier infecté était supprimé. Cela indique une infection conçue pour survivre aux nettoyages classiques.
Étape 5 : Synthèse du diagnostic
Le site était victime d’une chaîne d’infection complète reposant sur :
- un uploader backdoor (accès pirate total)
- un loader InjectBody (injection dynamique de code)
- une configuration persistante (réinstallation automatique)
Ce schéma est conforme aux attaques référencées par Sucuri, Wordfence et l’OWASP.
Étape 6 : Première analyse élargie : erreurs critiques après restauration de /wp-admin
Chaque tentative de remplacement du dossier /wp-admin déclenchait une erreur critique.
Le site tournait sous WordPress 5.8.12 tandis que l’hébergement était passé en PHP 8.3, provoquant déjà des incompatibilités. L’existence de fichiers malveillants dans plusieurs zones expliquait l’instabilité globale.
Étape 7 : Cartographie des zones infectées
Plusieurs répertoires, parfois très anciens, contenaient du PHP exécutable. L’infection était disséminée au-delà du cœur WordPress.
1. Backdoors à la racine WordPress
wp-blogs.phpiijmdny7.php

2. Faux plugin masqué
Dossier : /wp-content/plugins/HelloDollyV2_jwbq/
Fichier interne infecté :
hello_dolly_v2.php
Il contenait une classeUnsafeCryptopermettant d’exécuter du code transmis à distance via AES-256-CTR.

3. Scripts dans des répertoires non liés à WordPress
Dossier : /audio/ad/
Sous-dossiers : style, theme/upload/temp
Fichiers anormaux :
index.phpmodifié- plusieurs
.txtcontenant du PHP masqué
4. Backdoor dans .well-known
Un fichier PHP dissimulé utilisant base64_decode, md5, glob, capable :
- d’envoyer des fichiers
- d’exécuter des commandes
- de modifier des permissions
Résumé des menaces
| Fichier / Dossier | Fonction malveillante | Risque principal |
|---|---|---|
wp-blogs.php, iijmdny7.php | Backdoor distante | Contrôle total |
/HelloDollyV2_jwbq/hello_dolly_v2.php | Exécution de commandes chiffrées | Injection continue |
/audio/ad/ | Scripts de persistance | Réinfection automatique |
.well-known/index.php | Webshell masqué | Upload illimité |
Étape 8 : Analyse technique : fonctionnement de l’infection
Le malware assurait :
- la persistance grâce à des points d’ancrage multiples
- l’exécution distante via le faux plugin encrypté
- la dissimulation dans des répertoires non liés à WordPress
C’est ce qui empêchait toute restauration classique et provoquait la réapparition des fichiers supprimés.
Étape 9 : Intervention : remise en état
L’intervention s’est déroulée en trois phases :
- Suppression absolue de tous les fichiers identifiés
Tous les fichiers PHP hors structure WordPress ont été supprimés. - Réinstallation propre du cœur WordPress
Les dossiers/wp-adminet/wp-includesont été remplacés par les versions officielles correspondant à WordPress 5.8.12. - Vérification serveur
L’espace disque, auparavant saturé par des caches malveillants et des fichiers inutiles, a été normalisé.
Le tableau de bord WordPress était immédiatement opérationnel.
La base de données est passée d’environ + de 500 Mo, à environ 400 MO. Puis désormais à 43 Mo.
Résultat : un site sécurisé, propre et prêt pour l’avenir
Une fois l’ensemble des portes dérobées éliminées, le site a retrouvé :
- un fonctionnement stable
- la possibilité de mettre à jour WordPress
- une base de données à nouveau dans les limites OVH
- un environnement sécurisé sans injection ni backdoor
Ce use case illustre une situation fréquente : un site vieillissant, une montée en PHP trop brutale et des fichiers dormants issus d’une infection ancienne. Le dépannage n’est pas qu’une simple question de compatibilité, mais bien un travail de détection, d’analyse et de nettoyage méthodique.
Durée du travail de détection puis désinfection
1. Analyse initiale et diagnostic : 45 minutes à 1 h
- tests d’accès au site et à l’administration
- inspection des symptômes (erreur critique, redirections, surcharge serveur)
- analyse rapide FTP + repérage des premiers fichiers anormaux
- vérification de la version PHP / WordPress
2. Exploration complète du serveur : 45 minutes à 1 h
- audit des dossiers hors WordPress
- recherche manuelle de fichiers PHP cachés
- comparaison avec une structure WordPress propre
- détection des backdoors disséminées
3. Nettoyage, suppression des fichiers malveillants et sécurisation : 45 minutes à 1 h 15
- suppression des backdoors repérées
- nettoyage des répertoires parasites
- contrôle des permissions
- vérification des fichiers réinjectés automatiquement
- inspection de
.well-known,audio/, racine, plugins, wp-content/uploads
4. Réinstallation propre du core WordPress : 15 à 30 minutes
- remplacement de
/wp-admin - remplacement de
/wp-includes - vérification version / compatibilité PHP
- test de chargement de l’admin
5. Contrôle final, tests et optimisation du serveur : 20 à 40 minutes
- test de navigation front + admin
- nettoyage de la base (taille, options douteuses)
- vérification des logs
- vérification espace disque OVH
- installation ou activation d’une solution de sécurité
FAQ : site WordPress piraté
Reconnaître un piratage WordPress
La présence de plusieurs signes en même temps est souvent décisive : redirections, fichiers inconnus, compte admin modifié, alertes Google, etc. Vous pouvez aussi analyser vos fichiers FTP et consulter les journaux de votre hébergeur pour identifier des scripts suspects ou des connexions inhabituelles.
Oui. De nombreux piratages sont invisibles au début. Le pirate peut installer un script discret pour envoyer du spam, héberger des pages cachées ou préparer une attaque plus large. L’absence de symptômes ne garantit donc pas l’absence d’infection.
C’est une technique courante : les pirates veulent que l’administrateur du site ne voie rien depuis un ordinateur. Les redirections sur mobile sont donc un signe fort, souvent lié à une injection de script ou à un fichier compromis dans le thème.
Toutefois, certaines redirections ne se limitent pas au téléphone.
Oui. La majorité des piratages WordPress provient de failles dans des plugins ou thèmes non mis à jour. Un seul plugin vulnérable suffit pour permettre une intrusion, même si votre WordPress est à jour.
Attention, une version non à jour et trop ancienne de PHP sur serveur et/ou de WordPress sont aussi des risques accrus de piratages.
Parfois. Certains hébergeurs détectent les pics d’activité, les envois massifs d’e-mails ou les fichiers suspects. Mais cela reste rare. La surveillance doit venir principalement de vous ou de votre administrateur WordPress.
Pas forcément. Mais dans la majorité des cas, une alerte “Malware”, “Contenu pirate” ou “Site potentiellement dangereux” indique une infection réelle ou une injection de code problématique. Il faut traiter ce signal comme une priorité absolue.
Cela dépend. Si l’infection est superficielle, certains signes peuvent être corrigés. Mais la plupart des piratages modernes sont multiples : fichiers injectés à plusieurs endroits, scripts dissimulés, comptes modifiés… Une intervention manuelle mal effectuée peut aggraver la situation.
Désinfection et réparation d’un site WordPress infecté
Certains malwares ajoutent plusieurs portes dérobées dans différents répertoires. Même si vous supprimez un fichier infecté, un “loader” peut le recréer automatiquement. C’est pourquoi un nettoyage complet nécessite de vérifier tout le serveur, y compris les dossiers hors WordPress.
On retrouve souvent des fichiers aux noms aléatoires comme iijmdny7.php, mhkrrc.php, ou mkhrcc.php. D’autres infections se cachent dans des faux plugins, des sous-dossiers audio/, temp/, ou encore .well-known. Tout fichier PHP non natif de WordPress doit être examiné.
Une désinfection sérieuse demande généralement entre 2 h 30 et 5 h selon l’étendue de l’infection. Cela inclut l’analyse, la suppression des backdoors, la réinstallation propre de WordPress, les tests, puis le contrôle complet du serveur.
Oui, au minimum les dossiers /wp-admin et /wp-includes doivent être remplacés par une version officielle. Les fichiers du cœur de WordPress ne doivent jamais être modifiés. Leur remplacement garantit que le code source n’a pas été altéré.
Oui. Si votre site utilise une ancienne version de WordPress ou des plugins obsolètes, un passage brutal à PHP 8.2 ou 8.3 peut déclencher des erreurs fatales. Il est conseillé d’ajuster PHP uniquement après avoir vérifié la compatibilité de votre installation.
C’est possible. Certains scripts injectent des logs, du faux contenu ou des options répétées dans la base, ce qui peut rapidement saturer le quota de l’hébergement, surtout chez OVH. Cela ralentit le site et peut bloquer l’accès au tableau de bord.
Oui. Les backdoors peuvent enregistrer ou détourner des accès. Il est conseillé de changer les mots de passe WordPress, FTP, base de données et ceux liés à votre hébergement.
Après une désinfection complète, il est essentiel de :
- surveiller les modifications de fichiers
- Un site maintenu réduit fortement les risques de réinfection.
- mettre WordPress, les thèmes et les plugins à jour
- supprimer les comptes FTP inutilisés
- installer un pare-feu applicatif
- effectuer des sauvegardes régulières
En bref
Un piratage WordPress ne ressemble pas toujours à une prise de contrôle totale du site. Parfois, les signaux sont très subtils : un fichier ajouté, un compte utilisateur suspect, une redirection qui ne se produit qu’en navigation privée ou uniquement sur mobile.
L’essentiel est de repérer ces signaux le plus tôt possible pour éviter une dégradation plus sévère du site, une perte de positionnement dans Google ou une infection qui se propage ailleurs.
Si vous reconnaissez plusieurs de ces signes, il est probable que votre site soit compromis. Un diagnostic rapide permet souvent de limiter les dégâts avant qu’ils ne s’aggravent.
Demander de l’aide en cas de piratage WordPress
Si vous reconnaissez plusieurs de ces symptômes, il est probable que votre site WordPress soit compromis. Un diagnostic rapide permet d’éviter que l’infection ne se propage, qu’elle détruise des données importantes ou qu’elle réduise votre visibilité dans Google.
Je propose un accompagnement rapide et bienveillant pour identifier l’origine du problème et rétablir un environnement sain. Vous pouvez en savoir plus sur mon service de dépannage WordPress via la page dédiée.
J’interviens sous 24h pour :
- Analyser et nettoyer les fichiers infectés
- Vérifier et sécuriser votre serveur
- Remettre en place un WordPress propre et sécurisé
- Éviter que les incidents ne se répètent
Contact urgence : contact@yesweblog.fr | 07 56 94 78 33
Webmaster WordPress depuis 15 ans
Vous souhaitez voir Yes We Blog en priorité dans vos résultats Google ?




