Actualités

Les pirates UltraRank volent des cartes de crédit dans des centaines de magasins

Un groupe de cybercriminels spécialisé dans l’infection de boutiques en ligne pour voler des données de cartes de paiement sont responsable de la compromission de près de 700 sites Web et de plus d’une douzaine de fournisseurs de services tiers.

Nommé UltraRank, le gang est actif depuis au moins 2015, utilisant plusieurs skimmers Web, du code JavaScript malveillant également connu sous le nom de SnifferJS.

Le gang vend les informations de paiement volées via un magasin de cartes sur le darknet, ce qui rapporte des dizaines de milliers de dollars américains de bénéfices hebdomadaires.

Séparer les campagnes de malwares

Les chercheurs en sécurité de Groupe-IB affirment qu’UltraRank a changé de tactique et d’infrastructure plusieurs fois au fil des ans. Cela a rendu difficile pour les enquêteurs de relier les opérations et a conduit leurs campagnes à être associées à des groupes distincts.

Dans un rapport technique de cette semaine, les chercheurs fournissent la preuve qu’UltraRank est l’acteur derrière les incidents attribués aux groupes Magecart 2, 5 et 12.

« UltraRank est allé bien au-delà de la notion d’opérateurs de Sniffer JS ordinaires, ayant développé un modèle d’entreprise autonome avec une structure technique et organisationnelle unique » – Group-IB

Dans trois campagnes à long terme lancées en 2015, 2016 et 2018, le gang a pu implanter des Sniffer JS sur 691 sites Web individuels à fort trafic, comme les revendeurs de billets d’événements sportifs.

Cependant, ce chiffre est prudent compte tenu du piratage par le groupe de 13 fournisseurs de services Web (conception, marketing, développement, publicité, notification navigateur) probablement utilisés par des milliers de sites à travers le monde.

« En injectant du code malveillant dans les scripts des produits proposés par ces sociétés, qui ont ensuite été placés sur les ressources Web des boutiques en ligne, les cybercriminels ont pu intercepter les données de la carte bancaire des clients sur toutes les boutiques en ligne où les scripts infectés étaient utilisés » – Groupe -IB

Parmi ces victimes figurent l’ annonceur en ligne français Adverline et The Brandit Agency, une société de publicité / marketing qui développe également des sites Web exploitant la plateforme de commerce électronique Magento.

Les indices

Les trois campagnes de cet acteur reposaient sur des Sniffer JS que Group-IB appelle FakeLogistics, WebRank et SnifLite. Ils partagent certaines fonctionnalités et infrastructures communes qui ont permis de traquer les activités malveillantes jusqu’aux premières attaques du groupe:

  • méthodes similaires pour masquer l’emplacement du serveur et les modèles d’enregistrement de domaine
  • stocker le même code malveillant à plusieurs endroits avec des noms de domaine différents
  • mélange d’attaques de chaîne d’approvisionnement et d’attaques à cible unique

Le point de départ de l’enquête était l’hôte « toplevelstatic[.]Com » qui hébergeait un sniffer JS utilisé pour compromettre l’agence Brandit. Le même domaine stockait des fichiers qui étaient présents dans d’autres emplacements et utilisés dans des attaques contre d’autres magasins en ligne.

Bien que Group-IB soit convaincu qu’UltraRank gère ces trois opérations, les chercheurs ont déclaré à que l’acteur pourrait également être impliqué dans d’autres campagnes.

Deux autres opérations nommées par les chercheurs OldGrelos et LoadReplay utilisaient du code JavaScript et injecteur similaire à la famille de Sniffer WebRank.

UltraRank a tiré un joli profit de cette activité. À partir de statistiques publiées par un forum de vente de données de cartes volées, Group-IB a appris que les pirates avaient gagné jusqu’à 50000 dollars en une seule semaine à la fin de 2019.

La monétisation a été possible grâce à ValidCC, une boutique bien connue qui vend des données de paiement volées. La collaboration avec le magasin illégal va cependant au-delà de la vente de cartes, car UltraRank a également utilisé son infrastructure pour attaquer les sites Web de phishing se faisant passer pour ValidCC.

Les preuves techniques montrent clairement le lien entre UltraRank et ValidCC. Un certificat SSL pour trois domaines utilisés par la boutique qui était également présent sur l’infrastructure d’UltraRank.

La coopération entre les marchés spécialisés et les gangs qui volent des cartes bancaires dans les boutiques en ligne montre que les cybercriminels ont organisé et affiné leurs opérations pour obtenir les bénéfices les plus élevés.

Victor Okorokov, analyste du renseignement sur les menaces chez Group-IB, déclare que les SnifferJS [Magecart] sont une évolution des outils permettant de compromettre les données des cartes bancaires, rendant les attaques moins gourmandes en ressources.

zerovirus

Professionnel de informatique et passionné par la sécurité informatique, je travaille depuis plus de 15ans avec des particuliers et professionnels dans le but les former et de sécuriser leur environnement informatique.

Articles similaires

Bouton retour en haut de la page

Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php:528 Stack trace: #0 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php(528): implode(Array, '|') #1 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php(314): MatthiasMullie\Minify\CSS->shortenColors('.arqam-widget-c...') #2 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/Minify.php(111): MatthiasMullie\Minify\CSS->execute(NULL) #3 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(175): MatthiasMullie\Minify\Minify->minify() #4 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(128): WP_Rocket\Optimization\CSS\Minify->minify('/home/clients/6...', '/home/clients/6...') #5 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/optimization/CSS/class-minify.php(66): WP_Rocket\Optimization\CSS\Minify->replace_url('https://www.zer...') #6 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/subscriber/Optimization/class-abstract-minify-subscriber.php(85): WP_Rocket\Optimization\CSS\Minify->optimize('<!DOCTYPE html>...') #7 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/subscriber/Optimization/class-minify-css-subscriber.php(44): WP_Rocket\Subscriber\Optimization\Minify_Subscriber->optimize('<!DOCTYPE html>...') #8 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(308): WP_Rocket\Subscriber\Optimization\Minify_CSS_Subscriber->process('<!DOCTYPE html>...') #9 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/plugin.php(205): WP_Hook->apply_filters('<!DOCTYPE html>...', Array) #10 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/inc/classes/Buffer/class-optimization.php(94): apply_filters('rocket_buffer', '<!DOCTYPE html>...') #11 [internal function]: WP_Rocket\Buffer\Optimization->maybe_process_buffer('<!DOCTYPE html>...', 9) #12 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/functions.php(5279): ob_end_flush() #13 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(308): wp_ob_end_flush_all('') #14 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, Array) #15 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #16 /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-includes/load.php(1124): do_action('shutdown') #17 [internal function]: shutdown_action_hook() #18 {main} thrown in /home/clients/6b2a64de70d730cb2cd05fb6192bdebe/zerovirus.fr/www/wp-content/plugins/wp-rocket/vendor/matthiasmullie/minify/src/CSS.php on line 528