WordPress piraté, hacké? Comment réagir?

Votre page d'accueil n'est plus la même et affiche des liens étranges et de la pub vers une célèbre pilule bleue. Google vous a même envoyé un email pour vous prévenir...

Votre site WordPress a été piraté :/

Au travers de cet article nous allons voir une procédure qui vous permettra de revenir au plus vite à une version propre de votre WordPress et comment faire pour nettoyer votre WordPress ?

Notez qu'il existe plusieurs méthodes pour nettoyer un WordPress piraté et au moins autant de types de piratages (via fichiers WordPress, par la base SQL, etc...).

 

wordpress hacké piraté, comment faire ?

 

Tout d'abord on se calme !

Pas évident toute de suite mais commencez donc par vous calmer !

Vous n'êtes pas le premier et vous ne serez pas le dernier à vous faire pirater un WordPress. Donc, on respire, on se calme et on évite d'aller trop vite car à vouloir se presser, on risque juste de faire une bêtise...WordPress piraté ? On se calme !

Restaurer une sauvegarde

Pour aller au plus simple, et si vous avez été prévoyant, vous pouvez restaurer une sauvegarde pas trop ancienne et qui vous semble saine. C'est de loin le plus simple et le plus rapide. Problème, si vous avez été piraté une fois, cela recommencera. Votre WordPress n'est pas secure alors remettre la version de la veille, c'est juste reculer pour mieux sauter...

Reprenons, vous avez donc une sauvegarde, vous restaurez et votre WordPress revient à son état initial. Il faut maintenant vérifier que votre WordPress est à jour et ses plugins aussi. A ce stade, je vous conseille de changer immédiatement logins & mots de passe de ce dernier mais également ceux de votre FTP et de la base de données. Vérifiez également l'intégrité de votre fichier htaccess.

Pour vérifier que vos plugins ne contiennent pas de failles de sécurité, installez le plugin security scanner et activez-le.

WordPress hacké ? Je restaure la sauvegarde

 

Identifier le mal

Comment ont-ils fait ? C'est la question qui devrait vous hanter. Plugin avec faille ? Mot de passe cracké ? Commencez déjà par vérifier vos fichiers config.php et index.php, on y trouve souvent le problème.

Vous pouvez également vous aider des logs de votre hébergeur. Les fichiers logs gardent traces de toute activité sur votre hébergement (accès, actions). Vous pouvez essayer de voir dans ces fichiers les traces et actions de votre hacker puis prendre les mesures nécessaires (suppression plugin, changement login, mot de passe...).

Notez que je ne parle pas ici des plugins de sécurité tels que WordFence ou iTheme Security mais que vous pouvez essayer d'utiliser pour identifier le code malicieux.

Vous pouvez aussi visiter les sites suivants pour y faire un scan :

WordPress piraté ? Je regarde comment dans mes fichiers logs

 

Un petit coup d'antivirus

Ici nous allons télécharger le site complet sur notre ordinateur et le passer à l'antivirus. Commencez par vous assurer que votre environnement de travail est sain puis téléchargez votre site complet via FTP et copiez-le sur votre PC. Faites tourner votre antivirus préféré et si problème il y a, il devrait vous le trouver.

Les antivirus classiques tels que Avast ou Bitdefender donnent de bons résultats et peuvent aussi scanner votre répertoire /uploads/ pour y trouver du code malicieux caché dans des fichiers images.

Antivirus pour nettoyer un WordPress hacké

Login, mots de passe

On ne va pas prendre de risque inutile, piraté une fois....

On en profite donc pour revoir tous les mots de passe FTP, base de données, login et mot de passe WordPress. N'hésitez pas à utiliser des mots de passe complexes et longs on ne le répétera jamais assez.

Pour générer un mot de passe complexe rendez-vous sur https://strongpasswordgenerator.com et pour le vérifier : https://howsecureismypassword.net

Pour éviter de me faire pirater, je durcis mon mot de passe

 

Réinstallation propre de A à Z

Solution ultime et plus longue que la restauration de sauvegarde, la réinstallation complète. C'est à mon sens la plus sûre et la plus efficace. L'idée est de repartir sur du neuf.

Je m'explique : Réinstaller complètement WordPress, ses plugins (à jour) et la dernière version  du thème puis injecter articles, pages, menus et images via l'outil natif d'import/export de votre WordPress.

Voici comment procéder en 10 points:

  1. Copiez par FTP l'intégralité de votre site et sa base de données via PhpMyAdmin sur votre PC (par sécurité et juste au cas où;)
  2. Depuis votre WordPress piraté, exportez tout le contenu (articles, pages, commentaires, champs personnalisés, termes, menus de navigation et types de contenus personnalisés) via l'outil natif "Export" (Outils>>Exporter>>Tout le contenu), et enregistrez le fichier XML ainsi généré sur votre PC
  3. Supprimez via FTP tout votre ancien contenu (dossiers WordPress, fichiers à la racine etc...) à l'exception des répertoires de votre hébergeur (cgi-bin, log, ssl...)
  4. Supprimez votre base données et créez-en une toute nouvelle avec nom et mot de passe complexe
  5. Téléchargez la toute dernière version de WordPress et installez la
  6. Installez la toute dernière version de votre thème
  7. Importez tout le contenu du fichier XML (créé au point 2) via votre nouveau WordPress depuis le menu Outils>>Importer>>WordPress
  8. Installez les dernières versions (à jour et sans faille connue) de vos plugins
  9. Suivez les indications de l'article 15 rappels de sécurité WordPress
  10. Voilà, il ne vous reste plus qu'à remettre en forme (Accueil, Widgets, CSS éventuel....)

