Sécurité : que faire quand votre Wordpress s'est fait hacker ? Wordpress piraté : trouvez les fichiers infectés

Si vous êtes sous Linux ou Mac OS X, ouvrez un terminal et placez-vous à la racine de votre site. Sinon éditez tout votre site dans un éditeur de textes un peu costaud.

Supprimez les .htaccess qui n'ont rien à faire là

De nombreux malwares Wordpress installent ou modifient des fichiers .htaccess afin d'y placer des redirections. Directement interprétés par votre serveur Web, ces derniers permettent à votre site d'en modifier la configuration.

Sous Linux ou Mac Os, lancez la commande suivante :


 $ find . -type f -name .htaccess


Sinon, cherchez des fichiers nommés .htaccess dans votre éditeur de textes.

Vous ne devriez en trouver qu'un seul à la racine de votre site. Éditez le. S'il contient une chaîne redirigeant vers un site ne vous appartenant pas, ou mentionnant Google, Yahoo! ou Bing, supprimez les.

RewriteEngine On
RewriteOptions inherit
RewriteCond % .*google.*/images.*$ [NC,OR]
RewriteCond % .*live.*$ [NC,OR]
RewriteCond % .*aol.*$ [NC,OR]
RewriteCond % .*mail.*$ [NC,OR]
RewriteCond % .*new.*$ [NC,OR]
RewriteCond % .*bing.*$ [NC,OR]
RewriteCond % .*msn.*$ [NC,OR]
RewriteCond % .*yahoo.*$ [NC]
RewriteRule .* http://pills.ind.in/in.cgi?4¶meter=0510 [R,L]

Trouvez les malware qui tentent d'échapper à la détection.


Les malware plus récents ne modifient pas directement le fichier .htaccess, mais injectent une chaîne de caractères d'apparence anodine qui rend la détection beaucoup plus délicate.

Le code est injecté sous la forme d'une chaîne encodée en base64. Le format base64 permet d'encoder du binaire sous forme d'un texte. Il est par exemple utilisé afin de lier un fichier au corps d'un e-mail.

Une bonne méthode de détection consiste donc à rechercher l'instruction base64_decode dans le PHP de votre Wordpress. Si vous utilisez un terminal pour trouver l'injection de votre malware, c'est comme ça :


 $ find . -type f -name "*.php" | xargs grep base64_decode 



Attention cependant, base64_decode peut être utilisée de manière tout à fait légitime par un de vos plugins, mais si elle est suivie d'un gros paté de caractères, il y a de fortes chances pour qu'il n'ait rien à faire là. Dans ce cas, le plus simple est de le copier / coller à part dans un fichier PHP et de voir ce qu'il fait réellement.

Débarrassez-vous des autres répertoires cachés

Certains malwares installent une copie d'eux-même afin de se réinstaller tranquillement en cas de découverte. Ils s'installent généralement dans des répertoires cachés. Ce sont donc eux que vous allez débusquer :


 $ find . -type d -name ".*"


Si cette commande vous donne des résultats, il y a de grandes chances pour que ce répertoire ne soit pas à sa place.

Vérifiez l'intégrité de votre base de données

Il vous reste à vérifier que votre base de données n'a pas été infectée. Pour cela, vous allez regarder le contenu de la table wp_options, qui regroupe la configuration de votre Wordpress et de ses plugins à la recherche d'une ligne suspecte. Sont concernées toutes les entrées ne se référant pas directement à votre installation Wordpress ou aux plugins connus. Si vous avez été infecté, vous devriez normalement trouver votre bonheur dans les 50 derniers enregistrements.

Il se peut également que les liens aient été directement injectés dans les articles de votre blog. Dans ce cas, j'espère pour vous que vous disposez d'un backup récent.