[RĂ©solu] Des clients o2switch ciblĂ©s par un hack WordPress insidieux – MAJ : L’hĂ©bergeur traite cela de maniĂšre exemplaire

Identification & causes : tout ce qu’il faut savoir 👇

La semaine derniĂšre, je rĂ©vĂ©lais sur LinkedIn un piratage Ă  priori rĂ©pandu chez les possesseurs de sites WordPress hĂ©bergĂ©s chez o2switch. En qualitĂ© d’expert sĂ©curitĂ© WordPress et grĂące Ă  une investigation auprĂšs de quelques confrĂšres touchĂ©s et non touchĂ©s, nous avons pu en apprendre davantage.

MAJ 31/07/2024 – En rĂ©sumĂ©

Selon une source en interne, l’hĂ©bergeur ne serait vraiment pas en cause. L’hypothĂšse d’un entretien insuffisant des sites piratĂ©s resterait ainsi privilĂ©giĂ©e. Toujours selon cette source interne, les moyens mis en place par l’hĂ©bergeur pour dĂ©terminer l’origine prĂ©cise de ce souci sont remarquables (quelques exemples m’ont Ă©tĂ© donnĂ©s, j’approuve la stratĂ©gie). Enfin, mĂȘme si le nombre de sites impactĂ©s peut sembler Ă©levĂ©, il faut mettre cela en perspective avec le parc important d’o2switch : l’impact rĂ©el resterait trĂšs limitĂ© en proportion et la vaste majoritĂ© des clients ne devrait pas ĂȘtre impactĂ©e par ce souci spĂ©cifique.

De plus, le soir du 30/07/2024, o2switch a fait un geste remarquable et trĂšs rare dans le monde des gros hĂ©bergeurs, en nettoyant le hack sur les sites impactĂ©s. Une rĂ©action courageuse qui m’a surpris de la part d’un hĂ©bergeur. En effet, les plus gros hĂ©bergeurs ont plutĂŽt tendance Ă  avoir l’habitude inverse, c’est Ă  dire de laisser les clients se dĂ©brouiller lorsque le souci vient des sites finaux en eux-mĂȘme. L’investissement de l’hĂ©bergeur est rĂ©el ici et suscite mon plus grand respect.

On rappelle qu’en sĂ©curitĂ©, le plus important est la prĂ©vention : faites la maintenance de votre site avec les mises Ă  jour automatiques, de bonnes sauvegardes et n’oubliez pas de d’utiliser les derniĂšres versions de PHP compatibles. Si besoin d’aide pour cela, c’est ma spĂ©cialitĂ© 😉

📄 Mode opĂ©ratoire du hack

Le hack redirige les utilisateurs mobile vers des sites frauduleux, notamment en rapport avec la guerre Ukraine/Russie via un URL shortener hébergé aux Emirats Arabes Unis.

Techniquement il consiste en une injection de code JavaScript obfusquĂ© dans tous les posts WordPress du site. Il est donc chargĂ© dans les pages et articles et parfois dans d’autres plugins comme les plugins de cookies, les plugins d’avis utilisateurs, etc.

Voici un aperçu du code pirate aprĂšs dĂ©-obfuscation, qui permet mĂȘme sans parler ce langage de comprendre que l’action a lieu lors du clic et qu’une URL alĂ©atoire est sĂ©lectionnĂ©e en fonction du « UserAgent », c’est Ă  dire du navigateur utilisĂ© :

Info additionnelle 31/07/2024

La requĂȘte effectuant le hack pourrait ĂȘtre une simple requĂȘte POST sur le fichier index.php du site, comme un log le suggĂšre, qui semble correspondre Ă  un hack effectif depuis une IP amĂ©ricaine (IP et site masquĂ©s) :

Jul-2024:213287:199.195.252.[HIDDEN] - - [27/Jul/2024:20:10:59 +0200] "POST /index.php?s=captcha HTTP/1.1" 200 102292 "https://www.[HIDDEN].fr/index.php?s=captcha" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC LM 8; InfoPath.3; .NET4.0C; .NET4.0E) chromeframe/8.0.552.224"

On voit ici une requĂȘte de 102292 bytes faite sur l’index, ce qui est 100x plus Ă©levĂ© par rapport aux requĂȘtes habituelles de l’ordre de 1000 bytes. D’autant que ce site n’a pas de Captcha… Ce qui est troublant est que la requĂȘte rĂ©sulte en un code 200, ce qui signifie que la requĂȘte est acceptĂ©e, traitĂ©e sans erreur, alors que la visite de cette URL devrait plutĂŽt donner une erreur 404 (Not Found).