C'est certes plus contraignant et plus long mais repartir sur du neuf avec un WordPress, des plugins et un thème à jour devrait limiter les risques. Vous pouvez également aller faire un tour dans la base (voir ci après) pour y dénicher d'éventuels éléments douteux.

Réinstaller WordPress après un piratage

 

Allons voir dans la base de données

Pour vous aider à trouver les liens, scripts ou iframes douteux, la requête SQL ci-dessous, isole les messages dans votre base de données  (attention toutefois aux faux positifs, il est fortement recommandé de faire une sauvegarde avant toute modification de la BDD):

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%' 
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%' 
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%base64%'

Nota: n'oubliez pas de remplacer le préfixe "wp_" utilisé dans cet exemple par le vôtre.

Requêtes sql pour trouver du code malicieux dans mon WordPress

 

In fine...

Comme dit en préambule, il existe plusieurs cas de figure. Toutefois la solution de réinstallation de A à Z donne de bons résultats. Vous pouvez aussi utiliser conjointement plusieurs méthodes (réinstallation partielle + copie FTP du dossier /uploads/ préalablement passé à l'antivirus).

Si malgré tout cela vous ne vous en sortez pas, vous pouvez faire appel à un hébergement spécialisé WordPress qui sera en mesure de désinfecter et de protéger votre site ou bien encore à des spécialistes sécurité tel que BoiteàWeb ou JmSilcom.

D'autres ressources ailleurs sur le Web :

A propos de l'auteur...

WPFormation

Fabrice Ducarme, formateur WordPress je suis éditeur, auteur et fondateur du site WP Formation.com. Conférencier lors des WordCamp Paris 2013 & 2015 ainsi qu'au WP Tech Nantes 2014, je vous propose plus de 400 articles & tutoriaux à propos de WordPress, mes trucs & astuces mais aussi des coups de gueule...

4 commentaires pertinents à ce jour ;)

  • Encore un très bel article….merci, perso pour ce qui est des backup je les fais directement depuis Cpanel et j’utilise aussi l’antivirus de Cpanel régulièrement. Avant j’utilisais WP Backup qui semblait bien mais lorsque j’ai voulu l’utiliser pour la première fois pour une restauration cela m’a planté ma base de données donc perso je n’utilise plus de plugins pour les backup….
  • J’ai eu récemment à gérer le cas pour le site d’une amie et j’ai dû m’y prendre à plusieurs reprises avant de trouver un truc suffisamment efficace, parce que l’infection revenait.
    Au final, j’ai :
    1/ changé de thème
    2/ viré tous les vieux plugins en ne gardant que quelques uns de toute confiance (akismet, db backup…)
    3/ réinstallé l’arbo WP from scratch mais en conservant la base de données après l’avoir vérifiée
    4/ réinstallé avec parcimonie les fichiers médias de wp-content (il y avait des saloperies qui traînaient)
    5/ sécurisé les mots de passe (indispensable : j’ai pu constater que le site était régulièrement attaqué en « bruteforce »)
    6/ Installé 2 plugins de sécurité : Sucuri (je recommande) + un autre anti « bruteforce attack »
    (j’ai sauté quelques étapes, mais votre article, très complet, est là pour tout bien détailler !)

    Ouf !

  • Edem dit :
    Salut Fabrice. Merci pour ce tutoriel très intéressant.
    Dommage que j’avais pas lu ces infos plus tôt. Les deux derniers mois ont été un véritable calvaire pour moi et mes sites. J’avais hébergé plusieurs dizaines de mes sites sur un serveur VPS pris chez un hébergeur américain (Inmo….), qui prétendaient être les meilleurs Pfff.

    Et au bout de quelques jours tous mes sites ont été terriblement hacké (à fond même :( ). j’ai demandé une restauration des sites et ils ont répondu que le lendemain, alors qu’ils avaient un système de sauvegarde d’1 seul jour, donc les versions hackées ont écrasé les bonnes sauvegardes et j’étais perdu. J’ai dû recommencer à zéro la création des pages des sites en me référent au cash de Google.

    Deux mois perdus pour des histoires de hacks. La leçon tirée est donc qu’il faut nécessairement avoir des sauvegardes sur sa machine pour vraiment être à l’abri. :)

    amicalement;

  • Manon dit :
    Articles et commentaires intéressants :-)
Tweet45
Share47
Share33
Buffer47