Hacking WordPress ou comment supprimer le trojan de son blog

>>> Guillaume Giraudet nous explique comment se débarrasser d’une virus/trojan qui sévit actuellement sur certain wordpress, l’explication est extraite de son blog, consultable ici > http://www.guillaumegiraudet.com

Certain blogs wordpress sont touché par un virus/trojan qui tourne pas mal en ce moment et qui le rend inaccessible les blogs WordPress avec des erreurs php/mysql.

Quelle sont ces erreurs WordPress ?

Bien souvent, vous rencontrerez une erreur qui ressemblera à :

Warning: Cannot modify header information – headers already sent by (output started at /homez.22/www/blog/wp-content/themes/[votre-theme]/functions.php:19) in /homez.22/www/blog/wp-includes/pluggable.php on line 671

ou encore

Warning: Cannot modify header information – headers already sent by (output started at /homez.43/www/blog/wp-config.php:2) in /homez.43/www/blog/wp-includes/pluggable.php on line 850

Si vous analysez le code de ce fichier PHP pluggable.php
Vous vous rendrez vite compte qu’il y a un code Javascript qui s’est ajouté en bas de ce fichier. Ni une, ni deux, hop vous le supprimez.
Oui, mais voilà, pas folle la guêpe, ce trojan est bel et bien installé car vous avez une seconde erreur dans un autre fichier

Warning: array_keys() [function.array-keys]: The first argument should be an array in /homez.43/www/blog/wp-includes/widgets.php on line 1843

En gros, pour rétablir votre site, il faudra supprimer ce code de chacun des fichiers présents sur votre site (soit plus de 200/250 fichiers php/javascript), impensable donc.

Ce trojan est-il préjudiciable pour mon blog WordPress ?

Et oui, car il faut faire vite. Ce virus est détecté par les moteurs de recherche, et par conséquent votre site / blog sera considéré comme malveillant et vous risquez de prendre une sacré claque sur vos positions et votre trafic (et éventuellement votre business).

Comment supprimer le virus / trojan de mon blog wordpress ?


Plusieurs étapes sont nécessaires pour supprimer entièrement ce virus qui risque de revenir facilement si vous n’appliquez pas l’ensemble de ces recommandations.

1) Sauvegarde de votre base de données et des fichiers vitaux

Commencez par aller sur PHPMyAdmin et exportez votre base de données pour être sûrs de récupérer l’ensemble de vos contenus.

2) Exporter ensuite les dossiers importants de WordPress :

– /wp-content/themes
– /wp-content/plugins
– /wp-content/upload

Vous ne perdrez ainsi aucun médias (images, vidéos, podcast) et vous conserverez votre thème préalablement optimisé pour le référencement 😉

3) Exporter les fichiers vitaux de WordPress :

– le fichier wp-config.php pour ne pas avoir à réinstaller votre configuration wordpress
– le fichier robots.txt
– le fichier .htaccess

4) Nettoyer vos tables et supprimer votre base de données :

Cette étape pourrait paraître facultative pour certains d’entre vous, mais sachez que lors de la première récupération, je ne l’avais pas fait et j’ai retrouvé le virus au même endroit.
Mieux vaut donc être prudent.
– nettoyer donc vos tables
– puis supprimer votre base de données.


5) Récréer une nouvelle base de données :

Hébergé chez OVH, j’ai donc recréer ma base sur leur interface, peut importe le moyen que vous utiliserez, il faudra recréer une nouvelle base (avec un nouveau nom si possible).


6) Réinstallation de votre site ou blog :

Une fois que toutes ces étapes seront terminées, il ne vous restera plus qu’à réinstaller votre blog ou site en téléchargeant la dernière version de WordPress.
– télécharger la dernière version à l’adresse suivante =>http://fr.wordpress.org/
– installer là avec le nom de votre nouvelle base de données
– importer votre fichier wp-config.php (sauvegardé plus haut) avec votre FTP. Pensez à vérifier qu’il n’y a pas le code javascript dans les dernières lignes de ce fichier.
Si vous utilisez FileZilla, pensez à faire attention. Ce conseil est indiqué en bas d’article dans le paragraphe « Quelques conseils qui pourront s’avérer utiles »

Votre blog est donc réinstallé, mais aucun article n’est affiché, ne vous inquiétez pas, il nous reste encore des petites étapes.


7) Importation de votre base de données et des fichiers annexes :

Nous arrivons bientôt à la fin de ce tutoriel pour supprimer le trojan / virus de votre WordPress.
– importer votre base de données préalablement sauvegardée plus haut.
A ce stade, vos articles devraient être tous récupérer.

– importer ensuite les dossiers que nous avons sauvegardés plus haut :
– /wp-content/themes
– /wp-content/upload

Mais vous allez me dire ? Tiens il n’y a pas le dossier /wp-content/plugins
C’est normal, en ce qui concerne les plugins, vous n’allez pas analyser chaque fichier .php ou .js pour supprimer le code javascript qui a fait planter votre blog / site.

Le mieux est donc de :
– retélécharger l’ensemble des plugins.
C’est pour cela que nous avons sauvegardé ce dossier. Pour n’en oublier aucun.

L’intérêt de les télécharger réside également dans le fait de disposer de la dernière version mise à jour.

Quelques conseils qui pourront s’avérer utile

– si vous utiliser FileZilla, changez de logiciel FTP. J’ai lu sur le web que les mots de passe étaient enregistrés dans un fichier en .txt qu’il n’était pas compliqué de cracker.
– changer tous vos mots de passe (base de données / connexion à votre hébergeur / mot de passe ftp / mot de passe blog / site)
– pensez à faire les mises à jour de votre WordPress et des plugins. S’il existe des mises à jour, c’est pour améliorer la sécurité de cette plateforme, alors évitons de donner des portes d’entrées aux trojans.
– vérifiez un fichier sur lequel vous avez un doute avec le très bon site Virus Total

Cette procédure peut sembler longue, mais c’est un virus qui est particulièrement bien fait et tous les antivirus ne le voient pas.
En espérant que ce billet en aura aidé certains. N’hésitez pas à le faire tourner  ;-).

Sources:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.