WordPress et le virus God_Mode_On – Comment faire le ménage !

Nicolas, le 12 août 2013

Orage 1

Qu’est ce qu’il est désagréable de découvrir que Google estime que votre blog ou votre site WordPress est dangereux pour les internautes. Qu’est ce qu’il est rageant de découvrir que lorsqu’on arrive enfin à accéder à son propre site, on est renvoyé vers des pages plus que douteuses proposant produits et services très… spéciaux.
Vous êtes dans situation et, lorsque vous mettez le nez dans les fichiers php de votre WordPress pour essayer de trouver le pourquoi du comment, vous trouvez des lignes et des lignes de code qui sont venues s’insérer sans votre avis après chaque balise php ? (voir la photo ci-dessus). Alors il y a de bonnes « chances » que vous soyez victime du virus God_mode_On qui, profitant d’une faille de sécurité, une porte d’entrée involontaire dans une vieille version de WordPress (pensez-bien à faire les mises à jour) ou un plugin pas très au point, est venu squatter les fichiers de votre serveur.
Comment se débarrasser de l’importun avec intelligence et efficacité ? Voyons ça tout de suite.

Identifier le Mal
Accédez aux fichiers php de WordPress via ftp ou via l’interface d’édition de thème de WordPress et cherchez si vous voyez ce bout de code juste après une balise ouvrante php <?php

eval(base64_decode(« tout plein de caractères sur 6 à 8 lignes« ));

Alors vous savez que votre WordPress est infesté. Comment l’infection s’est produite ? Soit une faille de sécurité, comme celle du plugin timthumb qui a bien fait parler d’elle, soit votre mot de passe php est trop simple ou encore il a été enregistré via un malware présent sur votre ordinateur.

Commencer avec une base saine
Commençons avant tout par s’assurer que l’ordinateur sur lequel vous travaillez est exempt de tout malware. Un antivirus tel Avast pour PC ou VirusBarrier pour Mac feront l’affaire pour scanner et identifier toute menace.

Soigner le php
– Installez un logiciel qui vous permettra de rechercher et remplacer du code dans des fichiers multiples. TextCrawler sur PC ou TexFinderX sur Mac (j’utilise une fonction interne de Coda pour ce faire).
– Rapatriez l’ensemble des fichiers de votre blog dans un dossier sur votre ordinateur via ftp. Attention, si vous avez d’autres dossiers que celui de votre blog qui contiennent des fichiers php, rapatriez-les également car il y a de fortes chances qu’ils soient également infestés.
– Analysez les fichiers que vous venez de récupérer avec votre logiciel antivirus.
– Dupliquez le dossier avec les fichiers. Ainsi, vous avez un dossier de « sécurité » (on sait jamais, si la suite se passait mal, vous auriez toujours la copie du contenu de votre blog à disposition) et un dossier de « travail ».
– Utilisez TextCrawler ou TexFinderX pour trouver le code indésirable dans l’ensemble des fichiers présent dans le dossier travail et remplacer ce code par… rien, enfin… un espace.

Eliminer la cause
Maintenant que le code malicieux est effacé, cherchons les failles de sécurités potentiellement présentes dans votre WordPress.
– Si vous avez le plugin timthumb, cherchez le fichier timthumb.php (dans le dossier plugins de wp-content). Regardez si vous avez
define (‘ALLOW_EXTERNAL’, true);
Si c’est le cas, remplacez « true » par « false » :

define (‘ALLOW_EXTERNAL’, false);
– Jetez un coup d’oeil au fichier wp-config.php pour voir s’il n’y aurait pas, à la fin du fichier, une ligne qui commencerait par
if (isset($_REQUEST[‘FILE’]))
Si c’est le cas, alors cette ligne et les suivantes sont à effacer.
– Chercher les faux fichiers WordPress. L’infection peut avoir créé des fichiers php spécialement conçus pour relancer l’attaque. Si vous êtes jusqu’au-boutiste, vous pouvez comparer la liste de vos fichiers avec celle d’une installation toute vierge de WordPress. Sinon, cherchez
wp-admin/common.php
wp-admin/js/config.php
wp-admin/upd.php
wp-content/upd.php …
et détruisez ces fichiers si vous les trouvez.

La fin justifie les moyens
– Détruisez les dossiers de votre serveurs. Ceux-là même que vous aviez rapatriés sur votre ordinateur. Car vous allez les remplacer par ceux, nettoyés, de votre dossier de travail.
(vous avez toujours le dossier de sécurité dans un coin, au cas où).
– Lorsque serveur est « propre », vous n’avez plus qu’à charger les fichiers du dossier de travail sur votre ftp. Ils ont alors la même place et les mêmes noms que les anciens.

– Vérifiez rapidement que tout fonctionne bien en accédant à votre site en ligne.

Un avenir serein
– Changez le mot de passe de votre base de données. Depuis l’interface base de données de votre hébergeur et dans le fichier wp-config.php de WordPress.
– Changez le mot de passe de votre ftp. Depuis l’interface ftp de votre hébergeur et dans le logiciel ftp que vous utilisez.

Le site Marketingsiden qui m’a donné cette solution incite également à utiliser Sucuri scanner pour vous assurer que votre site est tout propre.

Si jamais vous aviez une nouvelle infection après cette opération, alors je vous invite à vérifier que le code malicieux ne se trouve pas dans votre base de données… mais c’est une autre histoire.

#hack it yourself #média #sciences