IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Les paquets npm malveillants font partie d'un "déferlement" de logiciels malveillants qui frappent les dépôts


Sujet :

JavaScript

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 203
    Points : 46 205
    Points
    46 205
    Par défaut Les paquets npm malveillants font partie d'un "déferlement" de logiciels malveillants qui frappent les dépôts
    Des malwares ont été découverts dans le très populaire paquet npm "ua-parser-js"
    notamment un mineur de cryptomonnaie et un cheval de Troie

    Les paquets npm deviennent de plus en plus des vecteurs de logiciels malveillants. Les développeurs ont récemment découvert que plusieurs versions du paquet npm populaire "ua-parser-js", qui est téléchargé des millions de fois par semaine, contiennent du code malveillant. Des pirates auraient détourné le paquet afin de s'en servir pour infecter des dispositifs Linux et Windows avec des logiciels de minage de cryptomonnaies et des chevaux de Troie qui volent des mots de passe dans le cadre d'une attaque de la chaîne d'approvisionnement. Un pirate distant peut prendre le contrôle d'un appareil qui exécute une version infectée du paquet.

    ua-parser-js est détourné pour extraire des cryptomonnaies

    Le paquet ua-parser-js est utilisé pour analyser l'agent utilisateur d'un navigateur afin d'identifier le navigateur, le moteur, le système d'exploitation, le processeur et le type/modèle de périphérique d'un visiteur. Il est très populaire, avec des millions de téléchargements (environ 7 millions) par semaine et plus de 24 millions de téléchargements depuis le début de ce mois. En outre, le paquet est utilisé dans plus d'un millier d'autres projets, y compris ceux de Facebook, Microsoft, Amazon, Instagram, Google, Slack, Mozilla, Discord, Elastic, Intuit, Reddit, et de nombreuses autres entreprises bien connues.

    Nom : downloads-npm-stat.jpg
Affichages : 15941
Taille : 34,8 Ko

    Mais plusieurs versions du paquet ont été détournées pour un usage malveillant. Il semble en effet qu'un ATO (account takeover - prise de contrôle de compte) se soit produit, le compte de l'auteur ayant été détourné en raison d'une fuite de mot de passe ou d'une tentative de force brute. « J’ai remarqué quelque chose d’inhabituel quand mon adresse e-mail a été soudainement floodée par des spams provenant de centaines de sites », a déclaré le développeur d’ua-parser-js, Faisal Salman, dans un rapport de bogue sur GitHub. Il s'est fait pirater et des versions malveillantes de son package avaient été publiées par les attaquants.

    Au total, trois nouvelles versions du paquet ont été publiées dans le but d'inciter les utilisateurs à les télécharger. Alors que la version précédente (propre) était 0.7.28, l'attaquant a publié des paquets identiques 0.7.29, 0.8.0 et 1.0.0, chacun contenant du code malveillant activé à l'installation. L'auteur du paquet a rapidement réagi en publiant les versions 0.7.30, 0.8.1 et 1.0.1 afin de minimiser le nombre de personnes installant par inadvertance un paquet malveillant. Cette capture d'écran annotée des informations du registre montre qu'il s'est écoulé environ 4 heures entre l'attaque et la solution de contournement :

    Nom : 1.png
Affichages : 3142
Taille : 87,0 Ko

    Malheureusement, le code malveillant serait resté téléchargeable environ 3 heures après la correction. Selon des experts, la plupart des paquets malveillants téléchargés quotidiennement sur npm tentent de voler des clés d'environnement de manière générique. Cependant, ces versions compromises ciblaient Windows et Linux + macOS d'une manière légèrement différente. Alors que les versions du script téléchargeaient et exécutaient une application d'extraction de cryptomonnaies sur macOS et les systèmes d'exploitation Linux, la version Windows comprenait également un cheval de Troie.

    Toutefois, les analystes de BleepingComputer - qui ont eu accès au code malveillant - ont déclaré que bien que l'application d'extraction de cryptomonnaies soit passée inaperçue par la majorité des logiciels antivirus Windows le cheval de Troie aurait été détecté et arrêté par au moins une douzaine d'entre eux, dont les plus populaires comme Gdata et Symantec. Dans les cas de Linux et macOS, bien que l'on ne puisse pas éliminer pour le moment la probabilité qu'il comprenne également le cheval de Troie intégré à l'outil de minage de cryptomonnaie, l'expérience antérieure avec ce code indique que ce n'est pas le cas.

    Selon les analystes de BleepingComputer, lorsque les paquets compromis sont installés sur l'appareil d'un utilisateur, un script "preinstall.js" vérifie le type de système d'exploitation utilisé sur l'appareil et lance soit un script shell Linux, soit un fichier batch Windows. Si le paquet se trouve sur un appareil Linux, un script "preinstall.sh" sera exécuté pour vérifier si l'utilisateur se trouve en Russie, en Ukraine, au Belarus et au Kazakhstan. Si le périphérique n'est pas situé dans ces pays, le script téléchargera le programme "jsextension" depuis 159[.]148[.]186[.]228 et l'exécutera.

    Nom : 2.png
