WooCommerce Skimmer uses fake fonts and favicon to steal CC details

Holidays are always a busy time for e-commerce stores. Dealing with an influx of Christmas shoppers, holiday sales and inventory, shipping, and sometimes pirates as well. Today’s investigation begins much like many others, with our client reporting an antivirus warning only appearing on their checkout page, of course at the worst possible time around the end of December.

What at first seemed like a common case of credit card theft turned out to be a much more interesting infection that leveraged both font, favicon and other less commonly used files to steal card details. credit card. After doing our regular checks for script tags, questionable third-party content, and modified core/plugin files and coming back empty-handed, it was time to do some more in-depth analysis of what was going on.

Tags

Since anything that loaded here triggered the antivirus alarms, it had to be loaded through the browser. It was probably JavaScript and not a backend/PHP infection, as these cannot be detected by client-side security programs.

Manually inspecting all the JavaScript files loaded on the checkout page yielded no results, so for now we’re left stumped. However, one of our analysts was able to spot some questionable content by looking at the source of the payment page:

This is very peculiar code that appeared to be JavaScript even though there were no script tags. At first glance, it didn’t seem to be decipherable. When querying the database for the simple string “CS1“we found it in the”to verify» page of wp_posts table, so we’re starting to warm up here.

By dismantling this JavaScript, once we have registered the functions in a sandbox browser console, we can begin to understand that the strings are simply rearranged. Once they’re put together in the correct order and the code is beautified, it starts to make a lot more sense:

Wait a second…one .woff to file? What exactly is it, and why is this dodgy JavaScript referring to it?

The Web Open Font Format is a font format for use in web pages. WOFF files are OpenType or TrueType fonts, with format-specific compression applied and additional XML metadata added.

It doesn’t quite match. There’s no reason for obfuscated JavaScript to mess with a font file, so let’s dig a little deeper.

Time for intensive analysis

When it comes to web-based malware, the overwhelming majority of the time we are dealing with PHP, JavaScript, and HTML files. Occasionally, however, we come across malicious payloads that exploit different and sometimes unorthodox file types. Since the code above refers to a font file, it was time to dig a little deeper into how this infection works. Indeed, obfuscated JavaScript code has been detected in this .woff “font” file:

So how exactly do we know it’s a credit card skimmer? For starters, it uses the exact same kind of obfuscation we’re used to seeing in skimmer files. Besides, once we embellish things and make them a little more readable, it becomes obvious:

Here we see JavaScript stealing details such as:

  • CC number
  • CVV
  • Last name and first name
  • Expiration date

It also gathers some details not always seen in such skimmer files, such as the user agent and the language of the victim.

Credit card details alone are not enough to use a stolen credit card number, so further down the file we also see the typical stolen additional information:

  • Address
  • ZIP code / ZIP code
  • City
  • Society
  • Region

Bonus Login and Cookie Stealer

Interestingly, there was another.wof file as well as a favicon .icon also lodged in the file structure, both injected with malicious JavaScript. This time, both files included font and icon data and, at first glance, looked perfectly legitimate. The favicon file matched the victim’s website’s legitimate favicon image and domain name (which we won’t share here in this article), suggesting that it was a targeted attack. The other .wof was also a fully functional font, although it contained a malicious JavaScript payload:

Not a very interesting font, though, unfortunately. When we view the source of the font file, a similar malicious JavaScript is added at the bottom, which contains both another credit card skimmer as well as a cookie stealer used to hijack login sessions:

This also used unorthodox methods to load in the victim’s browser, again missing the usual

Nous voyons un code JavaScript similaire ajouté au bas d’un favicon .ico fichier également :

Une fois que nous déballons une partie de ce code, nous pouvons voir le classique a à B( fonction (décodage base64) utilisée :

Et lorsque nous décodons cela à partir de base64, nous pouvons voir un domaine malveillant connu qui a été impliqué dans des attaques de logiciels malveillants pendant une bonne partie de l’année :

cdn-bootstrapcdn[.]com

Extensions de fichiers variées pour masquer la charge utile

Ce n’est pas la première fois qu’un faux favicon est utilisé dans une attaque par écrémage, et certainement pas la première fois que des fichiers image sont utilisés. Les fichiers de police ont également été utilisés dans les attaques MageCart par d’autres chercheurs en sécurité, mais ce n’est certainement pas quelque chose que nous voyons tous les jours. Nous suivons des infections similaires depuis environ 2019.

Les attaquants essaieront presque toujours de réinfecter les environnements une fois qu’ils auront réussi à prendre pied. C’est particulièrement vrai d’attaques d’écrémage ciblées. En vérifiant nos journaux de nettoyage pour ce site Web, il semble que les attaquants soient revenus encore et encore, exploitant différents types de fichiers lors de chaque réinfection ultérieure. Nous avons aussi trouvé.GIF et .CSS fichiers avec des skimmers JavaScript ajoutés à la fin, et chargement via la base de données wp_posts et wp_options tableaux de manière similaire mais variée.

Vous avez peut-être également remarqué que la charge utile .woff les fichiers résident dans plusieurs des ./wp-content/uploads répertoires, les rendant indétectables à un contrôle d’intégrité des fichiers de base (présent dans presque tous les plugins de sécurité WordPress).

Les attaquants trouvent toujours de nouvelles méthodes créatives pour cacher leurs charges utiles. Les analyses de sécurité Web ont tendance à se concentrer sur les fichiers qui constituent le cœur de la structure d’un site Web, comme .php ou .js il est donc logique que certains des attaquants les plus astucieux trouvent de nouvelles extensions de fichiers à exploiter et trouvent des moyens créatifs d’injecter ce contenu dans les navigateurs des victimes.

En conclusion

Heureusement, une fois que notre client a placé son site Web derrière notre service de pare-feu et, de manière cruciale, l’ont utilisé pour ajouter un niveau d’authentification supplémentaire à leur panneau wp-admin, les attaquants n’ont pas pu revenir depuis.

Ce cas est un très bon exemple de la façon dont les acteurs de la menace MageCart ciblent de plus en plus les sites Web WordPress à l’aide de WooCommerce, une tendance que nous avons observée pour la première fois au cours des derniers mois de 2019 et au début de 2020. Les propriétaires de sites de commerce électronique devraient prendre des mesures pour renforcer leur panneau d’administration wp-admin et rendent plus difficile pour les attaquants de compromettre ces environnements.

About Nell Love

Check Also

How to Change the Font Size on Your Kindle

Here we will show you how to change the font size on your Kindle in …