Nouvelle campagne de type Magecart qui utilise des sites Web légitimes de façon abusive pour en attaquer d'autres
Commentaires éditoriaux et additionnels de Lance Rhodes et Emily Lyons
Synthèse
Les chercheurs d'Akamai ont découvert et analysé une nouvelle campagne de web skimming de type Magecart, conçue pour subtiliser des données de cartes bancaires et des informations personnelles (PII) à partir de sites web de commerce digital.
Des victimes ont été identifiées en Amérique du Nord, en Amérique latine et en Europe, et leur taille varie. On estime que certains sites victimes traitent des centaines de milliers de visiteurs par mois, ce qui pourrait exposer des dizaines de milliers d'informations personnelles et de données de cartes bancaires d'acheteurs au risque d'être volées, abusées ou vendues sur le Dark Web.
Les attaquants utilisent un certain nombre de techniques de dissimulation au cours de la campagne, notamment le brouillage Base64 et le masquage de l'attaque pour ressembler à des services tiers populaires, tels que Google Analytics ou Google Tag Manager.
En particulier, les attaquants « piratent » les sites web légitimes pour en faire des serveurs de commande et contrôle (C2) de fortune. Ces « hôtes victimes » servent de centres de distribution de code malveillant, à leur insu, masquant ainsi l'attaque derrière un domaine légitime.
Cette attaque a inclus la possible exploitation de sites Web conçus avec Magento, WooCommerce, WordPress et Shopify, témoignant de la diversité croissante des vulnérabilités et des plateformes de commerce digital susceptibles d'être usurpées.
- Ces types d'attaques de web skimming devenant de plus en plus dissimulés et difficiles à détecter, les spécialistes de la sécurité sont invités à envisager l'utilisation d'outils et de technologies qui permettent de détecter les comportements et les anomalies de l'activité du navigateur.
Introduction
Une nouvelle méthode de skimming de type Magecart a secoué le secteur ces dernières semaines. La principale caractéristique de cette dernière campagne est son utilisation de sites web légitimes compromis pour faciliter la dissimulation d'attaques sur d'autres sites web ciblés derrière leurs domaines authentiques.
La principale vocation d'une attaque Magecart est de subtiliser les informations personnelles et les données de cartes bancaires des pages de paiement des sites web de commerce digital. Ce type d'attaque était principalement exécuté sur la plateforme de commerce digital Magento. Cependant, dans cette campagne et d'autres du même type, les chercheurs d'Akamai ont pu identifier l'exploitation de Magento, WooCommerce, WordPress et Shopify, témoignant ainsi de la diversité croissante des vulnérabilités et des plateformes susceptibles d'être usurpées par les attaquants.
En règle générale, ces attaques sont indétectables avec les méthodes de sécurité web courantes, telles que les Web Application Firewall (WAF) et sont exécutées côté client. Les attaques de Magecart peuvent ainsi passer inaperçues pendant de longues périodes.
Ces dernières semaines, nous avons identifié une campagne active et continue, exploitant une infrastructure et des capacités sophistiquées pour mener des attaques de web skimming de type Magecart, et découvert de nombreux sites web de commerce digital qui sont victimes de cette campagne. Il est raisonnable de supposer que d'autres sites web légitimes ont été exploités dans le cadre de cette vaste campagne.
Une attaque à grande échelle et à long terme
Sans surprise, cette campagne vise principalement les organisations commerciales. L'ampleur de l'attaque est toutefois remarquable. Certaines organisations victimes reçoivent des centaines de milliers de visiteurs par mois. Des milliers, voire des dizaines de milliers, pourraient être victimes du vol de données de cartes bancaires et d'informations personnelles.
Pour de nombreuses victimes, l'attaque est passée inaperçue pendant près d'un mois, ce qui augmente le risque de dommages. En outre, les chercheurs d'Akamai observent les effets de la campagne sur les entreprises aux États-Unis, au Royaume-Uni, au Brésil, en Espagne, en Australie, en Estonie et au Pérou.
Les attaques de web skimming peuvent être très nuisibles pour les organisations de commerce digital. La perte d'informations personnelles et de données de cartes bancaires peut, entre autres répercussions, nuire à la réputation de l'entreprise. Bon nombre des attaques de type Magecart les plus médiatisées n'ont pas été détectées pendant des mois, voire des années. Sur les 9 290 domaines du commerce digital qui ont subi des attaques de type Magecart en 2022, 2 468 sont restés activement infectés à la fin de l'année, ce qui représente une menace considérable pour les organisations commerciales.
Le piratage avant le piratage : configuration de l'infrastructure d'attaque
La campagne se distingue notamment par la façon dont les attaquants ont mis en place leur infrastructure pour mener la campagne de web skimming. Avant de pouvoir véritablement lancer la campagne, les attaquants recherchent des sites web vulnérables qui serviront d'« hôtes » pour le code malveillant qui sera utilisé ultérieurement pour créer l'attaque de web skimming.
Plutôt que d'utiliser leur propre serveur C2 pour héberger le code malveillant, qui peut être signalé comme un domaine malveillant, les attaquants utilisent des vulnérabilités ou tout autre moyen à leur disposition pour pirater un site vulnérable et légitime, tel qu'un site de vente au détail de petite ou moyenne taille, et y cachent leur code. Ainsi, les attaquants créent un hôte apparemment sain pour leur code malveillant et sont en mesure de le transmettre à la victime de leur choix.
En substance, cette campagne crée deux groupes de victimes.
- Les hôtes victimes : il s'agit des sites web légitimes qui sont piratés dans le but d'héberger le code malveillant utilisé dans l'attaque. Les attaquants utiliseront ensuite ces sites pour transmettre leur code au cours d'une attaque. Comme ces sites fonctionnent normalement comme des entreprises légitimes, ils sont moins susceptibles d'éveiller les soupçons lorsqu'ils se connectent à une victime. Ces sites font alors partie de l'infrastructure de l'attaque, se comportant essentiellement comme un serveur contrôlé par un attaquant. L'intention est de dissimuler l'activité malveillante derrière un domaine jouissant d'une bonne réputation.
- Les victimes du web skimming : il s'agit des sites web de commerce vulnérables qui sont ciblés par une attaque de web skimming de type Magecart par les attaquants. Au lieu d'introduire directement le code d'attaque dans les ressources du site web, les attaquants utilisent de petits fragments de code JavaScript comme chargeurs pour récupérer le code d'attaque complet du site web de l'hôte victime, ce qui leur permet de dissimuler plus efficacement la majorité du code malveillant utilisé dans l'attaque.
Bien que l'on ne sache pas vraiment comment ces sites sont piratés, nos récentes recherches de campagnes similaires antérieures ont révélé que les attaquants recherchent généralement des vulnérabilités dans la plateforme de commerce digital des sites web ciblés (comme Magento, WooCommerce, WordPress, Shopify, etc.) ou dans les services tiers vulnérables utilisés par le site web.
D'après les observations des chercheurs d'Akamai, un petit nombre de sites web sert d'hôtes victimes. Il semble qu'il s'agisse principalement de sites web de commerce. Dans certains cas, les sites web exploités semblent avoir été piratés à deux reprises. Tout d'abord, ils sont utilisés comme hôtes pour le code malveillant, comme mentionné précédemment. Ensuite, ils sont eux-mêmes soumis à une attaque de web skimming de type Magecart, les exposant au risque de vol d'informations des utilisateurs. Ils ont non seulement été compromis et exposés au risque de vol de données par le code injecté, mais ils ont également servi à leur insu de vecteur de diffusion des activités malveillantes du skimmer sur d'autres sites web vulnérables.
Utilisation de la notoriété et de la confiance inhérente
Au cours de notre enquête, nous avons également découvert certains sites qui, selon nous, pourraient être de faux sites web, pouvant avoir été créés par l'attaquant. Ils semblent fonctionner comme des sites web de hameçonnage, imitant de petits magasins de détail, en utilisant des domaines qui ressemblent étroitement à ceux des sites légitimes originaux.
La pratique consistant à utiliser des domaines exploités à partir de sites web légitimes offre plusieurs avantages à l'attaquant lorsqu'il s'agit de dissimuler ses activités malveillantes. En se cachant derrière des domaines à la notoriété bien établie et aux associations positives, le skimmer crée un écran de fumée qui rend de plus en plus difficile d'identifier l'attaque, et d'y répondre.
L'utilisation de domaines de site web légitimes permet de s'appuyer sur la confiance inhérente que ces domaines ont acquise au fil du temps. Les services de sécurité et les systèmes de notation de domaine attribuent généralement un niveau de confiance plus élevé aux domaines ayant une expérience reconnue et un historique d'utilisation légitime. Par conséquent, les activités malveillantes menées dans ces domaines ont plus de chances de ne pas être détectées ou d'être considérées comme bénignes par les systèmes de sécurité automatisés.
La divulgation nécessitant la confirmation et la coopération des organisations, nous ne sommes pas en mesure de divulguer les domaines des sites web légitimes qui ont été exploités et utilisés pour héberger des attaques sur d'autres sites web ciblés.
Juste sous nos yeux : chargement du code malveillant sur les sites web victimes
Une fois l'infrastructure définie, les attaquants recherchent des cibles dotées de plateformes de commerce digital vulnérables ou des services tiers vulnérables afin d'injecter le code du web skimmer. L'attaquant utilise une technique astucieuse en injectant un extrait de code JavaScript en ligne (ce qui signifie que le script est intégré au code HTML et non chargé à partir d'un fichier externe) dans les pages de sites web exploités. Cet extrait sert de chargeur, récupérant le code malveillant complet des sites web hôtes qui ont été définis à l'étape précédente.
La structure de l'extrait injecté est intentionnellement conçue pour ressembler à des services tiers populaires tels que Google Tag Manager ou Facebook Pixel. Cette approche s'est popularisée dans les campagnes de web skimming au cours des dernières années, car elle aide le code malveillant à se fondre en toute transparence, masquant ses véritables intentions.
De plus, pour masquer l'URL des sites web exploités hébergeant le code d'attaque complet, le skimmer utilise le codage Base64 (figure 1). Les skimmers ont largement privilégié cette technique, car elle masque de manière efficace les origines et le but du code.
En agissant ainsi, l'attaquant utilise trois méthodes pour éviter la détection.
Brouillage du domaine utilisé dans l'attaque
Masquage intelligent du chargeur sous la forme d'un script ou d'un fournisseur tiers légitime
Réduction de la quantité de code malveillant à injecter dans la page en extrayant la majorité du code de sources autres, ce qui réduit considérablement le risque que le code soit découvert
Une fois le chargeur injecté, les informations personnelles et les données de cartes bancaires de tout utilisateur tentant d'effectuer un paiement sur le site victime du web skimming seront dérobées, puis envoyées au serveur C2 des attaquants.
Analyse du code : attaque de Magecart brouillée
Au cours de notre analyse, nous avons identifié deux variantes distinctes du code du skimmer.
La variante initiale présentait un niveau élevé de brouillage, ce qui a compliqué la tâche lorsque nous avons tenté de déchiffrer son flux et sa structure logique. L'attaquant utilise la tactique du brouillage pour interférer avec le débogage et la recherche, rendant délibérément difficile la compréhension de la séquence précise de l'attaque.
Largement adoptée par les diverses attaques de web skimming, la pratique du brouillage de code malveillant a gagné en popularité dans de nombreuses campagnes au cours des dernières années (figure 2).
Après avoir décodé les chaînes Base64 intégrées au code brouillé, nous avons découvert une liste de sélecteurs de feuilles de style en cascade (CSS, Cascading style Sheets). Ces noms de sélecteur indiquaient explicitement que le skimmer ciblait les champs de saisie des informations personnelles et des données de cartes bancaires.
La présence de ces sélecteurs CSS dans le code décodé constitue une preuve absolue de l'intention malveillante du skimmer. En ciblant spécifiquement les champs de saisie des données utilisateur sensibles, les objectifs du skimmer sont clairs : intercepter et exfiltrer les informations personnelles et les données de cartes bancaires à des fins illégales. Cela évoque également le niveau de collecte de renseignements : pour que ces champs de saisie correspondent, l'attaquant doit « adapter » le code à chaque victime (figure 3).
La deuxième variante du code malveillant découvert lors de cette campagne présentait moins de brouillage, le rendant plus compréhensible et plus facile à analyser. Comme dans la première variante, les chaînes susceptibles de révéler les intentions du code étaient codées en Base64, ce qui nous a permis de déchiffrer facilement leur signification (figure 4).
La deuxième variante est plus intéressante de par la présence de certains indicateurs dans le code ; ces indicateurs sont de précieux indices qui nous ont permis d'identifier d'autres sites web victimes et des cas associés à cette campagne.
Exfiltration des données volées
Le processus d'exfiltration des données volées est exécuté par le biais d'une simple requête HTTP, qui est lancée en créant une balise IMG dans le code du skimmer. Les données volées sont ensuite ajoutées à la requête sous forme de paramètres de requête, codés sous forme de chaîne Base64 (figure 5).
Pour brouiller les données transmises, le skimmer les code sous la forme d'une chaîne Base64. Cette technique de codage constitue une couche de camouflage, ce qui rend plus difficile pour les systèmes de sécurité et les outils de surveillance réseau d'identifier que les informations sensibles sont exfiltrées. Une fois que les données codées en Base64 atteignent le serveur de l'attaquant, elles peuvent facilement être décodées dans leur format d'origine, ce qui permet d'afficher les informations personnelles et les données de cartes bancaires volées.
L'exfiltration ne se produira qu'une seule fois pour chaque utilisateur réglant une commande. Une fois que les informations d'un utilisateur sont volées, le script marquera le navigateur pour s'assurer qu'il ne vole pas deux fois les informations (afin de limiter le trafic réseau suspect). Cela augmente encore le caractère évasif de cette attaque de type Magecart.
Recommandations et mesures d'atténuation en matière de sécurité
Pour implanter un code de web skimming, les attaquants devront obtenir un accès initial au serveur soit en exploitant une vulnérabilité, soit en utilisant l'un des scripts tiers existants de façon abusive. Pour empêcher cet accès initial au serveur, les spécialistes de la sécurité sont invités à déployer les correctifs les plus récents et à les compléter en implémentant un WAF.
Toutefois, la complexité, le déploiement, la flexibilité et la distribution des environnements d'applications web actuels, ainsi que les diverses méthodes dont disposent les attaquants pour installer des web skimmers, nécessitent des solutions de sécurité plus adaptées, pouvant fournir une visibilité sur le comportement des scripts exécutés dans le navigateur et offrir une protection contre les attaques côté client.
Une solution appropriée doit être appliquée au plus près de l'endroit où se produit l'attaque réelle contre les clients. Elle doit être en mesure d'identifier les tentatives de lecture des champs de saisie des données sensibles ainsi que l'exfiltration des données (dans nos tests, nous avons utilisé Akamai Page Integrity Managerpar exemple). Nous recommandons de recueillir correctement ces événements pour faciliter l'application de mesures d'atténuation rapides et efficaces.
Conclusion
Cette campagne nous rappelle que le web skimming demeure une menace de sécurité critique, les acteurs malveillants faisant constamment évoluer leurs tactiques pour dissimuler leurs activités et rendre la détection plus difficile. Les nouvelles exigences en matière de sécurité des scripts énoncées dans la norme PCI DSS v4.0 font également écho à cette déclaration, qui demandent désormais que toute organisation traitant avec des cartes de paiement en ligne dispose de mécanismes pour détecter ces types d'attaques, et pour y répondre.
La principale solution pour lutter efficacement contre le web skimming repose sur l'utilisation d'outils et de technologies de détection des comportements et des anomalies, comme Akamai Page Integrity Manager. Les outils d'analyse statique traditionnels s'avèrent inadéquats dans la lutte contre les web skimmers, car ces derniers modifient continuellement leurs méthodes et emploient des techniques de plus en plus sophistiquées qui peuvent échapper à l'analyse statique.
Nous allons probablement continuer à rencontrer des campagnes similaires, car ce jeu du chat et de la souris risque de perdurer. Alors que la bataille entre les défenseurs et les attaquants fait rage dans le domaine du web skimming, il est essentiel de rester proactif et d'investir dans des mesures de sécurité innovantes. En adoptant des technologies de détection avancées qui s'adaptent à l'évolution des vecteurs d'attaque, les entreprises peuvent mieux protéger leurs plateformes en ligne, protéger les données utilisateur et préserver la confiance de leurs clients. La poursuite de la recherche, de la collaboration et de la vigilance sont essentielles dans la lutte continue contre les menaces de web skimming.
Le groupe SIG (Security Intelligence Group) d'Akamai continuera à surveiller cette activité et à fournir des informations précieuses à nos clients et à la communauté en général. Pour plus d'informations en temps réel sur les vulnérabilités et d'autres recherches sur la sécurité, suivez-nous sur Twitter.
Mise à jour le 7 juin 2023 : Akamai a mis à jour cet article de blog afin de préciser que certaines des plateformes mentionnées, telles que Magento, WooCommerce, WordPress et Shopify, sont des cibles d'exploitation potentielles.
Indicateurs d'infection
Domaines d'exfiltration :
byvlsa[.]com
chatwareopenalgroup[.]net