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 :

La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs


Sujet :

JavaScript

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    2 135
    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 135
    Points : 46 048
    Points
    46 048
    Par défaut La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs
    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 : 13106
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 : 2726
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 : 2710
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 : 2709
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
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : novembre 2003
    Messages : 280
    Points : 992
    Points
    992
    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 135
    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 135
    Points : 46 048
    Points
    46 048
    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 : 60820
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 : 3676
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 : 3671
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 : 3622
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
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2014
    Messages : 280
    Points : 669
    Points
    669
    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 142
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2006
    Messages : 2 142
    Points : 3 839
    Points
    3 839
    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 !

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