Le service d'hébergement de référentiels basé sur le cloud GitHub a partagé vendredi des détails supplémentaires sur le vol de ses jetons OAuth d'intégration le mois dernier, notant que l'attaquant a pu accéder aux données internes de NPM et à ses informations clients. « En utilisant des jetons d'utilisateur OAuth volés, provenant de deux intégrateurs tiers, Heroku et Travis CI, l'attaquant a été en mesure d'escalader l'accès à l'infrastructure de NPM », a déclaré Greg Ose, ajoutant que le cybercriminel a ensuite réussi à obtenir un certain nombre de fichiers.Une sauvegarde de la base de données de skimdb.npmjs.com composée de données en date du 7 avril 2021, y compris une archive des informations sur les utilisateurs depuis 2015 et tous les manifestes de paquets NPM privés et les métadonnées des paquets. L'archive contenait les noms d'utilisateurs NPM, les hachages de mots de passe et les adresses électroniques d'environ 100 000 utilisateurs. Un ensemble de fichiers CSV comprenant une archive de tous les noms et numéros de version des versions publiées de tous les paquets privés de NPM au 10 avril 2022, et en conséquence, GitHub prend la mesure de réinitialiser les mots de passe des utilisateurs concernés.
Il est également prévu d'informer directement les utilisateurs dont les manifestes de paquets privés, les métadonnées et les noms et versions de paquets privés ont été exposés. La chaîne d'attaque, telle que détaillée par GitHub, implique que le cyberctiminel abuse des jetons OAuth pour exfiltrer les dépôts NPM privés contenant les clés d'accès AWS, et les utilise ensuite pour obtenir un accès non autorisé à l'infrastructure du registre.
Cela dit, aucun des paquets publiés dans le registre n'aurait été modifié par le cybercriminel et aucune nouvelle version de paquets existants n'a été téléchargée dans le référentiel. En outre, la société a déclaré que l'enquête sur l'attaque par jeton OAuth a révélé un problème sans rapport avec la découverte d'un « nombre non spécifié d'informations d'identification de l'utilisateur en texte clair pour le registre npm qui ont été capturées dans les journaux internes après l'intégration de npm dans les systèmes de journalisation de GitHub ».
GitHub a indiqué qu'il avait atténué le problème avant la découverte de la campagne d'attaque et qu'il avait purgé les journaux contenant les informations d'identification en texte clair. Le vol OAuth, que GitHub a découvert le 12 avril, concernait un acteur non identifié profitant de jetons d'utilisateur OAuth volés délivrés à deux intégrateurs OAuth tiers, Heroku et Travis CI, pour télécharger des données provenant de dizaines d'organisations, dont NPM.
La filiale détenue par Microsoft, au début du mois, a qualifié la campagne de nature « hautement ciblée », ajoutant que « l'attaquant ne faisait que répertorier les organisations afin d'identifier les comptes à cibler sélectivement pour répertorier et télécharger des dépôts privés. » Heroku a depuis reconnu que le vol des jetons OAuth d'intégration GitHub impliquait en outre un accès non autorisé à une base de données interne de clients, ce qui a incité l'entreprise à réinitialiser tous les mots de passe des utilisateurs.
Accès non autorisé à l'infrastructure npm à partir de jetons d'utilisateur OAuth volés
Le 12 avril, la sécurité de GitHub a lancé une enquête qui a permis de découvrir des preuves que l'attaquant a abusé de jetons d'utilisateur OAuth volés délivrés précédemment à deux intégrateurs OAuth tiers, Heroku et Travis CI, pour télécharger des données de dizaines d'organisations GitHub. L'une des organisations victimes touchées était npm. « Nous ne pensons pas que l'attaquant ait obtenu ces jetons via une compromission de GitHub ou de ses systèmes, car les jetons en question ne sont pas stockés par GitHub dans leurs formats originaux et utilisables », déclare GitHub.
Après la découverte de la compromission initiale de npm, GitHub a étudié l'impact sur npm. Sur la base de cette analyse, nous avons la preuve que l'acteur a pu accéder aux données internes de npm et aux informations des clients de npm. Lisez la suite pour en savoir plus. En utilisant sa base initiale de jetons d'utilisateur OAuth pour GitHub.com, l'acteur a pu exfiltrer un ensemble de dépôts npm privés, dont certains contenaient des secrets tels que des clés d'accès AWS.
En utilisant l'une de ces clés d'accès AWS, l'acteur a pu accéder à l'infrastructure AWS de npm Grâce à cet...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.