Affichages : 3120
Taille : 61,9 Ko

    Le programm jsextension est un mineur de la cryptomonnaie Monero XMRig, qui n'utilisera que 50 % du processeur de l'appareil pour éviter d'être facilement détecté. Pour les appareils Windows, le fichier batch télécharge également le mineur de XMRig Monero, l'enregistre sous le nom de "jsextension .exe" [VirusTotal] et l'exécute. En outre, le fichier batch téléchargera un fichier sdd.dll et l'enregistrera sous le nom de create.dll. La DLL téléchargée est un cheval de Troie voleur de mots de passe (probablement DanaBot) qui tentera de voler les mots de passe stockés sur l'appareil.

    Lorsque la DLL est chargée à l'aide de la commande regsvr32.exe -s create.dll, elle tente de voler les mots de passe d'une grande variété de programmes, notamment les clients FTP, VNC, les logiciels de messagerie, les clients de messagerie électronique et les navigateurs.

    Alors, que doivent faire les utilisateurs de ua-parser-js ?

    En plus de voler les mots de passe des programmes ci-dessus, la DLL exécutera un script PowerShell pour voler les mots de passe du gestionnaire d'identifiants de Windows. Cette attaque semble avoir été menée par le même acteur de la menace qui se cache derrière d'autres paquets npm malveillants découverts cette semaine. Les chercheurs de la société de sécurité open source Sonatype ont découvert trois paquets npm malveillants utilisés pour déployer des applications de minage de cryptomonnaies sur des appareils Linux et Windows d'une manière presque identique.

    Nom : 3.png
