Une nouvelle campagne de détournement de cartes Magecart détourne les pages d’erreur 404 des sites Web des détaillants en ligne, cachant un code malveillant pour voler les informations de carte de crédit des clients.
Cette technique est l’une des trois variantes observées par les chercheurs de l’Akamai Security Intelligence Group, les deux autres dissimulant le code dans l’attribut « onerror » de la balise d’image HTML et une image binaire pour le faire apparaître comme un extrait de code Meta Pixel.
Akamai affirme que la campagne se concentre sur les sites Magento et WooCommerce, avec certaines victimes liées à des organisations renommées des secteurs de l’alimentation et de la vente au détail.
Manipulation de 404 pages
Tous les sites Web comportent des pages d’erreur 404 qui s’affichent aux visiteurs lorsqu’ils accèdent à une page Web qui n’existe pas, qui a été déplacée ou qui comporte un lien mort/cassé.
Les acteurs de Magecart exploitent la page par défaut « 404 Not Found » pour masquer et charger le code malveillant de vol de cartes, ce qui n’a jamais été vu auparavant dans les campagnes précédentes.
« Cette technique de dissimulation est très innovante et quelque chose que nous n’avons pas vu dans les campagnes Magecart précédentes », lit-on Rapport d’Akamai.
« L’idée de manipuler la page d’erreur 404 par défaut d’un site Web ciblé peut offrir aux acteurs de Magecart diverses options créatives pour améliorer la dissimulation et l’évasion. »
Le chargeur d’écumoire se déguise en extrait de code Meta Pixel ou se cache dans des scripts en ligne aléatoires déjà présents sur la page Web de paiement compromise.
Le chargeur lance une requête de récupération vers un chemin relatif nommé « icônes », mais comme ce chemin n’existe pas sur le site Web, la requête entraîne une erreur « 404 Not Found ».
Les enquêteurs d’Akamai ont initialement supposé que le skimmer n’était plus actif ou que le groupe Magecart avait commis une erreur de configuration. Cependant, après une inspection plus approfondie, ils ont découvert que le chargeur contenait une correspondance d’expression régulière recherchant une chaîne spécifique dans le code HTML renvoyé de la page 404.
Après avoir localisé la chaîne sur la page, Akamai a trouvé une chaîne concaténée codée en base64 dissimulée dans un commentaire. Le décodage de cette chaîne a révélé le skimmer JavaScript, qui se cache dans les 404 pages.
« Nous avons simulé des requêtes supplémentaires sur des chemins inexistants, et toutes ont renvoyé la même page d’erreur 404 contenant le commentaire avec le code malveillant codé », explique Akamai.
« Ces vérifications confirment que l’attaquant a réussi à modifier la page d’erreur par défaut de l’ensemble du site Web et à y dissimuler le code malveillant ! »
Étant donné que la requête est adressée à un chemin propriétaire, la plupart des outils de sécurité surveillant les requêtes réseau suspectes sur la page de paiement l’ignoreraient.
Voler les données
Le code du skimmer affiche un faux formulaire que les visiteurs du site Web sont censés remplir avec des informations sensibles, notamment leur numéro de carte de crédit, la date d’expiration et le code de sécurité.
Une fois ces données saisies sur le faux formulaire, la victime obtient une fausse erreur « session timeout ».
En arrière-plan, toutes les informations sont codées en base64 et envoyées à l’attaquant via une URL de demande d’image portant la chaîne comme paramètre de requête.
Cette approche permet d’échapper à la détection par les outils de surveillance du trafic réseau, car la requête ressemble à un événement de récupération d’image anodin. Cependant, le décodage de la chaîne base64 révèle des informations personnelles et de carte de crédit.
Le cas de la manipulation de pages 404 met en évidence l’évolution des tactiques et la polyvalence des acteurs de Magecart, qui rendent continuellement plus difficile aux webmasters de localiser leur code malveillant sur des sites Web compromis et de les nettoyer.