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 !
Laisser un commentaire