NettoyageIncident15 juin 2025 · 12 min

Comment nettoyer un WordPress hacké : guide complet 2025

Votre WordPress a été compromis. Ce guide vous accompagne étape par étape, de l'isolation d'urgence jusqu'au durcissement post-nettoyage, sans supprimer une seule preuve utile.

⚠️

Ne supprimez rien avant d'avoir scanné

La suppression prématurée de fichiers efface les preuves permettant d'identifier le vecteur d'attaque et risque de laisser des backdoors cachées actives. Toujours auditer avant de nettoyer.

Les 8 étapes du nettoyage WordPress

01

Activer le mode maintenance immédiatement

La première priorité est de limiter l'exposition : activez un mode maintenance pour que vos visiteurs ne chargent pas de code potentiellement malveillant. Ne supprimez et ne modifiez aucun fichier à ce stade — chaque modification efface des preuves qui seront utiles pour comprendre le vecteur d'attaque.

02

Changer tous les accès (mais pas encore les fichiers)

Changez immédiatement : le mot de passe admin WordPress, le mot de passe FTP/SFTP, le mot de passe de base de données, et si possible les clés de sécurité WordPress (wp-config.php AUTH_KEY, SECURE_AUTH_KEY, etc.). Ne touchez pas encore aux fichiers — le nettoyage vient après l'audit.

03

Scanner l'intégralité des fichiers

Un scan complet doit couvrir tous les fichiers PHP, JS, .htaccess et SVG — pas seulement le répertoire WordPress. Les attaquants déposent souvent des webshells dans wp-content/uploads/ (qui contient des médias et est rarement scruté) ou dans des répertoires temporaires. Utilisez un scanner externe qui analyse octet par octet sans exécuter de code.

04

Vérifier les checksums des fichiers core

WordPress.org publie les checksums MD5 officiels de tous les fichiers core pour chaque version. Comparez votre wp-login.php, wp-includes/, wp-admin/ aux valeurs officielles. Tout écart révèle une modification — soit une infection, soit une personnalisation à documenter. Cette étape est complémentaire au scan YARA : les fichiers core infectés ne correspondent pas toujours à des signatures connues.

05

Identifier la porte d'entrée

Consultez vos logs d'accès serveur (access.log) pour identifier la première requête suspecte : date, IP source, fichier ciblé, user-agent. Cette information est critique pour éviter une reinfection. Les vecteurs les plus fréquents : plugin vulnérable non mis à jour, thème nullé (version piratée), credential stuffing via wp-login.php.

06

Quarantaine — ne jamais supprimer

Déplacez les fichiers infectés hors du webroot vers un répertoire de quarantaine (jamais supprimés). Pour les fichiers core modifiés, remplacez-les par la version propre téléchargée depuis wordpress.org/download/releases/ — jamais par une « désinfection » manuelle qui pourrait laisser des traces. Pour les plugins et thèmes infectés, supprimez et réinstallez depuis le dépôt officiel.

07

Vérifier la base de données

Les injections SQL peuvent ajouter des backdoors dans la table wp_options (option_name: 'active_plugins' ou 'siteurl' modifié) ou injecter des scripts JS dans le contenu des articles via wp_posts. Exportez et inspectez en particulier wp_options, wp_users (vérifiez les comptes admin inconnus) et wp_usermeta.

08

Restaurer, mettre à jour, durcir

Après nettoyage : mettez à jour WordPress core, tous les plugins et tous les thèmes. Supprimez les thèmes et plugins inactifs (vecteurs d'attaque même désactivés). Activez l'authentification à deux facteurs sur tous les comptes admin. Configurez un scanner automatique pour détecter toute reinfection dans les 48 heures suivantes.

Automatisez l'étape 3 et 4 avec WP Security

Notre scanner malware WordPress externe couvre YARA, checksums officiels et analyse PHP AST en moins de 2 minutes. Rapport PDF immédiat, quarantaine guidée, sans accès SSH requis.

Scanner mon WordPress maintenant →