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).

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 :

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.


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é :

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 à :

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.

Un examen plus approfondi révèle :

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.


Aspects clés du script
- 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.
- 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.
- 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]]).
- 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.
- 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.

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.









