Sélectionner une page

Les virus de WordPress

Eh oui, c’est arrivé… Je me suis fait « hacker ». Sans doute par un adolescent boutonneux jouant avec des scripts qu’on trouve ici et là pour attaquer les vulnérabilités des sites et CMS. Et WordPress n’en manque pas ! Beaucoup de temps perdu passé à éradiquer l’attaque… Du coup, voici quelques éléments pour vous en sortir à votre tour car, n’en doutons pas, cela vous arrivera… Je parle de ceux qui ont l’imprudence de tenir un blog.

Des symptômes alarmants

Nos fidèles lecteurs m’ont signalé leur déconvenue quand, cliquant sur un lien Facebook (la page Carnets de Plongée sur laquelle je relaye les billets de ce blog), ils arrivaient non pas sur le blog mais sur un site polonais vendant du vent. Fâcheux… D’autant que les rétroliens d’autres sites marchaient très bien. Facebook étant un repaire à virus, je n’étais pas surpris outre mesure… Paf le chien !

Quels risques ?

Pour les lecteurs, sans doute aucun. Sauf à cliquer sur les liens du site pirate, auquel cas les utilisateurs Windaube récupèreront un nouveau virus (en fait un « malware ») à ajouter à leur nombreuse collection. Si, si. Faites un scan en ligne et vous verrez… Rappelons que sur Mac et Linux, les virus restent en général à la porte… Passons.

Pour l’administrateur, outre le fait que cela fait vraiment mauvais effet, le risque est de se retrouver banni de Google et/ou des navigateurs  avec une alerte du type « site contrefait, dangereux, etc ». Allez vous racheter une blancheur après çà… Dans la mesure ou le stupide CMS Facebook interdit de mettre le contenu hors ligne le temps de la réparation, il faut mieux agir vite. Ce qui vous prendra quand même quelques nuits…

L’infection en détail

Dans ce cas précis, l’infection est un script crypté qui s’installe dans tous les fichiers php du site (il y en a…). Dans WordPress lui même, les plugins, mais aussi la template et parfois dans la base de données ! C’est ainsi que j’ai découvert, dupliqué quelques milliers de fois, ce beau virus codé en base 64 :

(N’ayez pas peur, c’est une photo ! Ce n’est pas contagieux, c’est pour l’exemple. A moins que la photo ne cache un contenu stéganographique, ce qui est une autre intéressante histoire. Mais je vous jure que ce n’est pas le cas ! :lol:)

Mais le danger est là : ces quelques lignes suffisent en effet à mettre un site par terre… J’explique plus bas comment traduire ce charabia et découvrir qui se cache derrière. En l’occurrence, grâce à l’IP et quelques ping’s, je suis remonté jusqu’à l’envoyeur… Nostrovia, petit polonais !

Les coupables

Évidemment tous ces plugins, ces thèmes gratuits qu’on trouve partout, c’est tentant. Quelle générosité ! Mais les installer sans vérifier les codes sources revient à fréquenter certains établissements spécialisés sans imperméable… Beaucoup de ces graticiels sont truffés de liens douteux quand il ne s’agit pas carrément de virus installés à demeure… C’est ainsi. Il se trouve que les redirections de Facebook sont particulièrement aveugles dans ce domaine et favorisent les attaques.

Désinfectons !

Je me suis servi de WebsiteDefender qui m’a joyeusement annoncé 2838 fichiers infectés ! Car ré-installer WordPress et ses plugins ne sert à rien. Ce type de virus s’installe dans des dossiers invisibles au cœur de vos données et certains comportent même une requète pour recharger automatiquement le virus. Donc, vous réinstallez, nettoyez tout, vous croyez être tirés d’affaire et, le cœur tranquille, vous recommencez compulsivement à bloguer. Et dans la seconde qui suit, vous vendez de nouveau du Viagra…

Non, la procédure est un peu plus compliquée… On trouve sur le Rayon UX quelques conseils avisés. Également sur le site de Ralf Davidovitz, vous trouverez une procédure détaillée de désinfection et de protection de votre blog WordPress. Dont acte. Après quelques laborieux travaux, quelle fierté de voir ce tableau de bord avec ce beau « Zéro rouge ». C’est encore plus grisant que les résultats négatifs d’un test HIV !

Débusquer un footer malicieux

Autre problème récurrent : les thèmes infectés. Combien de fois avez vous dégotté une template au look mortel mais avec des liens en bas de page que vous voudriez bien supprimer ou modifier. Mais les outils d’édition de WordPress sont inopérant : le « footer » est illisible ! A la place, un charabia plus ou moins long qui ressemble furieusement au virus montré plus haut. Et c’est normal parce que c’en est un !

Il s’agit tout simplement d’une partie du code PHP qui a été crypté pour qu’il ne puisse être modifié par l’utilisateur. Pas très franc du collier ! Et si vous supprimez carrément le code, c’est la cata : plus de footer du tout ou une panne générale… La solution est de rechercher dans les lignes de code « base 64″ ou « eval », d’isoler le bloc « illisible » et décrypter le code.

L’un des avantages du Web 2.0 est qu’on trouve désormais tout les logiciels en ligne. Je veux dire des moulinettes à copier/coller sans qu’il y ait quoique ce soit à installer ni à apprendre… Ce qui est très gratifiant : on se prend pour un cador ! Par exemple, sur ce site, il est possible de décoder le fameux base 64 et voir ce qu’il a dans le ventre. Deux copiés/collés et c’est fait. Ne reste plus qu’à supprimer à la main ce qui vous gène et à recharger le fichier dans la template…

