Aikido

Gone Phishin': npm-Pakete, die benutzerdefinierte Seiten zum Sammeln von Anmeldedaten bereitstellen

Charlie EriksenCharlie Eriksen
|
#
#
#

Am 20.01.2026 um 18:03 UTC hat unser System uns auf ein neues npm-Paket namens FlockialiInnerhalb von 26 Minuten veröffentlichte der Angreifer vier Versionen. Zwei Tage später starteten sie eine Veröffentlichungsserie: opresc, prndn, oprnm, und operniAls wir genauer hinschauten, deckten wir eine hochgradig gezielte Spear-Phishing-Kampagne auf, die Mitarbeiter von Industrie- und Energieunternehmen in ganz Europa, dem Nahen Osten und den Vereinigten Staaten betraf.

Und der Liefermechanismus? npm + jsDelivr. Denn warum sollte man eine eigene Phishing-Infrastruktur hosten, wenn man das CDN eines anderen kostenlos nutzen kann?

Was wir gefunden haben

Die Pakete enthalten eine einzige JavaScript-Datei, die beim Laden die Webseite vollständig durch ein Phishing-Kit ersetzt. Das Interessante daran ist jedoch, dass jede Version auf eine bestimmte Person abzielt.

Wir haben fünf Ziele in fünf Unternehmen gefunden:

  • Flockiali v1.2.5 richtet sich an jemanden bei CQFD Composites, einem französischen Hersteller von Verbundwerkstoffen.
  • Flockiali v1.2.6 zielt auf jemanden bei Ingeteam ab, einem spanischen Windkraftanlagenhersteller.
  • opresc v1.0.0 zielt auf jemanden bei Emagine ab, einem Unternehmen für das Aufladen von Elektrofahrzeugen in den Vereinigten Arabischen Emiraten.
  • prndn und oprnm beide richten sich an dieselbe Person bei der Amixon GmbH, einem deutschen Unternehmen für industrielle Mischtechnik.
  • operni v1.2.7 zielt auf jemanden bei CMC America ab, einem US-amerikanischen Hersteller von Backgeräten.

Der Angreifer geht nicht nach dem Prinzip „Spray and Pray“ vor. Er veröffentlicht für jedes Ziel neue Pakete. Und wenn ein Ziel besonders interessant ist, veröffentlicht er mehrere Pakete mit unterschiedlichen Zustellwegen.

Der Angriffsablauf

Das passiert, wenn ein Opfer den Phishing-Link öffnet.

Die Seite wird geladen und zeigt eine gefälschte „Micro-Share”-Dateifreigabeoberfläche an:

📁 Micro-Share
   Sichere Dateifreigabe
   Sichere freigegebene Dokumente. Bitte überprüfen Sie Ihre E-Mail-Adresse und fahren Sie fort.
   Die folgenden Dokumente wurden sicher für [Opfer]@ingeteam.com freigegeben 

   📄 Spezifikation.pdf
      - RFQ.pdf
      - Projektbeschreibungen.pdf
      - Endziel der Ausrüstung.pdf

                   [ Herunterladen ]

Die Dokumente sind technischer Natur: Angebotsanfragen, Projektspezifikationen, CAD-Dateien. Genau das, was man von einem Mitarbeiter eines Industrieunternehmens erwarten würde.

Wenn das Opfer auf „Herunterladen“ klickt, wechselt die Seite zu einem Anmeldebildschirm mit Microsoft-Branding:

⊞ Microsoft

Anmelden

⚠ Authentifizierung erforderlich. Klicken Sie auf „Weiter“, um sich anzumelden und  den Downloadfortzusetzen.

┌────────────────────────────────────────┐
│ [Opfer]@ingeteam.com                  │  (nur lesbar)
└────────────────────────────────────────┘

Kein Konto? Erstellen Sie eines.
Sie können nicht auf Ihr Konto zugreifen?

                             [ Weiter ]

Die E-Mail-Adresse des Opfers ist bereits ausgefüllt und als schreibgeschützt markiert. Wenn sie auf „Weiter“ klicken, werden sie zum Server für die Erfassung von Anmeldedaten weitergeleitet:

Fenster.location.href = "https://login.siemensergy[.]icu/DIVzTaSF";

Ja, siemensergy[.]icuDas ist ein Typosquatting-Angriff auf Siemens Energy. Der Angreifer hat sich offensichtlich gründlich darüber informiert, mit wem seine Ziele Geschäfte machen.

Anti-Bot-Tricks

Das Phishing-Kit ist nicht auf Spass aus. Es umfasst mehrere Techniken, um automatisierte Analysen zu umgehen.

Es überprüft WebDriver (navigator.webdriver), leere Plugin-Listen und Bildschirmabmessungen von Null. Es filtert User-Agents, die übereinstimmen mit /Bot|Crawl|Spider|Headless|HeadlessChrome/i. Es enthält Honeypot-Formularfelder, die, wenn sie von Bots ausgefüllt werden, den Kill-Switch auslösen. Und der Download-Button bleibt deaktiviert, bis die Seite Mausbewegungen oder Touch-Ereignisse erkennt. Keine Interaktion, kein Phishing.

