Piratage WordPress : plan de réaction d’urgence et audit post-intrusion pour PME
Un matin, votre site WordPress redirige vers des annonces suspectes, affiche des erreurs 500 critiques ou fait l’objet d’un avertissement rouge vif par Google Chrome : votre plateforme a été compromise.
Pour une PME ou une institution, le piratage d’un site web n’est pas seulement un problème technique : c’est un risque d’atteinte à la réputation, une perte d’activité immédiate et un risque de sanction sur le plan du RGPD en cas de fuite de données personnelles.

Face à l’urgence, la panique pousse souvent à commettre des erreurs fatales (réinstaller un plugin par-dessus l’infection, supprimer des fichiers au hasard ou restaurer une sauvegarde elle-même déjà infectée). Voici la méthodologie d’ingénierie web appliquée par AGEPCom pour reprendre le contrôle de votre environnement de manière saine et durable.
> En résumé :
Face au piratage d’un site WordPress (injections de scripts, fausses redirections, défacement, spam SEO), une réaction désordonnée peut aggraver la perte de données et le bannissement par Google Search Console. Ce guide rédigé par l’agence AGEPCom détaille le protocole d’ingénierie web d’urgence en 4 phases : confinement de l’environnement, analyse forensique et désinfection de la base de données et des fichiers sources, colmatage des failles (plugins, PHP, fausses portes dérobées/backdoors) et durcissement (hardening) de la pile serveur.

1. Les premiers réflexes : stopper l’hémorragie (phase de confinement)
Avant même de chercher à nettoyer, il faut isoler le site pour empêcher la propagation du script malveillant et couper les accès aux pirates.
- Isoler l’environnement : si vous êtes sur un hébergement mutualisé hébergeant plusieurs sites, découpez l’accès. Un script malveillant (malware) présent sur un dossier racine peut contaminer tous les autres sites voisins.
- Placer le site en maintenance stricte via le serveur : ne pas se contenter d’un plugin de maintenance WordPress (qui charge le cœur du CMS et donc les scripts malveillants). Coupez l’accès public directement au niveau de la configuration Nginx ou Apache ou via un filtrage IP au niveau du pare-feu (WAF).
- Réinitialiser l’ensemble des accès d’infrastructure :
- Mots de passe FTP / SFTP et SSH.
- Mots de passe des utilisateurs de la base de données MariaDB / MySQL.
- Mots de passe des comptes administrateurs WordPress (et révocation des sessions actives).
- Clés API et jetons de connexion tiers.
2. L’analyse forensique et le nettoyage en profondeur
Un simple balayage par un plugin de sécurité (type Wordfence ou Sucuri) est rarement suffisant lors d’une attaque ciblée. Les pirates masquent leurs outils via des fausses fonctions PHP cachées sous forme de tâches programmées (cron jobs) ou camouflées dans le dossier wp-content/uploads/.
Nettoyage des fichiers sources
Le cœur de WordPress (wp-includes, wp-admin) et les fichiers racines (index.php, wp-config.php) ne doivent jamais contenir de code personnalisé. La méthode rigoureuse consiste à :
-
Remplacer l’intégralité des fichiers du cœur de WordPress par une version officielle vierge téléchargée depuis WordPress.org.
-
Supprimer et réinstaller à partir de sources officielles vérifiées l’ensemble des extensions (plugins) et du thème parent.
-
Inspecter manuellement le dossier
/uploads/pour supprimer tout fichier exécutable (.php,.js,.phtml) qui n’a rien à y faire.
Désinfection de la base de données
Les injections SQL logent fréquemment des backdoors (portes dérobées) directement dans la table wp_options (au niveau des options de chargement automatique autoload) ou créent des comptes administrateurs fantômes dans wp_users.
Le conseil AGEPCom : Auditez la table
wp_userspour vérifier les droits des utilisateurs et contrôlez les scripts injectés en base via des requêtes d’inspection sur les balises<script>ou les fonctions anonymeseval(base64_decode(...)).
3. Détecter et colmater la faille d’origine
Nettoyer un site sans corriger la faille revient à éponger une fuite sans fermer le robinet. Les attaques sur WordPress proviennent quasi-exclusivement de 3 vecteurs :
-
La dette technique et l’obsolescence : une version de PHP non maintenue (ex: PHP 7.4) ou une extension non mise à jour depuis 6 mois comportant une vulnérabilité critique (CVE) connue des bots impacte non seulement les Core Web Vitals et la vitesse du site, mais ouvre également des vulnérabilités critiques.
-
L’usage d’extensions piratées (« Nulled ») : l’utilisation de thèmes ou de plugins payants téléchargés gratuitement sur des plateformes douteuses, qui intègrent nativement des portes dérobées.
-
Des identifiants faibles ou une absence de double authentification (2FA) : attaques par force brute sur le
wp-login.phpou/xmlrpc.php.
4. Durcissement (Hardening) et prévention post-intrusion
Une fois le site réinstauré dans un état sain, la phase de durcissement permet de bloquer les futures tentatives :
-
Verrouillage au niveau serveur (Nginx / Apache) : interdiction stricte de l’exécution de fichiers PHP dans le répertoire
/wp-content/uploads/. -
Mise en place d’une double authentification (2FA) obligatoire pour tous les comptes ayant des privilèges d’édition ou d’administration.
-
Isolation des sauvegardes : configuration de sauvegardes quotidiennes externes (hors du serveur d’hébergement) avec rétention glissante sur 30 jours minimum.
-
Intégration dans une TMA et Maintenance WordPress structurée : supervision continue des mises à jour de sécurité et monitoring d’intégrité des fichiers.
Vous faites face à une infection ou un comportement suspect sur WordPress ?
Ne laissez pas une intrusion dégrader le référencement naturel et la réputation de votre entreprise. Nos équipes d’ingénierie web réalisent un diagnostic d’urgence et la mise en sécurité complète de votre infrastructure.