Les codes QR deviennent le véhicule des logiciels malveillants dans une nouvelle technique

Lucas Morel

Un emballage malveillant nouvellement découvert avec des couches d’obscurcissement est déguisé en bibliothèque de services publics, avec des logiciels malveillants se cachant essentiellement à la vue dans les codes QR intégrés.

Les codes QR sont omniprésents de nos jours, car ils sont un moyen facile de livrer du contenu marketing ou de directement des utilisateurs vers des sites Web et des applications.

Ils sont également devenus une cachette pour un code malveillant.

Une équipe de recherche sur les menaces de la société de cybersécurité Socket a découvert ce qu’elle appelait «un mécanisme de porte dérobée sophistiqué» qui, lorsqu’il est incorporé dans l’application ou le site Web d’une entreprise, vole les mots de passe stockés dans les cookies des visiteurs via du code intégré dans les codes QR.

Le package malveillant, Fezbox, est déguisé en bibliothèque d’utilité et possède des «couches d’obscurcissement», y compris «l’utilisation innovante et stéganographique» des codes QR. La stéganographie implique d’intégrer des données secrètes dans un support de couverture afin qu’elle ne soit pas détectée.

«La stéganographie est la pratique de cacher un fichier secret à la vue, «L’utilisation d’un code QR pour une obscurité supplémentaire est une touche créative de l’acteur de menace.»

Se cacher dans un code apparemment dénué de sens

Le package exploite le NPM, le gestionnaire de packages populaire pour JavaScript et dispose de trois couches d’obscurcissement: une chaîne inversée, un code QR et une charge utile cachée. Le mécanisme de livraison des logiciels malveillants sophistiqués récolte les noms d’utilisateurs et les mots de passe des cookies de navigateur, en utilisant le code dissimulé dans un code QR intégré qui est particulièrement dense et difficile à lire.

Fezbox prétend être une bibliothèque d’utilité JavaScript / TypeScript des «fonctions d’assistance communes», organisées en modules de fonctionnalité afin que les utilisateurs puissent choisir. Son fichier ReadMe, écrit en chinois, comprend les phrases «types de typeScript», «haute performance» et «tests» et décrit un module de code QR qui pourrait générer et analyser les codes et les composants du programme nécessaires à chargement automatique.

Cependant, il n’a pas mentionné que l’importation de la bibliothèque a lancé un processus backend qui a récupéré et exécuté du code caché dans une image de code QR distante.

Le code est minifié (compressé) et caché dans des blocs plus grands d’instructions apparemment bénignes de «non-opération (non-op)» qui lui permettent de contourner les vérifications de sécurité. Une condition spécifique dans le code vérifie si l’application s’exécute dans un environnement de développement; Si c’est le cas, «le code ne fait rien», a expliqué Brown, notant qu’il s’agit d’une tactique furtive typique.

« L’acteur de menace ne veut pas risquer d’être pris dans un environnement virtuel ou tout environnement de non-production, ils peuvent souvent ajouter des garde-corps quand et comment leur exploit se déroule », a-t-elle écrit.

Après un délai de 120 secondes, le package télécharge et exécute ensuite le code à partir d’une image QR.

Ce code lit un cookie à partir de «Document.cookie», récupère le nom d’utilisateur et le mot de passe, s’ils existent, alors inverse la chaîne (donc «mot de passe» est devenu «DrowSSAP»). L’inversion est un «truc de furtivité anti-analyse classique», a noté Brown, car il peut contourner les outils d’analyse qui recherchent des URL, mais pas nécessairement leurs versions arrière.

Si le cookie contient à la fois le nom d’utilisateur et le mot de passe, le package l’extère via une commande https post; Sinon, il «ne fait rien et sort tranquillement», a expliqué Brown.

Alors que les principales fonctions d’utilité semblent légitimes, le modèle obscurci «représente une menace de sécurité critique permettant l’exécution de code distant avec les caractéristiques furtives», a écrit Brown. Cependant, elle a noté que la plupart des applications ne stockent plus de mots de passe dans les cookies, il est donc difficile de déterminer le succès du malware.

Une «escalade notable»

Le package a été supprimé de Github et répertorié comme malveillant. Mais cela indique une exploitation plus large des codes QR et des fichiers audio et vidéo par des acteurs de menace qui deviennent de plus en plus furtifs avec leurs techniques. En cachant du code exécutable dans un code QR, les attaquants profitent de la confiance des développeurs dans les outils d’analyse QR.

« Nous avons fait des codes QR omniprésents pendant la pandémie et nous ne pouvons pas remettre ce génie dans la bouteille », a déclaré David Shipley de Beauceron Security. « Les attaquants deviennent intelligents avec ces dernières attaques et il n’y a aucun signe qu’ils disparaissent de sitôt. »

Il s’agit d’une «escalade notable», a-t-il dit, exhortant les développeurs à savoir que les acteurs de la menace cherchent également à poursuivre leurs précieux secrets. Bien qu’il soit facile depuis longtemps de phish les gens de tous les jours, lorsque les criminels peuvent phish développeurs, «ils n’auront plus jamais faim de références».

« Pour les équipes de sécurité et de développeurs, la clé ici est une culture de sécurité qui apprend aux codeurs à être prudents et s’assure que les humains sont dans le processus d’examen à tout moment », a conseillé Shipley.