Hacker haben eine neue Methode gefunden, um an Passwörter und den Zugang zu GitHub-Repositories zu gelangen. Sie tarnen sich als Dependabot, ein Tool, das eigentlich dazu dient, den Code sicher und aktuell zu halten.
Dependabot agiert normalerweise wie ein Wachhund für den Code, überwacht die Software-Bausteine und schlägt Aktualisierungen und Fixes vor. Das Ziel ist, das Repository sicher zu halten.
Die Angreifer scheinen jedoch genau dieses Vertrauen, das Nutzer in den Bot setzen, gegen sie zu verwenden. Laut dem Unternehmen Checkmarx nutzen die Hacker diese Taktik, um Passwörter und Geheimnisse zu stehlen.
Hacker geben sich als echter Dependabot aus
Das Unternehmen hat festgestellt, dass die Hacker zwischen dem 8. und 11. Juli Hunderte von GitHub-Repositories kompromittiert haben. Die Täter verwendeten gefälschte Commit-Nachrichten, die so gestaltet waren, als kämen sie vom echten Dependabot.
Wenn diese falschen Commit-Nachrichten akzeptiert werden, nimmt der getarnte Dependabot Änderungen am Code vor, um sensible Daten wie Passwörter zu stehlen. Das Unternehmen konnte vor allem zwei spezifische Änderungen im Code identifizieren.
Die erste war eine Datei namens hook.yml, die ein Push-Event auslöste. Dieses Event sendet GitHub-Geheimnisse und Variablen an einen Server der Angreifer. Zusätzlich fügte der falsche Dependabot jeder .js-Datei eine verschleierte Zeile Code hinzu. Diese Zeile hat den Zweck, webbasierte Passwortformulare abzufangen und die Daten ebenfalls an den Server der Angreifer zu senden.
Wie konnten Angreifer sich als Dependabot ausgeben?
Es bleibt unklar, wie es den Angreifern überhaupt gelungen ist, sich als Dependabot auszugeben. Um mehr darüber zu erfahren, hat Checkmarx Gespräche mit einigen der Opfer geführt.
Die genaue Methode, wie die Hacker Zugang erlangt haben, ist allerdings noch nicht vollständig geklärt. Die wahrscheinlichste Theorie ist, dass die Angreifer an das persönliche Zugangstoken der Opfer gelangt sind, das nicht durch eine Zwei-Faktor-Authentifizierung geschützt ist.
Deshalb empfiehlt Checkmarx, GitHubs Fine-Grained-Personal-Access-Tokens zu verwenden. Diese bieten mehr Kontrolle darüber, wer Zugang zu welchen Daten hat, und könnten somit den Schaden erheblich reduzieren.