🔍 Identification

  • Le hack est parfois mal insĂ©rĂ© dans les articles et s’affiche de maniĂšre textuelle dans le corps des pages au lieu de s’exĂ©cuter
  • La plupart du temps il est invisible, vous pouvez vĂ©rifier si votre site est impactĂ© en recherchant « _0x365b », ou « 0x3023 », ou « function _0x », via l’inspecteur de votre console dĂ©veloppeur Ă  la visite du site, ou via une recherche dans phpMyAdmin
  • Les antivirus Eset et Avast bloquent l’accĂšs aux sites touchĂ©s
  • Update 31/07/2024 – L’un des sites touchĂ©s ne se voit pas via la console dĂ©veloppeur, il faut Ă  la place utiliser l’outil en lignes de commandes « curl » pour observer le code malveillant. Il est possible que cela soit dĂ» au cache du site.

Voici un exemple du code pirate tel que visible depuis la console développeur :

🌐 RĂ©partition du hack

GrĂące Ă  une recherche du pattern du hack sur Google et Bing, j’ai trouvĂ© de nombreux sites infectĂ©s. J’ai contactĂ© l’ensemble des propriĂ©taires des sites pour les alerter, leur conseiller de contacter leur prestataire et leur proposer mon aide si besoin.

  • Sur 40 domaines impactĂ©s, trouvĂ©s en France et en Belgique, 2 seulement ne sont pas chez o2switch – update 30/07/2024 : Certains sites chez OVH, Hostinger et divers hĂ©bergeurs sont aussi touchĂ©s, mais plus rares pour le moment.
  • D’autres fournisseurs de serveurs Ă©trangers sont touchĂ©s mais j’en ai trouvĂ© moins qu’en France.
  • Cela laisse penser Ă  une attaque ciblĂ©e des sites prĂ©sents sur les IP o2switch, que le hacker aurait trouvĂ© via des listes publiques qui rĂ©fĂ©rencent cela. Ce type d’attaques peut cibler n’importe quel hĂ©bergeur qui n’y peut strictement rien. C’est pour cela qu’il faut ĂȘtre pro-actif dans votre sĂ©curitĂ©.

💡 Des causes toujours incertaines

Voici ce qu’on a pu voir et dĂ©duire en recoupant les infos entre confrĂšres :

  • Comme le hack est insidieux, beaucoup ne sont pas diagnostiquĂ©s et dĂ©tectĂ©s rapidement, mais la plus ancienne occurrence semble avoir eu lieu en Mai – update 30/07/2024 potentiellement plutĂŽt en Juillet
  • Cela ne touche pas un plugin ou un thĂšme spĂ©cifique
  • Le plugin Tiger d’o2switch ne semble donc pas non-plus ĂȘtre la cause du problĂšme, car des sites sans ce plugin sont touchĂ©s
  • Les sites touchĂ©s semblent gĂ©nĂ©ralement moins entretenus que les autres, mais c’est le cas de la plupart des sites; et des sites assez bien suivis (peut-ĂȘtre pas assez) sont aussi touchĂ©s
  • La faille exploitĂ©e a pu provenir du core de WordPress lorsque non mis Ă  jour assez rapidement
  • Il est possible que cela provienne de l’utilisation d’une version PHP obsolĂšte dĂ©finie par le gestionnaire de l’hĂ©bergement (client final)
  • Il est possible que la prĂ©sence d’une seconde instance WordPress (une instance de dev par exemple) dans l’hĂ©bergement, qui elle, ne serait pas Ă  jour, puisse dĂ©teindre sur l’instance principale, par manque d’isolation (c’est le mĂȘme hĂ©bergement, le mĂȘme utilisateur systĂšme, les mĂȘmes droits, et il ne semble pas y avoir de rĂšgle open_basedir pour restreindre le rĂ©pertoire au niveau de PHP chez o2switch)
  • Cela ne touche pas les clients d’un serveur spĂ©cifique d’o2switch, ils sont rĂ©partis sur de plusieurs serveurs mutualisĂ©s, et certains serveurs ne sont pas du tout touchĂ©s, laissant entendre un souci marginal (donc pas d’intrusion serveur ou hĂ©bergeur global)
  • Il y a une minuscule probabilitĂ© pour qu’une intrusion ou une faille hĂ©bergeur plus globale aie eu lieu (par exemple une faille dans un paquet systĂšme qui permet le hack), mais nous n’avons aucun Ă©lĂ©ment pour le vĂ©rifier et dans la mesure oĂč o2switch n’a rien signalĂ©, il est plus raisonnable de penser que le souci provient de l’applicatif final (WordPress) ou de la version de PHP utilisĂ©e par le client final.
  • – Update 29/07/2024 Il est enfin possible qu’une faille du serveur web Apache aie Ă©tĂ© exploitĂ©e, soit lorsqu’elle n’Ă©tait pas encore correctement corrigĂ©e, soit car o2switch a trop tardĂ© Ă  mettre Ă  jour ses versions logicielles. Les dates semblent concorder pour les hacks les plus rĂ©cents. LĂ  encore aucune certitude sans une annonce officielle de l’hĂ©bergeur.
  • – Update 31/07/2024 Des failles dans des sous-versions de PHP, notamment dans certaines rĂ©visions de PHP 8.0 pourraient expliquer le piratage. Cela concorde avec les requĂȘtes observĂ©es pouvant causer un buffer overflow et permettre un injection de code. Si les sous-versions de PHP 8.0 de l’hĂ©bergeur ne sont pas Ă  jour, cela explique la possibilitĂ© du hack. Quoi qu’il en soit, le client est fautif si c’est la cause, car on rappelle que PHP 8.0 est dans tous les cas obsolĂšte et ne devrait plus du tout ĂȘtre utilisĂ©. Il n’est d’ailleurs plus disponible Ă  la sĂ©lection sur les hĂ©bergements LRob.
  • Aucun hack Ă  dĂ©plorer sur les hĂ©bergements LRob.

