Magecart est le logiciel malveillant à l'origine des violations de données de British Airways et de Ticketmaster il y a quelques années et, malheureusement, il est toujours bien vivant. En fait, la dernière victime semble être OXO, une marque d'articles ménagers.
Magecart injecte du Javascript malveillant sur des sites web hébergés par des serveurs compromis. Ce langage Javascript s'exécute dans les navigateurs web des clients chaque fois qu'ils visitent le site web et récupère les numéros de cartes de crédit des consommateurs, les envoyant au serveur de l'attaquant. Les pirates mettent continuellement à jour les noms de domaine qu'ils utilisent pour héberger ces scripts afin d'éviter d'être détectés.
Heureusement, les chercheurs continuent de traquer Magecart et il est facile de détecter la compromission en recherchant des liens vers ce code malveillant. Nous avons vu un tweet l'autre jour qui nous a incités à effectuer une recherche rapide :
Trouver Magecart
Lorsque Censys rencontre des hôtes dont le port 80 est ouvert au cours d'une analyse, nous émettons une requête HTTP GET pour la page racine du serveur. Nous analysons et indexons la réponse HTTP renvoyée dans des champs consultables, tels que le corps HTML et l'en-tête du serveur. Nous stockons ce contenu et permettons aux utilisateurs d'effectuer des recherches à la fois dans les en-têtes et dans le contenu HTML brut.
Comme Magecart fonctionne en injectant du Javascript malveillant dans la page racine des sites web, il est facile de rechercher des sites web infectés via Censys en recherchant le code malveillant connu dans le HTML brut que nous stockons. Nous avons compilé une liste de domaines associés à Magecart à partir de la liste de domaines Magecart de cette impulsion OTX, nous avons recherché les corps correspondant à cette requête GET avec la demande suivante :
https://censys.io/ipv4?q=%22dittm.org%22+OR+%22g-analytics.com%22+OR+%22google-analytics.is%22+OR+%22jquery-js.com%22+OR+%22analytic.is%22+OR+%22google-analytics.cm%22
Nous avons inspecté manuellement les résultats de cette requête pour nous assurer que le code HTML dans le corps HTTP(S) contient un lien de script vers l'un de ces domaines et qu'il ne s'agit pas simplement d'une chaîne de caractères correspondant à un autre élément du corps, ce qui serait un faux positif. S'il s'agissait d'un ensemble plus important de résultats, cette opération pourrait être facilement automatisée à l'aide d'un script.
Arrêter Magecart
Au-delà des fonctions de sécurité des sites web, telles que la séparation des droits et des autorisations et les pratiques et mises à jour de sécurité des applications, le navigateur peut être utilisé pour défendre les données de l'utilisateur final. La fonction d'intégrité des sous-ressources (SRI) vous permet de prendre l'empreinte cryptographique des scripts auxquels vous êtes lié et de forcer le code chargé à correspondre avant qu'il ne s'exécute. Bien que cela n'empêche pas la modification d'un site web, cela empêcherait le code de s'exécuter sur le client, ce qui bloquerait efficacement Magecart et d'autres logiciels malveillants similaires.
Un deuxième mécanisme de défense du navigateur dont il faut tirer parti est la fonction de politique de sécurité du contenu(CSP) des navigateurs modernes, qui permet au propriétaire du site web de contrôler le code côté client qui a le droit de s'exécuter lorsqu'il est chargé à partir du site web. La CSP comporte un certain nombre de contrôles qui contribueront à garantir l'intégrité des scripts présentés par le site web au client.