Skip to main content
Blog
Blog

Attaque JavaScript Magecart côté client chez Cisco

Un jour de plus, une nouvelle attaque JavaScript côté client très médiatisée. Ce matin, nous avons appris que Cisco est la prochaine victime d'un code malveillant chargé

Sep 06, 2024 7 min read
cisco-client-side-image-cover

En bref : rextension.net, un domaine skimmer vieux de sept jours

  • Le budget n'a rien changé : Cisco prouve qu'un gros budget sécurité ne vous met pas à l'abri d'un domaine attaquant vieux de sept jours. Les listes de réputation étaient vides. La machine Magento avait un CVE de retard. Cela a suffi.
  • Un domaine vieux de sept jours : Le domaine rextension[.]net avait sept jours lorsqu'il a siphonné les champs de carte authnetcim de la boutique marchande de Cisco, puis chiffré le butin en AES avant exfiltration. cside signale automatiquement les domaines de scripts fraîchement enregistrés, de sorte que ce même stratagème déclenche une alerte avant la fuite de la première carte.
  • Corrigez et vérifiez l'âge des scripts : Si vous exploitez Magento Enterprise 2.4, corrigez CosmicSting et auditez les scripts du checkout cette semaine. Si l'application du correctif est bloquée derrière une fenêtre de changement, mettez en place un contrôle d'âge des scripts en amont du checkout comme mesure temporaire.

Peu de temps ? Découvrez le blocage in-browser des Magecart et skimmers de cside. Elle couvre tout ce qui suit en un seul déploiement.

Un jour de plus, une nouvelle attaque JavaScript côté client très médiatisée. Ce matin, nous avons appris que Cisco est la prochaine victime d'un code malveillant chargé via un script tiers.

Le site web Cisco Merchant fonctionne sur le framework Magento Enterprise, largement utilisé par les sites de commerce électronique. Magento offre une plateforme robuste et évolutive, mais comme tout système, elle est vulnérable à l'exploitation si les correctifs de sécurité et les mises à jour ne sont pas appliqués à temps. La version exacte de Magento utilisée au moment de l'attaque était Magento 2.4 (Enterprise).

Détection Wappalyzer de Magento 2.4 Enterprise fonctionnant sur le site de Cisco

Les attaques ciblant les frameworks Magento ont, au fil du temps, obtenu leur propre surnom : les attaques Magecart.

Les attaquants utilisent un script tiers qui insère du code malveillant, souvent via un domaine, pour voler des informations de carte bancaire et des données personnelles. Les sites de commerce électronique sont souvent une cible de ces attaques.

Pour des informations plus détaillées sur les vulnérabilités liées à Magento, consultez ces liens :

Le script malveillant décodé

Au cours de notre analyse, nous avons découvert le script injecté suivant sur le site web :

Balise de script injectée chargeant du code malveillant depuis rextension.net

Ce script, hébergé sur le domaine

rextension[.]net/za/, associé à une adresse IP située en Russie (82.202.163.229), s'est avéré récupérer du code obfusqué supplémentaire. Le domaine avait été enregistré récemment, le 30 août 2024, ce qui en faisait un domaine de seulement 7 jours au moment de notre analyse, le 6 septembre 2024.

Charge utile obfusquée initiale récupérée depuis le domaine rextension.net

Requête WHOIS plaçant le domaine rextension.net sur une IP russe

Pourquoi c'est important

  • L'enregistrement récent du domaine soulève des signaux d'alarme, car il pourrait indiquer une opération éphémère conçue pour une exploitation rapide avant d'être abandonnée.
  • Des scripts obfusqués comme celui-ci sont difficiles à détecter sans surveillance spécialisée, ce qui les rend particulièrement dangereux tant pour les propriétaires de sites web que pour leurs clients.

Comment cside aurait stoppé cette attaque

Si le site marchand de Cisco avait eu cside en place, notre moteur de détection aurait capté cette attaque. L'un de nos systèmes vérifie les domaines nouvellement enregistrés et, lors de nos tests, notre moteur a détecté ce cas et alerté l'utilisateur de cette anomalie. Le script lui-même a été empêché de se charger dans le navigateur de l'utilisateur test, stoppant cette attaque avant qu'elle ne puisse avoir lieu. Voici quand ce domaine a été enregistré (lien sûr).

Inscrivez-vous gratuitement et protégez votre site en quelques secondes.

Désobfuscation du script étape par étape

Le script récupéré était fortement obfusqué, ce qui rendait son analyse difficile. Voici seulement une partie du code obfusqué :

JavaScript fortement obfusqué extrait de la page Cisco compromise

Le script ci-dessus est du JavaScript obfusqué sur plusieurs couches, chargé dans un débogueur.

L'obfuscation est une méthode utilisée pour rendre le code difficile à comprendre, généralement pour dissimuler sa fonctionnalité ou protéger des données sensibles. Cependant, pour les analystes, développeurs ou chercheurs en sécurité, comprendre la fonctionnalité sous-jacente est essentiel et légal.

Nous avons placé un point d'arrêt à :

Débogueur du navigateur arrêté au premier point d'arrêt dans le script obfusqué

Nous avons exécuté le script et, après quelques décodages, nous avons obtenu deux JavaScript décodés intermédiaires.