v1.2.5 geht noch einen Schritt weiter mit einem überraschend ausgeklügelten Mausbewegungsanalysator:

isLegitimateTrajectory() {
  if (this.mouseTrail.length < 20) return false;
  const t = this.mouseTrail.slice(-10);
  const variance = t.reduce((acc, p) => 
    acc + Math.pow(p.x - t[0].x, 2), 0) / 10;
  return variance > 100;
}

Hiermit wird die Abweichung der letzten 10 Mauspositionen berechnet. Wenn sich Ihr Cursor in einer verdächtig geraden Linie bewegt hat (wie es bei einem Bot der Fall wäre), bleibt die Abweichung gering und die Schaltfläche wird nie aktiviert. Echte Menschen bewegen sich unregelmäßig.

Jemand hat sich bei diesem Phishing-Kit wirklich Mühe gegeben.

Fünf Pakete, fünf Ziele, zwei Vorlagen

Die Payload-Versionen zielen nicht nur auf unterschiedliche Personen ab. Sie verwenden zwei verschiedene Phishing-Kit-Designs.

Der v1.2.5 Die Nutzlast (die auf CQFD Composites abzielt) verwendet die Marke „MicroSecure Pro“ mit einem violetten Farbverlauf und der Schriftart Inter. Sie zeigt CAD-Dateien und technische Dokumente als Köder, verfügt über einen ausgeklügelten Mausbewegungsanalysator und sendet Anmeldedaten an oprsys.deno[.]dev.

Der Rest (v1.2.6, opresc, prndn, oprnm, operni) verwenden ein übersichtlicheres „Micro-Share”-Design mit weißem Hintergrund und Segoe UI. Sie zeigen Angebotsanfragen und Projektspezifikationen an, verwenden grundlegende Interaktionsprüfungen und senden Anmeldedaten an die Typosquats von Siemens Energy.

Der v1.2.5 Das Kit ist auffälliger mit Animationen und Farbverläufen im Hintergrund. Die neueren Kits sind minimalistischer und ähneln eher dem tatsächlichen Erscheinungsbild von Microsoft. Möglicherweise hat der Angreifer A/B-Tests durchgeführt und festgestellt, dass einfachere Designs besser konvertieren. Oder vielleicht iterieren sie einfach nur.

Die Nutzlast von CMC America (operni) hat maßgeschneiderte Dokumentenköder für die Lebensmittelindustrie entwickelt: „Produktspezifikationen und Angaben zu Inhaltsstoffen“, „Produktionskapazitätsziele und Betriebsparameter“. Der Angreifer passt seinen Köder individuell an.

Interessant ist die Wahl von C2. Alle aktuellen Ziele werden an Typosquats von Siemens Energy weitergeleitet. Das ist kein Zufall. Ingeteam stellt Windkraftanlagen her. Emagine bietet Ladeinfrastruktur für Elektrofahrzeuge an. Amixon und CMC America stellen industrielle Mischanlagen her (Amixon arbeitet sogar mit Batteriematerialien). Alle sind in Märkten tätig, in denen Siemens Energy eine wichtige Rolle spielt. Der Angreifer hat die Geschäftsbeziehungen seiner Ziele recherchiert.

Beachten Sie die subtile Entwicklung: siemensergy[.]icu (kein Bindestrich) wurde siemens-energie[.]icu (mit Bindestrich). Die zweite Variante ist näher an der Realität. siemens-energie[.]com Domain. Wir haben über DNS bestätigt, dass die Domain ohne Bindestrich überhaupt keine Einträge enthält. Der Angreifer hat sie aufgegeben.

Die Infrastruktur erzählt eine Geschichte

Hier wird es interessant. Wir haben anhand von Zertifikatstransparenzprotokollen überprüft, wann die C2-Infrastruktur eingerichtet wurde. Das erste SSL-Zertifikat für *.siemens-energy[.]icu wurde am 24. Oktober 2025 ausgestellt. Die Verlängerungen erfolgten am 14., 16. und 17. Januar. Die npm-Kampagne begann am 20. Januar.

Der Angreifer registrierte die Domain und erhielt SSL-Zertifikate drei Monate bevor die npm-Pakete erschienen. Lassen Sie das auf sich wirken. Das ist kein Zufall. Jemand hat diese Operation geplant, im Oktober 2025 die Infrastruktur eingerichtet und dann gewartet.

Der C2-Server (163.123.236[.]118) wird von RackGenius gehostet, einem kleinen Hosting-Anbieter in Muskegon, Michigan. Unterdessen ist die ältere v1.2.5 Nutzlast verwendet oprsys.deno[.]dev, das auf Cloud (Deno Deploy) verweist. Kostenloses serverloses Hosting für Phishing. Klassisch. Wir haben das Deno-Team über diese Kampagne informiert, als wir sie entdeckt haben, und sie haben sie sehr schnell entfernt. 

Warum npm + jsDelivr?

Die Datei „package.json“ erzählt die Geschichte:

