France : infiltration de boutiques en ligne
ZATAZ a constaté l’infiltration de plusieurs boutiques françaises opérant sur Internet. Avec la rentrée des classes, soyez prudents avec vos données bancaires, même sur des sites légitimes. Explications, démonstrations et protections !
✨ LES INFOS DE LA SEMAINE, CHAQUE SAMEDI, PAR COURRIEL ! ✨
✨ Ne manquez rien ! Abonnez-vous et restez informé ! ✨
Vous êtes sur un site web légitime, sécurisé (vous voyez le petit HTTPS) et bien connu du grand public. Une enseigne de cosmétique, un site d’achat de produits pour la rentrée scolaire ou encore votre association sportive préférée. Vous fournissez vos données, voire même, vous payez avec votre carte bancaire. Tout se passe bien, votre commande est validée, et quelques jours plus tard, vous recevez votre produit. Fin de l’histoire !
Sauf que…
Pendant la validation de votre commande, un code malveillant, caché dans votre boutique préférée, a déclenché une série d’actions malveillantes ayant pour objectif le vol de vos données personnelles et bancaires. Comment est-ce possible ? Voici ce qui vient de se passer.
Le pirate infiltre la boutique et modifie le code source d’une page, en l’occurrence celle de la validation de commande. Le script pirate intercepte ce que vous tapez et validez dans la boutique légitime et les envoie sur un serveur créé par le pirate, quelque part dans le monde. Le serveur va recevoir toutes les données.
Comment ça marche ? Dans notre cas, le code malveillant est un skimmer web, un intercepteur de données bancaires. C’est le même principe que les skimmers de cartes bancaires, dans la vie réelle : de petits boîtiers collés à un distributeur de billets qui copient les informations de votre carte bancaire et interceptent le mot de passe que vous avez tapé. L’interception se fait soit par le biais d’une mini caméra qui filme vos mains, soit par un faux clavier collé sur les touches officielles.
Dans le cas de notre skimmer web, il s’agit de gtag. Un chercheur de Sucuri a d’ailleurs publié un article de blog sur le sujet, en juin 2024. Baptisé Caesar Cipher Skimmer, le code malveillant fonctionne sur tous les CMS (WordPress, SPIP, Magento et OpenCart). Il s’agit d’un script qui cache ses fonctions pour ne pas être repéré trop rapidement.
ZATAZ l’a détecté sur plusieurs sites français, aux quatre coins de l’hexagone, de Lille à Marseille. Le script utilise une technique pour masquer l’adresse d’un serveur WebSocket. Pour comprendre ce qui se cache derrière les chiffres dans la variable ycjg, voici une analyse pas à pas.
RECEVEZ LES INFOS ZATAZ DIRECTEMENT SUR VOTRE TÉLÉPHONE ✨✨
Abonnez-vous maintenant et restez à la pointe de l’info ! ✨
Explication du script
La variable ycjg correspond à un tableau de nombres qui a été obfusqué. Cela signifie que les nombres ont été modifiés d’une manière ou d’une autre pour cacher leur véritable signification. Ici, un serveur qui réceptionne les données copiées des clients.
La variable yccv est ce nombre (ici 42). Il est utilisé pour désobfusquer les valeurs de ycjg.
La transformation des valeurs se fait sous la forme d’une méthode vielle… comme Casar: Chaque nombre dans ycjg est « XORé » avec la valeur yccv pour obtenir les caractères de l’adresse WebSocket.
Construction de l’adresse : Les valeurs désobfusquées sont ensuite converties en caractères ASCII via String.fromCharCode(…), formant ainsi une chaîne de caractères constituant l’adresse du serveur WebSocket. Dans notre cas : cdn.iconstaff[.]top.
Comment ai-je découvert l’URL ? Je vous ai écrit un petit code qui vous permet de désobfusquer le contenu. Pour découvrir ce qui se cache derrière les chiffres, il faut appliquer l’opération XOR avec yccv (42) sur chaque valeur du tableau ycjg.
En exécutant ce code, j’obtiens l’adresse du serveur WebSocket que ce script tente de cacher. Ce genre de pratique est souvent utilisé pour éviter une détection facile par des scanners ou pour rendre le code plus difficile à comprendre pour quelqu’un qui ne sait pas comment le déchiffrer. Une méthode utilisée pour des activités malveillantes. À noter que la partie [?source=] inclut une source supplémentaire, l’URL de la boutique à partir de laquelle le script est exécuté.
Pour se protéger ? Il est fortement conseillé au client d’exploiter des cartes unique de paiement. Un montant, pour un achat. Même en cas d’interceptions des informations bancaires par le pirate, il ne pourra pas détourner l’argent. Attention, il aura les autres informations que vous aurez fourni. D’où l’intérêt de bonnes pratiques expliquées sur cybervictime.net. Par exemple, utiliser une adresse électronique éphémère ou dédiée uniquement au site exploité. (Merci à Vincent pour la primo alerte)
Bonjour,
Est-il possible de nous donner les noms des sites impactés par ces infiltrations s’il vous plaît ? Nous n’avons pas les compétences pour les identifier et encore moins les moyens de changer nos modes de paiements.
Merci d’avance pour votre retour.
Cordialement.
Bonjour,
Prestashop a contacté ZATAZ.
L’équipe de Presta a reçu l’ensemble des données permettant de protéger les boutiques et les clients.
Par éthique, je ne fournirai pas ici, de suite, les noms des boutiques. Je préfère qu’elle communique par elle même.
Bien cordialement
Les boutiques en ligne (ou plutôt leurs prestataires de paiement) refusent de plus en plus souvent les cartes virtuelles et les cartes unique de paiement. Cela fait un moment que je ne peux plus me servir de cette fonctionnalité chez Revolut par exemple, la transaction étant systématiquement refusée.
Bonjour,
Merci pour cette précision.
Il y a de forte chance que certaines banques en ligne, pour éviter le blanchiment d’argent, restreigne cette possibilité de CB. Je vais me renseigner pour vous en dire plus rapidement.