Affichages : 3129
Taille : 57,1 Ko

    En raison de l'impact généralisé de cette attaque de la chaîne d'approvisionnement, il est fortement conseillé à tous les utilisateurs du ua-parser-js de vérifier l'absence de logiciels malveillants dans leurs projets. Cela implique de vérifier l'existence de jsextension.exe (Windows) ou de jsextension (Linux) et de les supprimer s'ils sont trouvés. Pour les utilisateurs de Windows, vous devez analyser votre appareil à la recherche d'un fichier create.dll et le supprimer immédiatement. Seul Windows a été infecté par le cheval de Troie voleur de mots de passe.

    Mais il est sage pour les utilisateurs de Linux de supposer que leur appareil a été entièrement compromis. Par ailleurs, WhiteSource - une société qui analyse les composants open source à la recherche de vulnérabilité - estime que vous êtes responsable de votre chaîne d'approvisionnement en logiciels libres. Selon lui, cet incident n'est que la partie émergée de l'iceberg des incidents qui se produisent dans l'écosystème npm.

    WhiteSource dit avoir identifié et signalé au cours du mois dernier plus de 350 paquets npm uniques comportant une ou plusieurs versions malveillantes, soit prises en charge via des ATO, soit créées dans le seul but de causer divers types de dommages aux utilisateurs finaux. Ainsi, pour prévenir les attaques de la chaîne d'approvisionnement, il vous recommande de ne jamais utiliser le même mot de passe pour plusieurs sites Web et de toujours activer le 2FA (l'authentification à double facteur) si vous êtes un responsable de paquets.

    Source : Rapport de bogue pour ua-parser-js

    Et vous ?

    Quel est votre avis sur le sujet ?
    Avez-vous été infecté par les versions malveillantes du paquet ua-parser-js ? Si oui, quels ont été les impacts ?
    Que pensez-vous du détournement répété des paquets npm populaires au cours des derniers mois ? L'écosystème est-il toujours sûr ?

    Voir aussi

    Quatre packages npm trouvés en train d'ouvrir des shells sur des systèmes Linux et Windows. Tout ordinateur avec l'un de ces packages installés « doit être considéré comme totalement compromis »

    Un projet Node.js sur deux audité par les outils de npm aurait au moins une vulnérabilité, une sur dix d'entre elles est critique

    Des hackers ont glissé une porte dérobée dans une bibliothèque open source largement utilisée pour voler des bitcoins

    Plus de 75% des vulnérabilités dans les projets open source résident dans des dépendances indirectes, plutôt que dans les composants directement chargés
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éprouvé
    Profil pro
    programmeur du dimanche
    Inscrit en
    novembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2003
    Messages : 302
    Points : 1 075
    Points
    1 075
    Par défaut
    Que pensez-vous du détournement répété des paquets npm populaires au cours des derniers mois ? L'écosystème est-il toujours sûr ?
    La réponse est dans la question

    Je ne connais pas la sécurisation de npm, mais le problème paraît plus large. Sur github, c'est beaucoup laissé à l'initiative de l'utilisateur
    Il y a un support des clés SSH sur yubikey par github, mais que depuis quelques mois.

    Il y a aussi la signature des contributions par GPG mais c'est "optionnel" et au pire si ce n'est pas signé, github n'affiche rien.
    D'ailleurs, sur la page de l'auteur, on voit que parfois il signe, parfois non... et il n'y a pas d'option sur github pour que ce soit obligatoire, alors qu'à priori, vu l'ancienneté de GPG, stoker sa clé privée sur token est assez faisable. (Mais quel % de dév le fait ?)

  3. #3
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 203
    Points : 46 205
    Points
    46 205
    Par défaut La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs
    La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs
    le paquet npm "rc" serait également compromis

    Ces derniers mois, les bibliothèques npm semblent être frappées par une vague de détournement à des fins malveillantes. Après ua-parser-js, qui a été détourné le mois passé pour miner des cryptomonnaies, c'est au tour de coa et rc, deux paquets npm ayant fait l'objet de 23 millions de téléchargements hebdomadaires. Dans le cas de coa, le détournement de la bibliothèque impacte de manière éphémère les pipelines React dans le monde entier. Après analyse, l'équipe npm a déclaré que le logiciel malveillant identifié dans le détournement de rc était identique à celui distribué dans le détournement de coa.

    Les paquets npm en proie à une vague de détournement

    Le jeudi 4 novembre 2021, à peine plus d'une semaine après le détournement de ua-parser-js, une autre bibliothèque npm populaire appelée coa (Command-Option-Argument), utilisée dans les paquets React du monde entier, a été détournée pour distribuer un malware voleur d'informations d'identification. Les développeurs ont remarqué que quelque chose n'allait pas lorsque de nouvelles versions étranges de coa sont apparues sur npm, brisant les constructions de logiciels. Le paquet coa recevrait environ 9 millions de téléchargements hebdomadaires sur npm, et serait utilisé par près de 5 millions de dépôts open source sur GitHub.

    Nom : compromised-releases-npm.jpg
Affichages : 97024
Taille : 124,1 Ko
    Versions détournées du paquet npm coa

    coa est un analyseur d'options en ligne de commande pour les projets Node.js. La dernière version stable 2.0.2 du projet a été publiée en décembre 2018. Cependant, plusieurs versions suspectes 2.0.3, 2.0.4, 2.1.1, 2.1.3 et 3.1.3 ont commencé à apparaître sur npm jeudi, brisant les constructions React qui dépendent de coa. « Je ne suis pas sûr de la raison ou de ce qui s'est passé, mais il y a 10 minutes, il y a eu une version (même si la dernière modification sur GitHub date de 2018). Quoi que cette version ait fait, elle a cassé Internet », a déclaré Roberto Wesley Overdijk, un développeur React.

    Plusieurs développeurs ont rejoint la discussion, confirmant avoir rencontré des problèmes avec leurs constructions depuis que les nouvelles versions de coa ont fait leur apparition sur npm. Dans la même journée, il a été constaté qu'un autre composant npm couramment utilisé, rc, avait également été détourné. La bibliothèque rc est un chargeur de configuration et fait l'objet de 14 millions de téléchargements par semaine en moyenne. Selon les développeurs ayant signalé le détournement, les deux paquets auraient été compromis à peu près au même moment et résultent de l'accès des attaquants au compte d'un développeur de paquets.

    « Le compte [de développeur] compromis a été temporairement désactivé et nous enquêtons activement sur l'incident et surveillons toute activité similaire », a déclaré l'équipe npm jeudi, peu après avoir détecté la compromission de coa suite à une vague de rapports sur des constructions ratées. Selon le média BleepingComputer - qui a analysé les versions comprises de coa et rc - une fois les comptes piratés, l'acteur de la menace a ajouté un script de post-installation à la base de code originale qui exécute un TypeScript obfusqué, vérifie les détails du système d'exploitation et télécharge un script batch Windows ou bash Linux.

    Nom : compile-js.png
