Bref, mon WordPress a été attaqué

Bref, mon Wordpress a été attaqué

Une première attaque en novembre

Mon site, comme des centaines d’autres, a fait l’objet en novembre d’une attaque exploitant une faille du fichier timthumb.php présent dans de nombreux thèmes WordPress. L’attaque insérait dans le footer de wordpress du code php rendu incompréhensible par une série d’eval de chaînes de caractères encodés en base64 (cet article détaille le décodage). Le code envoyait des informations à un serveur en Russie et injectait du Javascript malicieux dans les pages PHP.

Un plugin WordPress permet maintenant de vérifier facilement la présence et l’obsolescence potentielle de votre version de timthumb, et même de repérer des traces d’attaques : timthumb vulnerability scanner

Pirates Of Russia, le retour

Il y a deux semaines ce sont tous les fichiers Javascript de tous mes sites (WordPress ou pas) qui ont été infectés, le code malicieux commence par var _0xdc8d=[“\x73\x63\x5F (d'ailleurs si on cherche ce code sur google on trouve plus de sites infectés que d'articles traitant du problème).

Ce code appelle l'ip 91.196.216.64 (Russie of course) et lui envoie des informations sur le client. Il ouvre la porte à des tas de téléchargements aussi divers que vicieux. Normalement si votre antivirus est à jour il devrait détecter le problème dès que vous visitez une page infectée et bloquer tout téléchargement.

Edit: attention, lors de cette attaque de très nombreux serveurs utilisant WordPress ont été infectés et ont notamment contaminé des librairies téléchargeables comme qTip. Attention donc à ce que vous avez téléchargé entre décembre 2011 et mi-janvier 2012...

On fait le ménage!

Voici comment se débarrasser de ce malware grâce à quelques lignes de commande:

  • lister les fichiers infectés dans un fichier texte "infectedfiles.txt"
    find . -type f -print | xargs grep -l "var _0xdc8d=" > infectedfiles.txt
  • réparer les fichers infectés en supprimant le code malicieux (et garder un backup des fichiers modifiés)
    find . -type f -print0 | xargs -0 sed -ibak '/var _0xdc8d=*/d'

J'ai également découvert que mon fichier wp-config.php avait été modifié avec un gros tas de lignes vides suivi de, surprise, une backdoor permettant de se connecter en admin sans le mot de passe !

Malheureusement, je ne connais pas l'origine de l'infection donc je ne peux pas empêcher qu'elle se reproduise, autrement qu'en maintenant mon WordPress à jour et en fouillant mes fichiers.

On déménage...

Je soupçonne fortement mon hébergeur (1&1) d'être en partie responsable. L'infection timthumb pouvait se propager depuis le répertoire temp de PHP (ce dernier est partagé sur les hébergements mutualisés!), et tous mes sites WordPress ont été infectés, même ceux qui ne possédaient pas le script timthumb.php. Ceci s'ajoutant au fait que la mémoire disponible pour PHP est de seulement 32Mo chez 1&1 et WordPress étant de plus en plus gourmand, cela s'avérait limite.

J'ai donc décidé de migrer mes sites vers un nouvel hébergeur, et mon choix s'est porté sur les suisses d'Infomaniak.

...et on renforce la porte

Le gain de mémoire disponible m'a permis d'installer des plugins de sécurité :

  • j'ai déjà mentionné timthumb vulnerability scanner, un moyen simple et rapide de tester et mettre à jour timthumb.
  • WordPress File Monitor Plus permet comme son nom l'indique de surveiller la modification de vos fichiers. Simple et customisable.
  • WP Security Scan est une série d'outils de sécurité
  • Secure WordPress prend une orientation différente en proposant de cacher des informations utiles aux potentiels attaquants comme la version de WordPress

Cet article en anglais donne aussi d'intéressants conseils pour augmenter la sécurité de son WordPress avec des conseils simples et efficaces, comme déplacer wp-config.php dans le dossier parent (hors de l'espace web donc), supprimer le compte admin, installer les plugins ci-dessus, ect...

[toggle title="Sources"]

[/toggle]

Leave a Reply