Le premier niveau d'obfuscation est une fonction qui prend un argument (décodé juste avant le script) et le transforme à l'aide de diverses méthodes JavaScript, telles que la manipulation de chaînes et l'encodage de caractères.

Première couche du script Magecart obfusqué après un décodage partiel

Un examen plus approfondi révèle :

Débogueur du navigateur arrêté au deuxième point d'arrêt dans le script obfusqué

La version finale décodée :

Cet extrait confirme que le script cible les champs de carte de paiement, mais il reste partiellement obfusqué, avec des fonctions comme _0xDCAD et _0xDBA3. Ces fonctions manipulent encore davantage le contenu, et après plusieurs couches de décodage supplémentaires, le script final émerge.

Extrait JavaScript final décodé ciblant les champs du formulaire de carte bancaire

Dernière couche décodée du script de vol de carte bancaire obfusqué

Aspects clés du script

  1. Obfuscation : le script est fortement obfusqué, utilisant des fonctions comme _0xDCAD, _0xDBB6, _0xDBC9 pour créer plusieurs niveaux d'encodage et d'obfuscation. C'est typique des logiciels malveillants ou des scripts cherchant à cacher leur fonctionnalité réelle.
  2. Collecte des entrées : le script collecte des informations à partir d'éléments d'entrée HTML identifiés par des sélecteurs CSS tels que #authnetcim-cc-number, #authnetcim-cc-exp-month, #authnetcim-cc-exp-year, et #authnetcim-cc-cid. Ce sont typiquement des champs où les utilisateurs saisissent des informations de paiement sensibles.
  3. Traitement des données :- Les données collectées (numéro de carte de crédit, date d'expiration, CVV, etc.) sont rassemblées dans l'objet ffewq.
  • Le script chiffre ensuite ces informations en utilisant le chiffrement AES (via des fonctions comme encrypt, decrypt, round, etc.).
  • Une fois chiffrées, les données sont envoyées à un serveur via des appels jQuery.ajax() (visibles dans la section jQuery[_0xDB90[51]]).
  1. Chiffrement : le script utilise l'AES (Advanced Encryption Standard) pour sécuriser les données avant de les envoyer. Cela inclut plusieurs fonctions gérant la logique de chiffrement AES (addRoundKey, mixColumns, encrypt, etc.), qui sont des composants standards d'un processus de chiffrement AES.
  2. Exécution périodique : le script est conçu pour s'exécuter à intervalles réguliers (setInterval(_0xDBA3, 100);) afin de vérifier ou d'envoyer en continu les données collectées.

Sachez que le tableau de bord cside effectue ce processus pour vous, en désobfusquant les scripts pour les rendre plus faciles à lire et à analyser.

Tableau de bord cside affichant le contenu désobfusqué du script jsDelivr

Ce qui s'est passé lors de cette attaque

L'une des vulnérabilités possibles ayant pu être exploitée lors de cette attaque est connue sous le nom de CosmicSting. Il s'agit d'une faille connue de la plateforme Magento, documentée et étudiée. Vous pouvez en lire davantage sur la recherche de SanSec sur CosmicSting.

Des attaques côté client comme celle-ci peuvent être dévastatrices tant pour les entreprises que pour les clients. Appliquez les correctifs rapidement, surveillez les activités suspectes et utilisez des outils comme cside pour détecter ce que l'application des correctifs seule ne suffit pas à couvrir.

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

FAQ

Frequently Asked Questions

Les attaquants ont exploité une vulnérabilité de Magento 2.4, très probablement CosmicSting, pour injecter un script obfusqué dans la page. Le script était hébergé sur le domaine récemment enregistré rextension.net et siphonnait les données de cartes bancaires depuis le formulaire de paiement.

Le domaine de l'attaquant n'avait que sept jours au moment de l'analyse, aucun threat feed ne l'avait donc encore signalé comme malveillant. La surveillance côté client détecte le comportement — un script qui se met soudain à lire les champs de carte bancaire — plutôt que de s'appuyer sur une réputation de domaine qui n'existe pas encore.

Surveillez et sécurisez vos scripts tiers

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Commencez gratuitement, ou essayez Business avec un essai de 14 jours.

Interface du tableau de bord cside affichant la surveillance des scripts et les analyses de sécurité
Related Articles
Réserver une démonstration

Envie de passer tout ça en revue avec un ingénieur ?

Trente minutes, sur votre propre site. Pas de slides.

Nous vous montrerons :

Quels scripts tiers s'exécutent actuellement sur votre site
Où vous en êtes sur les exigences PCI DSS 6.4.3 et 11.6.1
Quelle part de votre trafic provient de bots et d'agents IA

Vous préférez simplement poser une question ?

Recherche de créneaux…

Humains uniquement. On le saurait.

Un problème pour réserver ? Ouvrir le calendrier dans un nouvel onglet

Quel problème cherchez-vous à résoudre ?

Dites-le-nous en une ligne et nous reviendrons vers vous avec quelque chose d'utile, pas un discours générique.

Nous aidons souvent sur :

Voir quels scripts tiers s'exécutent sur votre site
Les preuves pour PCI DSS 6.4.3 et 11.6.1
Les bots, les agents IA et le vol de comptes

Vous préférez réserver un créneau ? Choisir un créneau