Affichages : 4212
Taille : 79,7 Ko
    Code JavaScript obfusqué présent dans le fichier compile.js

    En outre, cet incident fait suite au piratage, le mois dernier, d'une autre bibliothèque npm populaire, ua-parser-js, utilisée par Facebook, Microsoft, Amazon, Reddit et d'autres grandes entreprises technologiques. Le logiciel malveillant contenu dans les versions piratées de coa, tel qu'analysé par BleepingComputer, serait pratiquement identique au code trouvé dans les versions détournées de ua-parser-js, établissant potentiellement un lien entre les acteurs de la menace derrière les deux incidents. Selon BleepingComputer, le logiciel malveillant est probablement le cheval de Troie voleur de mots de passe Danabot pour Windows.

    Lorsqu'il est chargé, Danabot exécute les différentes activités malveillantes suivantes :

    • voler les mots de passe de divers navigateurs Web, notamment Chrome, Firefox, Opera, Internet Explorer et Safari ;
    • voler les mots de passe de diverses applications, notamment VNC, les applications de casino en ligne, les clients FTP et les comptes de messagerie ;
    • voler les cartes de crédit enregistrées ;
    • prendre des captures d'écran des écrans actifs ;
    • enregistrer les frappes au clavier.


    Toutes ces données volées sont ensuite renvoyées aux acteurs de la menace pour leur permettre de violer les autres comptes des victimes. Après la découverte de la compromission des deux paquets, l'équipe npm a déclaré qu'elle a supprimé les versions compromises et a proposé des mesures d'atténuation. « Si j'ai bien compris, npm a supprimé les versions compromises et a bloqué temporairement la publication de nouvelles versions pendant la récupération de l'accès au paquet. Aucun correctif ne devrait être nécessaire puisque les versions compromises ont été supprimées », explique Overdijk.

    Quelles sont les mesures d'atténuation recommandées ?

    En raison de l'impact étendu de cette attaque de la chaîne d'approvisionnement, il est fortement conseillé à tous les utilisateurs des bibliothèques coa et rc de vérifier l'absence de logiciels malveillants dans leurs projets. Cela inclut la vérification de l'existence de compile.js, compile.bat, sdd.dll et la suppression des fichiers s'ils sont trouvés. Étant donné que cette variante de "sdd.dll" a également été identifiée comme un cheval de Troie sur VirusTotal, et que celle déposée par ua-parser-js était un voleur d'informations d'identification, les utilisateurs infectés doivent également considérer que leur appareil est entièrement compromis.

    Nom : danabot-launching.jpg
Affichages : 4207
Taille : 68,1 Ko
    Le cheval de Troie voleur de mot de passe lancé par Rundll

    De ce fait, ils doivent changer leurs mots de passe, clés et jetons d'actualisation, car ils ont probablement été compromis et envoyés à l'acteur de la menace. « Les utilisateurs des versions affectées (2.0.3 et plus) doivent rétrograder vers 2.0.2 dès que possible et vérifier leurs systèmes pour détecter toute activité suspecte. Voir ce numéro pour plus de détails au fur et à mesure. Tout ordinateur sur lequel ce paquet est installé ou en cours d'exécution doit être considéré comme entièrement compromis », ont déclaré jeudi les mainteneurs de la bibliothèque coa.

    « Tous les secrets et les clés stockés sur cet ordinateur doivent être immédiatement transférés sur un autre ordinateur. Le paquet doit être supprimé, mais comme le contrôle total de la machine peut avoir été donné à une entité tierce, il n'y a aucune garantie que la suppression du paquet supprimera tous les logiciels malveillants résultant de son installation », ont-ils ajouté. Les conseils partagés dans la discussion originale sur GitHub incluent l'épinglage de la version npm à la version stable "2.0.2". Les instructions d'atténuation pour le paquet rc sont identiques aux précédentes. Les versions du paquet rc concernées sont 1.2.9, 1.3.9, et 2.3.9.

    Nom : df.png
