Der Cloud-basierte Repository-Hosting-Dienst GitHub hat am Freitag weitere Details über den Diebstahl seiner OAuth-Tokens für die Integration im letzten Monat bekannt gegeben und festgestellt, dass der Angreifer in der Lage war, auf interne NPM-Daten und Kundeninformationen zuzugreifen.
„Mithilfe von gestohlenen OAuth-Benutzer-Tokens, die von zwei Drittanbietern, Heroku und Travis CI, stammen, konnte der Angreifer den Zugriff auf die NPM-Infrastruktur ausweiten“, sagte Greg Ose und fügte hinzu, dass es dem Angreifer dann gelang, eine Reihe von Dateien zu erhalten –
Ein Datenbank-Backup von skimdb.npmjs.com mit den Daten vom 7. April 2021, einschließlich eines Archivs mit Benutzerinformationen aus dem Jahr 2015 und allen privaten NPM-Paketmanifesten und Paketmetadaten. Das Archiv enthielt NPM-Benutzernamen, Passwort-Hashes und E-Mail-Adressen für etwa 100.000 Benutzer
eine Reihe von CSV-Dateien, die ein Archiv mit allen Namen und Versionsnummern der veröffentlichten Versionen aller privaten NPM-Pakete ab dem 10. April 2022 enthielten, und
Eine „kleine Teilmenge“ privater Pakete von zwei Organisationen
Als Konsequenz setzt GitHub die Passwörter der betroffenen Nutzer zurück. Es wird erwartet, dass GitHub in den nächsten Tagen auch die Nutzer/innen direkt benachrichtigt, deren private Paketmanifeste, Metadaten sowie Namen und Versionen der privaten Pakete offengelegt wurden.
Die von GitHub beschriebene Angriffskette besteht darin, dass der Angreifer die OAuth-Tokens missbraucht, um private NPM-Repositories mit AWS-Zugangsschlüsseln zu exfiltrieren und sich anschließend unbefugten Zugang zur Infrastruktur der Registry zu verschaffen.
Es wird jedoch davon ausgegangen, dass keines der in der Registry veröffentlichten Pakete vom Angreifer verändert wurde und dass auch keine neuen Versionen bestehender Pakete in das Repository hochgeladen wurden.
Darüber hinaus erklärte das Unternehmen, dass die Untersuchung des OAuth-Token-Angriffs ein damit nicht zusammenhängendes Problem aufgedeckt hat, bei dem es um die Entdeckung einer unbestimmten „Anzahl von Klartext-Benutzeranmeldeinformationen für die npm-Registry ging, die nach der Integration von npm in die GitHub-Protokollierungssysteme in internen Protokollen erfasst wurden“.
GitHub stellte fest, dass es das Problem vor der Entdeckung der Angriffskampagne entschärft und die Protokolle mit den Klartext-Anmeldedaten gelöscht hatte.
Der OAuth-Diebstahl, den GitHub am 12. April aufdeckte, betraf einen unbekannten Akteur, der gestohlene OAuth-Benutzer-Tokens nutzte, die an zwei OAuth-Integratoren von Drittanbietern, Heroku und Travis CI, ausgegeben wurden, um Daten von Dutzenden von Organisationen herunterzuladen, darunter auch NPM.
Die Microsoft-Tochtergesellschaft bezeichnete die Kampagne Anfang des Monats als „sehr zielgerichtet“ und fügte hinzu, dass „der Angreifer nur Organisationen auflistete, um Konten zu identifizieren, die er gezielt für das Auflisten und Herunterladen privater Repositories anvisieren konnte“.
Heroku hat inzwischen eingeräumt, dass der Diebstahl der OAuth-Tokens für die GitHub-Integration auch einen unbefugten Zugriff auf eine interne Kundendatenbank zur Folge hatte, woraufhin das Unternehmen alle Benutzerpasswörter zurückgesetzt hat.