C’est ainsi que j’ai découvert dans MON footer (autant dire dans mes chaussures !) un lien caché vers le sulfureux site Megaupload, fermé depuis. Aaaaaah les « filius » ! Bonjour chez vous et… Bonne chasse !

Publié le Mar 22, 2012

Voir le site pro ?

Tous les tableaux

Tous les articles

19 Commentaires

  1. Denis

    Ca va devenir dangereux de venir te lire 😉
    Ca m’est arrivé une fois ,c’est pas marrant…

    Réponse
    • Francis Le Guen

      N’est ce pas ? Je sais que tu me comprends 😉
      Pour les lecteurs : Denis est Webmaster. Pro, lui… 😆

      Réponse
  2. Denis

    Pour éviter ça, je ne télécharge que des plug in vraiment réputés et archi connus et les templates je les fait moi même.

    Réponse
    • Francis Le Guen

      Tu te rend compte ? Défacé ! A mon age ! Enfin la gloire… Quand à la technique ceinture ET bretelles, j’ajouterais désormais vêtement étanche… J’ai effectivement passé quelques heures dans le ventre de WordPress avec mon aspirateur…

      Réponse
  3. Anthony Leydet

    Ahhh ça me fait plaisir de voir que je ne suis pas le seul… ;p

    Réponse
    • Francis Le Guen

      Ah bon, toi aussi ? C’est une vague sans précédent d’attaques sur les sites européens… En Espagne, c’est pareil. Et tu t’en sors ? Comme le hareng (saur) ?

      Réponse
    • Francis Le Guen

      Attention, il y a une sévère rechute… Sauvegarde ta base de données !

      Réponse
  4. Anthony Leydet

    Je suis dessus depuis deux ou trois jours… mais ça revient à chaque fois !!!
    J’ai les mains dans le cambouis !
    J’ai une sauvegarde propre de mon blog sur mon pc… On va bien voir !

    Réponse
    • Francis Le Guen

      Courage : c’est un cauchemar… Énormément de sites sont attaqués en ce moment. Certains sites pros sont même down depuis 15 jours ! Il y a même un trojan qui attaque les Macs (il entre par la machine virtuelle Java). La mise à jour pour OSX Lion résout le problème, mais quand même ! Alors sur Windows… Je croise les doigts : pour l’instant j’ai réussi à éloigner le Malin. Et verrouillé les admins avec des .htaccess et .htpasswd en acier. Mais je ne fais pas trop le fier… D’autant que je viens de donner à l’instant des informations sensibles aux crackers. Bonjour la parano ! 😆

      Réponse
  5. Anthony Leydet

    Bon… mon phpini.php était infecté… Normalement c’est propre là, je vais voir avec le plugin websitedefender.
    Tu mets quoi comme CHMOD sur tes fichiers et dossiers de wordpress ? Je m’y perds là…

    Réponse
    • Francis Le Guen

      Avec WSD security, onglet « scanner », tu as tous les CHMOD critiques. Si c’est rouge, c’est pas bon 😆
      Ça facilite bien les choses.

      Réponse
  6. Anthony Leydet

    Bon… suis peut-être entrain de m’en sortir 😉
    Je t’embête encore un peu :
    comment tu fais pour changer l’identifiant admin ? Dans les utilisateurs, il est écrit qu’on ne peut pas changer…
    C’est pour « User admin was found! You should change it in order to avoid user enumeration attacks. »
    Après, j’ai plus qu’à changer mon préfixe de bdd… j’ai les mains qui tremblent LOL !

    Réponse
    • Francis Le Guen

      Pour les préfixes de la base de donnée, c’est sans soucis : WSD ou phpMyAdmin le font très bien et c’est réversible.
      Par contre, pour changer l’admin, c’est un peu plus tordu : il faut le supprimer (un suicide :lol:) et en recréer un. En fait, créer un nouveau compte avec les privilèges administrateur, se déloguer et se reloguer avec le nouveau compte. Et supprimer le premier après avoir fait le transfert des signatures de posts. Pas clair ? Bon. Il y a un tuto ici :

      Réponse
      • Anthony Leydet

        Et voilà… me suis suicidé ! Snifff… Heureusement la force de WordPress est avec moi LOL
        SYmpa la vidéo ! MERCI 😉
        Bon maintenant base de donnée !!!

        Réponse
  7. Anthony Leydet

    Et voilà c’est fait ! J’ai tremblé pendant l’opération, mais c’est réussi ! Espérons que le virus ne reviennent pas… Plus rien pour toi ?
    Merci du coup de main 😉 on peut aller plonger tranquille maintenant… du moins j’espère !

    Réponse
    • Francis Le Guen

      Pour l’instant, je suis effectivement chtouillo-négatif… Allez, bon voyage ! Paspot ! Paspot !

      Réponse
  8. Ted

    Je viens de tomber sur ça (connaissais pas) :
    http://www.php-firewall.info/
    Faudra éventuellement regarder un peu les scripts histoire de voir si le gars ne la fait pas à l’envers…

    Réponse
    • Francis Le Guen

      Je ne connais pas non plus. Mais depuis mes différentes attaques, j’utilise Crawlprotect et un .htaccess en acier chromé. Seul désagrément, il faut désinstaller et changer certains Chmod à la main avant de faire des modifs de plugins ou de templates… mais c’est plutôt « sûr » ! Des millions de site WordPress ont été hackés ces derniers mois…

      Réponse

Laissez une réponse à Anthony Leydet Annuler la réponse

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