Votre site WordPress ou Prestashop a été piraté ? Défacement, redirections malveillantes, ou ransomware ? Ce guide technique détaillé vous accompagne pas à pas pour récupérer votre site, éliminer les malwares et renforcer la sécurité. Basé sur les bonnes pratiques des experts en cybersécurité, ce tutoriel est conçu pour les PME sans expertise technique avancée.
#1. Identifier les signes d'un site piraté
Avant toute action, confirmez l'infection. Voici les symptômes courants :
- Défacement : Page d'accueil remplacée par un message hacker (ex: "Hacked by...").
- Redirections malveillantes : Visiteurs redirigés vers des sites de phishing ou publicités intrusives.
- Contenu inconnu : Articles, pages ou produits (Prestashop) créés sans votre intervention, souvent en langues étrangères.
- Erreurs critiques : Messages comme "The site ahead contains malware" (Google Safe Browsing) ou blocage par les antivirus.
- Comptes administrateurs inconnus : Utilisateurs non autorisés dans le backoffice.
- Code suspect : Fichiers PHP modifiés récemment avec du code obfusqué (base64, eval, gzinflate) ou scripts inconnus dans
/wp-content/uploads/.
#2. Mettre le site en quarantaine immédiatement
Étape critique : Isolez le site pour limiter les dégâts.
Passez en mode maintenance :
- WordPress : Activez le plugin "WP Maintenance Mode" ou ajoutez ce code dans
.htaccess:(RemplacezRewriteEngine On RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteCond %{REQUEST_URI} !/maintenance\.html$ RewriteRule ^.*$ /maintenance.html [R=307,L]123.123.123.123par votre IP pour y accéder.) - Prestashop : Activez le mode maintenance via
Préférences > Maintenance.
- WordPress : Activez le plugin "WP Maintenance Mode" ou ajoutez ce code dans
Désactivez les connexions :
- Changez les mots de passe FTP/SFTP, base de données, et backoffice (WordPress :
/wp-admin, Prestashop :/admin). - Supprimez les comptes administrateurs inconnus.
- Changez les mots de passe FTP/SFTP, base de données, et backoffice (WordPress :
Sauvegardez l'état actuel :
- Téléchargez une copie complète des fichiers (
public_htmlou équivalent) et de la base de données via phpMyAdmin. - Ne restaurez pas cette sauvegarde : elle contient le malware. Servez-vous-en uniquement pour analyse.
- Téléchargez une copie complète des fichiers (
#3. Analyser l'étendue de l'infection
#3.1 Scanner les fichiers
Outils recommandés :
- Wordfence (WordPress) : Scan gratuit des fichiers core, plugins et thèmes.
- Sucuri SiteCheck : Analyse à distance des malwares connus.
- ClamAV (via SSH) : Scanner les fichiers avec
clamdscan -r /chemin/vers/site.
Fichiers à inspecter manuellement :
/wp-config.php: Vérifiez les inclusions suspectes (include,require)./wp-content/uploads/: Dossier souvent utilisé pour cacher des scripts malveillants (ex:wp-vcd.php,backdoor.php)..htaccess: Redirections malveillantes (recherchezRewriteRulevers des domaines inconnus).
wp-login.php.bak). Comparez avec une installation propre de WordPress/Prestashop.
#3.2 Vérifier la base de données
- Requêtes SQL utiles (via phpMyAdmin) :
-- Recherche de code suspect dans les posts/pages (WordPress) SELECT * FROM wp_posts WHERE post_content LIKE '%eval%' OR post_content LIKE '%base64%'; -- Utilisateurs administrateurs suspects (WordPress) SELECT * FROM wp_users WHERE user_login NOT IN ('votre_admin', 'autre_admin_legitime'); -- Modules suspects (Prestashop) SELECT * FROM ps_module WHERE name LIKE '%backup%' OR name LIKE '%admin%';
#4. Nettoyer le site
#4.1 Option 1 : Restauration depuis un backup propre
Condition : Vous avez une sauvegarde antérieure à l'infection.
Identifiez la date d'infection :
- Consultez les logs d'accès (
/var/log/apache2/access.logou via cPanel > Metrics > Raw Access). - Recherchez les modifications de fichiers suspects (horodatage via FTP).
- Consultez les logs d'accès (
Restaurez :
- Fichiers : Supprimez tout sauf
/wp-content/uploads/(images) et restaurez depuis le backup. - Base de données : Importez le dump SQL via phpMyAdmin.
- Fichiers : Supprimez tout sauf
#4.2 Option 2 : Nettoyage manuel (sans backup)
Pour WordPress :
Réinstallez le core :
- Téléchargez la dernière version sur wordpress.org (vérifiez la version stable en 2026).
- Remplacez tous les fichiers sauf
/wp-content/etwp-config.php.
Réinstallez plugins/thèmes :
- Supprimez tous les plugins/thèmes via FTP (
/wp-content/plugins/,/wp-content/themes/). - Réinstallez-les depuis le dépôt officiel (WordPress > Extensions > Ajouter).
- Supprimez tous les plugins/thèmes via FTP (
Nettoyez
/wp-content/uploads/:- Supprimez les fichiers
.php,.jsou.html(seuls les médias.jpg,.pngsont légitimes).
- Supprimez les fichiers
Pour Prestashop :
Comparez avec une installation propre :
- Téléchargez la version correspondante sur prestashop.com.
- Utilisez
diff -r(Linux) pour identifier les fichiers modifiés :diff -r prestashop_propre/ prestashop_infecte/ > differences.txt
Vérifiez les overrides :
- Les fichiers dans
/override/sont souvent ciblés. Supprimez-les si non légitimes.
- Les fichiers dans
#5. Sécuriser le site après nettoyage
#5.1 Mises à jour obligatoires
- WordPress/Prestashop : Passez à la dernière version stable.
- Plugins/Modules : Supprimez ceux inutilisés. Mettez à jour les autres.
- PHP : Utilisez PHP 8.2+ (vérifiez la compatibilité avec votre hébergeur).
#5.2 Renforcement des accès
Mots de passe :
- Utilisez des phrases de passe (ex:
CorrectBatteryHorseStaple!) ou un gestionnaire comme Bitwarden. - Activez la double authentification (2FA) via plugins (Wordfence, Google Authenticator).
- Utilisez des phrases de passe (ex:
Permissions fichiers :
- Dossiers :
755 - Fichiers :
644 wp-config.php:440(lecture seule).
- Dossiers :
#5.3 Protection proactive
Firewall applicatif :
- WordPress : Wordfence ou Sucuri.
- Prestashop : Module "Security Pro" ou configuration Nginx/Apache pour bloquer les requêtes suspectes.
Sauvegardes automatiques :
- Configurez des backups quotidiens hors serveur (ex: vers un stockage cloud chiffré comme Restic).
- Testez la restauration régulièrement.
#6. Cas spécifiques
#6.1 Ransomware (fichiers chiffrés)
- Ne payez pas la rançon : Aucune garantie de récupération.
- Solutions :
- Restaurez depuis un backup hors ligne.
- Pour les fichiers critiques non sauvegardés, contactez des spécialistes en récupération de données (ex: CERT-FR).
#6.2 Redirections malveillantes persistantes
- Vérifiez :
- Le fichier
.htaccess(supprimez les règlesRewriteCondsuspectes). - Les en-têtes HTTP via
curl -I votresite.com. - Les DNS (vérifiez les enregistrements A/NS via
dig votresite.com).
- Le fichier
#7. Prévenir les réinfections
Audit de sécurité :
- Identifiez la faille initiale (plugin vulnérable, mot de passe faible, hébergement non sécurisé).
- Pour les PME, un audit ISO 27001 peut structurer votre cybersécurité.
Surveillance continue :
- Activez les alertes de modifications de fichiers (plugins comme "WP Security Audit Log").
- Scannez quotidiennement avec Wordfence ou MalCare.
#8. Ressources utiles
Outils gratuits :
- WordPress : Wordfence, Sucuri SiteCheck, WPScan.
- Prestashop : Module "PrestaShop Security", outls comme PrestaToolbox.
Guides officiels :
Équipe M-KIS : Besoin d'un accompagnement souverain ? Nos experts certifiés ISO 27001 interviennent pour nettoyer et sécuriser votre site WordPress/Prestashop. Contactez-nous.
Article mis à jour en 2026 avec les bonnes pratiques actuelles. Les étapes peuvent varier selon votre hébergeur et la version de votre CMS.
Cet article vous parle ?
On accompagne PME, ESN et éditeurs SaaS dans leur conformité ISO 27001 / NIS2 — Lead Auditor certifié, tarifs publics, 100 % open source.