Angreifer missbrauchen die npm-Registry und deren Spiegel, um schädliche HTML-Seiten zu hosten, die als Sicherheitsverifizierungsseite von Cloudflare getarnt sind und Besucher anschließend auf eine von ihnen kontrollierte Domain oder auf ein aus der Ferne änderbares Ziel umleiten. Diese Kampagne unterscheidet sich von üblichen npm-Lieferkettenangriffen: Die von den Forschern untersuchten Pakete infizieren das Gerät des Entwicklers bei der Installation nicht mit Schadsoftware, sondern dienen als kostenlose Hosting-Plattform für Phishing-Seiten.
Der Sicherheitsforscher inf0stache beobachtete diese Technik im Juli, nachdem er ein Paket namens china_airlines gefunden hatte, das eine gefälschte Cloudflare-Verifizierungsseite enthielt. IntelFusions berichtete über dieselbe Methode, bevor OX Security später 24 npm-Pakete mit derselben schädlichen Seite aufdeckte, die auf npm und mehrere Spiegel verteilt waren.
Wie wird ein Spiegel zu einer Phishing-Plattform?
BleepingComputer stellte fest, dass eines der untersuchten Pakete nur die Dateien index.html und package.json enthält, wobei die HTML-Datei als Hauptdatei definiert ist. Wenn der Dienst UNPKG das Paket kopiert, kann die Datei direkt über die Domain unpkg.com im Browser geöffnet werden, statt über eine von den Angreifern betriebene Domain.
Diese Nutzung verleiht der schädlichen Seite ein vertrauenswürdigeres Erscheinungsbild und kann ihr helfen, Sicherheitswerkzeuge zu umgehen, die bekannte Domains von Angreifern blockieren. OX Security warnte außerdem, dass die Pakete in den Spiegeln möglicherweise weiterhin verfügbar bleiben, nachdem sie aus der offiziellen npm-Registry gelöscht wurden.
Gefälschte Verifizierung und veränderbare Weiterleitung
Die schädliche Seite imitiert die Sicherheitsoberfläche von Cloudflare und enthält den legitimen Turnstile-Dienst, doch unabhängig davon, ob die Verifizierung erfolgreich ist oder fehlschlägt, führt undurchsichtiges JavaScript die Weiterleitung aus. Den Forschern zufolge führten frühere Versionen im Juli zu microcloud[.]homes, während im August Weiterleitungen zu login[.]microsofte[.]live auftauchten. Den Berichten zufolge führten einige der frühen Weiterleitungen letztlich zur legitimen Anmeldeseite des Microsoft-Outlook-Dienstes, während dieselben Ziele später zum Hosten gefälschter Anmeldeseiten verwendet werden könnten.
Andere Pakete verwendeten eine andere Methode, die auf api.keyval.org basiert, einer legitimen Plattform zum Speichern von Schlüssel-Wert-Paaren. Der Code ruft einen verschlüsselten Wert vom Dienst ab, entschlüsselt ihn im Browser und leitet den Besucher anschließend an den resultierenden Link weiter. Dadurch kann der Angreifer das Ziel ändern, ohne ein npm-Paket zu verändern oder erneut zu veröffentlichen. OX erklärte, dass das während der Untersuchung beobachtete Ziel die legitime ChatGPT-Website war, es später jedoch in eine Phishing-Seite oder einen Schadsoftware-Download geändert werden könnte; die von BleepingComputer überprüfte Seite führte jedoch keinen ClickFix-Angriff aus.
Warum ist diese Nachricht wichtig?
Die eigentliche Veränderung besteht hier nicht darin, dass der Entwickler allein durch die Installation des Pakets infiziert wird, sondern in der missbräuchlichen Nutzung des Vertrauens in eine verbreitete Entwicklungsinfrastruktur, um Inhalte zu laden, die direkt im Browser angezeigt werden. Dadurch erweitert sich der Risikobereich auf Nutzer direkter Links zu npm-Dateien und Spiegeln, nicht nur auf Entwicklungsteams. OX Security empfiehlt daher, direkte HTML-Anfragen von Domains von npm-Spiegeln als verdächtige Aktivität zu behandeln und zu beachten, dass sich das endgültige Ziel ändern kann, ohne dass die gehostete Datei aktualisiert wird.