🔹 RĂ©paration du hack

La réparation consiste à nettoyer la base de données en effaçant les lignes correspondant au pattern du hack. Avant toute opération, sauvegardez votre base de données. Les fichiers des sites web ne semblent pas impactés sur ce hack, mais une vérification manuelle complÚte est toujours recommandée comme pour tout hack. Pensez aussi à vider les différents caches pour que le code malveillant en soit également retiré.

Besoin d’aide pour rĂ©parer vos sites et rester sĂ©curisĂ© Ă  l’avenir ? DĂ©couvrez mes services de rĂ©paration et sĂ©curisation WordPress ainsi que mes hĂ©bergements WordPress sĂ©curisĂ©s.

Si vous avez plus d’infos, partagez-les en commentaires ou MP !


6 rĂ©ponses Ă  “[RĂ©solu] Des clients o2switch ciblĂ©s par un hack WordPress insidieux – MAJ : L’hĂ©bergeur traite cela de maniĂšre exemplaire”

  1. Merci Robin pour ton enquĂȘte approfondie !

    Il est temps de prier les dieux du « numérique » :
    Ô grand Zeus, maĂźtre des clouds, toi qui contrĂŽles nos donnĂ©es depuis tes serveurs cĂ©lestes, nous te prions de ne pas laisser nos prĂ©cieux selfies et documents compromettants tomber entre de mauvaises mains. Que ton trĂŽne en titane garde Ă  jamais nos secrets bien au chaud et nos chats bien mignons.

    1. Haha, merci Ă  toi aussi pour l’aide apportĂ©e et les infos trĂšs utiles !
      Si tu souhaites ĂȘtre crĂ©ditĂ© dans l’article ce sera avec plaisir. 👍

  2. Avatar de Odile

    Merci Robin pour ton aide sur mef74.fr
    l »antivirus avast a bloqué trÚs efficacement le malware.
    Apparemment certains ont eu des pop-up de pubs indésirables.
    Sur IPAD(safari) j’ai pu ouvrir le site mais je n’ai rien remarquĂ© de particulier.
    Quant Ă  la version PHP, il semble que Romain ait la version 8.1.29
    faut-il passer Ă  la 8.3.9 ? Si WordPress est compatible?
    Si le hack vient d’un POST sur index.php, est-ce que un ou des comptes sont compromis
    et faut-il changer les passwords ?
    En tout cas j’ai dĂ©couvert ton site et l’ai trouvĂ© trĂšs intĂ©ressant.
    Odile

    1. Avec plaisir Odile, remercie surtout ton prestataire qui a Ă©tĂ© exemplaire dans sa prise en charge. ExtrĂȘmement sympa et intĂ©ressant qui plus est.

      Merci pour l’info d’Avast, je vais l’ajouter Ă  l’article.

      Je n’ai pas vu de popups de mon cĂŽtĂ© mais des redirections. L’effet est quasiment le mĂȘme (du contenu indĂ©sirable s’affiche), mais la terminologie est importante : dans le cas d’un popup, c’est dans une nouvelle fenĂȘtre ou un nouvel onglet, dans le cas d’une redirection, c’est la fenĂȘtre actuelle qui change de site en arrivant sur le site de destination indĂ©sirable. Donc pour ĂȘtre 100% exact, on parle ici de redirection.

      Le hack vĂ©rifiait s’il Ă©tait sur smartphone (plutĂŽt iPhone Ă  priori, mais potentiellement aussi Android), donc l’iPad n’est pas concernĂ© car c’est une tablette. LĂ  aussi cela peut sembler subtile mais la diffĂ©rence compte.

      PHP 8.1 est encore supportĂ© en termes de sĂ©curitĂ©. Pour sĂ»r si ton site est parfaitement Ă  jour avec uniquement des scripts bien supportĂ©s, vous devriez pouvoir passer Ă  PHP 8.2 ou 8.3 sans problĂšme. Les diffĂ©rences sont relativement minimes et la plupart des scripts sont compatibles. Attention simplement en cas de e-commerce, il faut vĂ©rifier plus en dĂ©tails, et plutĂŽt passer de version en version et vĂ©rifier calmement si tout est OK (en examinant notamment les logs du site et en testant les fonctionnalitĂ©s). N’hĂ©site pas Ă  faire le changement, et en cas de souci quelconque il est facile de revenir en arriĂšre, au pire vous aurez une page ou un plugin qui ne fonctionnera pas mais pas d’impact long terme sur une version de PHP trop rĂ©cente, je n’ai jamais vu ça en 10 ans d’hĂ©bergement.

      Enfin, de ce que je sais, le hack prĂ©cis n’a du tout compromis les donnĂ©es des sites ou leurs compte utilisateurs (et administrateurs). Il a simplement ajoutĂ© un vilain bout de code qui faisait cette redirection lors de la visite via un smartphone. Par bonne mesure, le seul mot de passe Ă  changer serait le mot de passe MySQL (intervention technique). Car potentiellement le hacker peut le connaĂźtre, celui-ci semblant nĂ©cessaire pour prodiguer le hack. Le risque est limitĂ© car o2switch ne permet pas la connexion distante aux bases de donnĂ©es, mais cela permet quand mĂȘme d’exploiter des failles si le hacker le connaĂźt et le garde en mĂ©moire.

      Au plaisir d’Ă©changer.

  3. Avatar de CĂ©cile
    CĂ©cile

    Bonjour Robin,
    Super boulot !
    J’ai moi-mĂȘme Ă©tĂ© impactĂ©e et pas trop aidĂ©e par o2. Je me suis un peu dĂ©brouillĂ©e toute seule d’autant que j’Ă©tais dans les premiĂšres avec une version PHP Ă  jour (depuis longtemps) et un site rĂ©guliĂšrement mis Ă  jour, protĂ©gĂ© par Wordfence, avec des mp trĂšs forts… J’ai fait appel Ă  un dev de ma connaissance (mais pas fan de WP) qui avait effectivement rĂ©ussi Ă  trouver ce bout de code mal insĂ©rĂ© puisque visible en dur sur les pages semble-t-il. J’ai restaurĂ© le site a une version assez ancienne pour ĂȘtre sĂ»r de ne rien embarquer dans la restauration mais j’avoue que c’est assez stressant. Aujourd’hui un comportement Ă©trange sur un autre de mes sites sur un autre serveur me fait craindre un nouveau piratage (mon site Ă©tait Ă  la poubelle !!!!). Je suis en train de tout vĂ©rifier Ă  nouveau mais je ne sais pas comment ils ont fait les premiĂšre fois pour entrer donc difficile de faire plus surtout que je ne suis vraiment pas tech.
    VoilĂ , je partage mon expĂ©rience pour d’autres si jamais et je suis dispo si tu souhaitais des infos complĂ©mentaires sur ce qui s’est passĂ© de mon cĂŽtĂ©.

    1. Hello CĂ©cile,
      Merci pour ton commentaire.
      Le code était parfois visible, parfois non (il fallait ouvrir la console développeur).
      Pour le 2e site, il faut voir si le souci est le mĂȘme ou diffĂ©rent.
      Je t’envoie un email pour en discuter en privĂ©

Laisser un commentaire

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

Catégories

HĂ©bergement Web

RĂ©ussissez sur le web

Sécurité, performances, simplicité.
Les meilleurs outils pour vous servir.

HĂ©bergement Nextcloud

Nextcloud

La meilleure suite collaborative libre

Maintenance Incluse

Webmaster Spécialiste WordPress

Gestion de site web WordPress

Webmaster spécialiste WordPress à Orléans

Confiez votre site à un expert en sécurité et maintenance WordPress

fr_FR