Phishing ermöglichte die Übernahme mehrerer beliebter NPM-Pakete.

Es wurde ein Phishing-Angriff auf begleitende JavaScript-Bibliotheken festgestellt, bei dem im Namen des NPM-Dienstes eine Nachricht versendet wurde, die zur Bestätigung der E-Mail-Adresse aufforderte. Der Angriff ermöglichte es den Tätern, die NPM-Tokens eines der großen JavaScript-Projekte zu erlangen und Updates mit schädlichem Code für fünf NPM-Pakete herauszugeben, die insgesamt etwa 100 Millionen Downloads pro Woche verzeichnen.

Die versendete Begleitnachricht war im Stil typischer NPM-Benachrichtigungen gestaltet, die von der Adresse „support@npmjs.org“ versendet werden, jedoch wurde für den Link eine Domain „npnjs.com“ anstelle von „npmjs.com“ angegeben (dritte Buchstabe „n“ anstelle von „m“). Die Angreifer nutzten den psychologischen Effekt, wonach das Gehirn, in Erwartung eines vertrauten Ergebnisses, subtile Verzerrungen wie den Austausch von Buchstaben oder die Änderung der Buchstabenreihenfolge im Wort übersieht. Beim Klicken auf den Link öffnete sich eine vollständige Kopie der Website npmjs.com (vermutlich war ein Proxy eingerichtet, der das Zugriffstoken abfing).

Phishing ermöglichte die Übernahme mehrerer beliebter NPM-Pakete.

Im Rahmen des Angriffs wurden neue Versionen der Pakete erstellt:

  • eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7.
  • eslint-plugin-prettier: 4.2.2, 4.2.3.
  • synckit: 0.11.9.
  • @pkgr/core: 0.2.8.
  • napi-postinstall: 0.3.1.

In die erstellten Releases wurde schädlicher Code eingefügt, um Benutzer anzugreifen, die die Windows-Plattform nutzen. Die Änderungen luden die Bibliothek node-gyp.dll herunter, die Funktionen für die Remote-Ausführung von Befehlen im System enthielt.

Der Begleiter bemerkte, dass er etwa eine Stunde nach der ersten Beschwerde über die Veröffentlichung verdächtiger Releases Opfer eines Phishings geworden war. Er zog sofort das Zugriffstoken zurück, änderte die Passwörter und kennzeichnete die problematischen Versionen als veraltet, um zu verhindern, dass automatisierte Build-Systeme sie herunterladen, und schickte eine Anfrage zur Entfernung der problematischen Versionen aus dem Repository an den NPM-Support.

Es wird nicht angegeben, wie viele Benutzer die schädlichen Versionen heruntergeladen haben (zum Beispiel blieb die schadhafte Version des Pakets eslint-plugin-prettier etwa zwei Tage im Repository). In der vergangenen Woche verzeichnete das Paket eslint-config-prettier 30 Millionen Downloads und wurde als Abhängigkeit in 11.762 Paketen verwendet, das Paket eslint-plugin-prettier – 21 Millionen Downloads (8.468 abhängige Pakete), synckit – 18 Millionen, @pkgr/core – 16 Millionen und napi-postinstall – 10 Millionen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4