
la popularité des paquets en fait de parfaits vecteurs d'attaques
Les paquets npm continuent d'être détournés pour être utilisés comme des vecteurs de logiciels malveillants par les pirates informatiques. Après les paquets "ua-parser-js", "rc" et "coa", la société de sécurité JFrog a découvert 17 nouveaux paquets malveillants dans le dépôt npm (le gestionnaire de paquets Node.js). Ces paquets corrompus cherchent intentionnellement à attaquer et à voler les informations d'identification du site d'un utilisateur. Les chercheurs ont rapporté que la plupart des paquets signalés volaient des informations d'identification ou d'autres informations pour les serveurs Discord.
Le dépôt npm, où environ 11 millions de développeurs échangent plus d'un million de paquets entre eux, inquiète de plus en plus les utilisateurs. Le nombre de paquets qui ont été détournés pour être utilisés comme des logiciels malveillants a considérablement augmenté cette année. Les attaquants y insèrent généralement des mineurs de cryptomonnaies ou des chevaux de Troie. Cette fois, la plupart des 17 paquets malveillants semblent avoir été diffusés par différents acteurs de la menace qui ont utilisé divers techniques et efforts pour inciter les développeurs à télécharger des logiciels malveillants au lieu des logiciels bénins prévus.
Cette dernière découverte s'inscrit dans la continuité d'une tendance repérée il y a quelques années, selon laquelle des acteurs malveillants glissent en douce des voleurs d'informations, des enregistreurs de frappe ou d'autres types de logiciels malveillants dans des paquets disponibles dans npm, RubyGems, PyPi ou un autre référentiel. Dans de nombreux cas, le nom du paquet malveillant est différent d'une seule lettre de celui d'un paquet légitime. Souvent, le paquet malveillant comprend le même code et les mêmes fonctionnalités que le paquet dont il usurpe l'identité et ajoute du code caché qui exécute des actions néfastes supplémentaires.
« Nous assistons à un récent déferlement de logiciels malveillants hébergés et diffusés par le biais de dépôts de logiciels open source », ont expliqué dans un billet de blogue mercredi les chercheurs Andrey Polkovnychenko et Shachar Menashe de JFrog. « Les dépôts publics sont devenus un instrument pratique pour la distribution de logiciels malveillants : le serveur du dépôt est une ressource de confiance, et la communication avec lui n'éveille les soupçons d'aucun antivirus ou pare-feu. En outre, la facilité d'installation via des outils d'automatisation tels que le client npm, fournit un vecteur d'attaque mûr », ont-ils ajouté.
Ainsi, une grande partie des paquets signalés par l'équipe de recherche volaient des informations d'identification ou d'autres informations pour les serveurs Discord. Discord est devenu une plateforme populaire permettant aux gens de communiquer par texte, voix et vidéo. Il compte désormais maintenant plus de 350 millions d'utilisateurs enregistrés. Les serveurs compromis peuvent être utilisés comme canaux de commande et de contrôle pour les botnets ou comme proxy lors du téléchargement de données depuis un serveur piraté. Certains paquets ont volé des données de cartes de crédit associées à des comptes Discord piratés.
Deux paquets - discord-lofy et discord-selfbot-v14 - proviennent d'un auteur utilisant le nom de davisousa. Ils sont présentés comme des modifications de la bibliothèque légitime populaire discord.js, qui permet l'interaction avec l'API Discord. Selon les chercheurs, le logiciel malveillant intègre la bibliothèque originale discord.js comme base et injecte ensuite du code malveillant obfusqué dans l'un des fichiers du paquet. Ils ont ajouté que la version obfusquée du code est énorme : « plus de 4 000 lignes de code illisible et contenant toutes les méthodes d'obfuscation possibles ».
Ils citent, entre autres : noms de variables tronqués, chaînes chiffrées, aplatissement du code, etc. Grâce à une analyse manuelle et à l'utilisation de scripts, ils ont pu désobfusquer le paquet et, selon les chercheurs, sa charge utile finale est assez simple : la charge utile itère simplement sur les dossiers de stockage local des navigateurs connus (et les dossiers spécifiques à Discord), puis y recherche des chaînes ressemblant à un jeton Discord en utilisant une expression régulière. Par la suite, tout jeton trouvé est renvoyé via HTTP POST au serveur codé en dur "https://aba45cf.glitch.me/polarlindo".
« En raison de la popularité de cette charge utile d'attaque, de nombreux programmes d'acquisition de jetons Discord, accompagnés d'instructions de construction, ont été publiés sur GitHub. Un attaquant peut prendre l'un de ces modèles et développer un logiciel malveillant personnalisé sans avoir de grandes compétences en programmation - ce qui signifie que n'importe quel pirate novice peut le faire facilement en quelques minutes », expliquent les chercheurs. Un autre paquet nommé fix-error prétendait réparer des erreurs dans un "selfbot" de Discord.
Il contenait également un code malveillant qui avait été obfusqué, mais qui, dans ce cas, était beaucoup plus facile à désobfusquer pour les chercheurs. Les chercheurs ont rapidement déterminé que le code caché était une version volée de PirateStealer, une application qui vole les informations de carte de crédit, les identifiants de connexion et d'autres données privées stockées dans un client Discord. Elle fonctionne en injectant un code JavaScript malveillant dans le client Discord. Ce code "espionne" ensuite l'utilisateur et envoie les informations volées à une adresse codée en dur.
Un troisième exemple est prerequests-xcode, un paquet qui contient une fonctionnalité de cheval de Troie d'accès à distance. « En inspectant le code du paquet, nous avons identifié qu'il contient un port Node.JS de DiscordRAT (écrit à l'origine en Python) qui donne à l'attaquant un contrôle total sur la machine de la victime. Le logiciel malveillant est obfusqué par l'outil en ligne populaire obfuscator.io, mais dans ce cas, il suffit d'inspecter la liste des commandes disponibles pour comprendre la fonctionnalité du RAT (copié mot à mot) », ont expliqué les chercheurs.
Comme indiqué précédemment, npm n'est pas le seul dépôt de logiciels libres à être infiltré par des paquets malveillants. Le dépôt PyPi pour Python a vu sa part de paquets chargés de logiciels malveillants, tout comme RubyGems. Par ailleurs, les chercheurs mettent en garde que les personnes qui téléchargent des paquets open source doivent s'assurer que l'élément qu'elles téléchargent est légitime et qu'il ne s'agit pas d'un logiciel malveillant se faisant passer pour quelque chose de légitime. Les grandes organisations qui utilisent beaucoup de logiciels open source peuvent trouver utile d'acheter des services de gestion de paquets.
Source : JFrog
Et vous ?



Voir aussi




Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.