{
  "keywords": ["jsdelivr", "cdn", "template"],
  "main": "resp/template.min.js"
}

jsDelivr spiegelt npm-Pakete automatisch. Veröffentlichen Sie auf npm und erhalten Sie sofortiges CDN-Hosting unter cdn.jsdelivr[.]net/npm/flockiali@1.2.6/resp/template.min.jsKeine Server zu warten, keine Hosting-Kosten zu bezahlen, und das Opfer sieht eine legitim aussehende CDN-URL anstelle einer dubiosen Phishing-Domain.

Der Zeitplan

20. Januar (vier Versionen in 26 Minuten):

  • 18:03 UTC: Flockiali v1.2.3 (leerer Platzhalter)
  • 18:10 UTC: Flockiali v1.2.4 (Metadaten-Aktualisierung)
  • 18:15 UTC: Flockiali v1.2.5 (CQFD Composites-Ziel)
  • 18:29 UTC: Flockiali v1.2.6 (Ingeteam-Ziel)

22. Januar (fünf weitere Pakete):

  • 09:52 UTC: opresc v1.0.0 (Emagine-Ziel)
  • 12:29 UTC: prndn v1.0.0 (Amixon-Ziel)
  • 12:49 UTC: oprnm v1.0.0 (wieder Amixon)
  • 13:11 UTC: operni v1.2.6 (defekt, leer)
  • 13:16 UTC: operni v1.2.7 (Ziel: CMC America)

Der Angreifer hat eine Liste mit Zielen und arbeitet diese ab. Der Mitarbeiter von Amixon erhielt zwei Pakete im Abstand von 20 Minuten (etwas übertrieben, oder?). Das Paket von CMC America enthielt einen Tippfehler (Wiederholungen/ anstatt Antwort/) und eine fehlerhafte erste Version. Ups. Dieser Angreifer handelt schnell und macht Fehler.

Was sollten Sie tun?

Wenn Sie bei einem der betroffenen Unternehmen arbeiten, überprüfen Sie, ob jemand Links zu jsDelivr-URLs erhalten oder auf etwas im Zusammenhang mit der Dokumentenfreigabe „Micro-Share“ geklickt hat.

E-Mail-Protokolle nach Links durchsuchen, die enthalten cdn.jsdelivr[.]net/npm/flockiali, cdn.jsdelivr[.]net/npm/opresc, cdn.jsdelivr[.]net/npm/prndn, cdn.jsdelivr[.]net/npm/oprnm, oder cdn.jsdelivr[.]net/npm/operniBlockieren Sie die IOC-Domänen an Ihrem Perimeter. Wenn Anmeldedaten eingegeben wurden, ändern Sie diese sofort.

Indikatoren für Kompromittierung

C2-Domänen:

  • login.siemens-energy[.]icu (163.123.236[.]118, RackGenius)
  • login.siemensergy[.]icu (aufgegeben, kein DNS)
  • oprsys.deno[.]dev (34.120.54[.]55, Deno Deploy)

Phishing-URLs:

  • https://login.siemensergy[.]icu/DIVzTaSF
  • https://login.siemens-energy[.]icu/DIVzTaSF

jsDelivr-URLs:

  • hxxps://cdn.jsdelivr[.]net/npm/flockiali@1.2.6/resp/template.min.js
  • hxxps://cdn.jsdelivr[.]net/npm/flockiali@1.2.5/resp/template.min.js
  • hxxps://cdn.jsdelivr[.]net/npm/opresc@1.0.0/resp/template.min.js
  • hxxps://cdn.jsdelivr[.]net/npm/prndn@1.0.0/template.min.js
  • hxxps://cdn.jsdelivr[.]net/npm/oprnm@1.0.0/resp/template.min.js
  • hxxps://cdn.jsdelivr[.]net/npm/operni@1.2.7/reps/template.min.js

Pakete:

  • Flockiali (1.2.3–1.2.6)
  • opresc (1.0.0)
  • prndn (1.0.0)
  • oprnm (1.0.0)
  • operni (1.2.6–1.2.7)

Nutzlast-Hashes (SHA256):

  • 3ceb182fb32a8fb0f0fcf056d6ab8de1cf6e789053f1aadc98ba315ae9a96f0c – flockiali 1.2.6
  • fdb6c79a8d01b528698c53ebd5030f875242e6af93f6ae799dee7f66b452bf3e – flockiali 1.2.5
  • 4631584783d84758ae58bc717b08ac67d99dee30985db18b9d2b08df8721348e – opresc
  • 211f88a55e8fe9254f75c358c42bb7e78e014b862de7ea6e8b80ed1f78d13add – prndn/oprnm
  • 7d7f795ac1fcb5623731a50999f518877fd423a5a98219d0f495c488564a1554 – operni 1.2.7

4.7/5

Sichern Sie Ihre Software jetzt.

Kostenlos starten
Ohne Kreditkarte
Demo buchen
Ihre Daten werden nicht weitergegeben · Nur Lesezugriff · Keine Kreditkarte erforderlich

Werden Sie jetzt sicher.

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.