Affichages : 4157
Taille : 51,0 Ko

    Les utilisateurs doivent rétrograder à la version 1.2.8 dès que possible et vérifier leurs systèmes pour toute activité suspecte. « À la suite d'enquêtes en cours, nous avons identifié en temps réel de multiples versions du paquet rc contenant des logiciels malveillants identiques à ceux du paquet coa. Les versions malveillantes de rc ont été immédiatement supprimées du registre et nous avons publié un avis », a déclaré l'équipe npm, qui attribue l'incident à un compte npm compromis et recommande aux responsables de paquets npm d'utiliser une authentification à deux facteurs pour prévenir de telles attaques.

    Sources : Paquet "coa" (1,2), Paquet "rc" (1, 2)

    Et vous ?

    Quel est votre avis sur le sujet ?
    Selon vous, pourquoi les paquets npm sont régulièrement détournés ?
    Avez-vous été affecté par l'un de ces paquets compromis ? Si oui, comment vous en êtes-vous sorti ?

    Voir aussi

    Des logiciels malveillants ont été découverts dans le très populaire paquet npm "ua-parser-js", notamment un mineur de cryptomonnaie et un cheval de Troie

    La spécification des nouvelles fonctionnalités de la norme ECMAScript 2021 est terminée. Tour d'horizon des nouveautés introduites dans cette nouvelle version

    Un package npm malveillant ouvre des portes dérobées sur les ordinateurs des programmeurs, le code JavaScript douteux se faisant passer pour une bibliothèque liée à la plateforme Twilio

    Quatre packages npm trouvés en train d'ouvrir des shells sur des systèmes Linux et Windows. Tout ordinateur avec l'un de ces packages installés « doit être considéré comme totalement compromis »
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  4. #4
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    septembre 2014
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2014
    Messages : 329
    Points : 749
    Points
    749
    Par défaut
    Absolument merveilleux...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2010
    Messages : 9
    Points : 21
    Points
    21
    Par défaut cheveux bleus ou coder, il faut choisir ?
    mouhaha j'en parle à mon pote qui est dans le 'git game' son commentaire :
    "et puis npm c'est pas réputé pour être les gens les plus carrés
    ils sont plus occupés de parler de leur non binarité et de leurs cheveux bleu que de coder"

  6. #6
    Membre expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    juin 2006
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 174
    Points : 3 915
    Points
    3 915
    Par défaut
    je pense qu'une idee serait d'autoriser la publication d'un code sur npm qu'en version claire (non obfusquee & non minifiee)
    et c'est a chaqun d'utiliser un outil pour minifier les fichiers s'il le souhaite..
    ca n'empecherai pas les hacks, mais ca aiderai a les trouver/signaler
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 203
    Points : 46 205
    Points
    46 205
    Par défaut Les paquets npm malveillants font partie d'un "déferlement" de logiciels malveillants qui frappent les dépôts
    Les paquets npm malveillants font partie d'un "déferlement" de logiciels malveillants qui frappent les référentiels
    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.

    Nom : mxw_1200,f_auto.png
Affichages : 72737
Taille : 35,1 Ko

    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".

    Nom : az.png
Affichages : 2570
Taille : 33,8 Ko

    « 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 ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous du détournement continu des paquets npm ?
    Avez-vous déjà eu à faire l'un de ces paquets contenant des logiciels malveillants ? Si oui, partagez votre expérience.

    Voir aussi

    Des logiciels malveillants ont été découverts dans le très populaire paquet npm "ua-parser-js", notamment un mineur de cryptomonnaie et un cheval de Troie

    Un package npm malveillant ouvre des portes dérobées sur les ordinateurs des programmeurs, le code JavaScript douteux se faisant passer pour une bibliothèque liée à la plateforme Twilio

    La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs, le paquet npm "rc" serait également compromis

    Quatre packages npm trouvés en train d'ouvrir des shells sur des systèmes Linux et Windows. Tout ordinateur avec l'un de ces packages installés « doit être considéré comme totalement compromis »
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    juin 2009
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2009
    Messages : 544
    Points : 1 834
    Points
    1 834
    Par défaut
    J'ai une question : qu'en est-il de Maven au juste pour le monde Java ?

    Dois-je m'inquiéter du fait qu'on en entend pas parler ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2020, 13h00
  2. Des failles de sécurité découvertes dans Google App Engine
    Par Michael Guilloux dans le forum Sécurité
    Réponses: 0
    Dernier message: 18/05/2015, 16h08
  3. Réponses: 1
    Dernier message: 18/07/2014, 19h04
  4. Des failles zero-day découvertes dans MySQL
    Par Hinault Romaric dans le forum MySQL
    Réponses: 4
    Dernier message: 04/12/2012, 15h18
  5. Réponses: 2
    Dernier message: 22/04/2010, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo