Select your country

Not finding what you are looking for, select your country from our regional selector:

Suche

CyberSOC Insights: Untersuchung einer AiTM-Phishing-Kampagne unter Missbrauch von npm, GitHub und öffentlichen CDNs

Übersicht

Anfang Juli untersuchte das CyberSOC einen Phishing-Vorfall, der zur Kompromittierung eines Accounts führte. Zusätzliche Sicherheitsmaßnahmen verhinderten, dass der Angreifer weiteren Zugriff erhielt, wodurch die Auswirkungen minimiert werden konnten. Dieser Vorfall veranlasste uns jedoch, die verwendeten Phishing-Taktiken genauer zu untersuchen. In Zusammenarbeit mit dem World Watch-Team deckte unsere Untersuchung eine weit verbreitete Phishing-Kampagne auf, die wahrscheinlich Tausende von Benutzern in mehreren Ländern, insbesondere in Europa, zum Ziel hatte. Bemerkenswert ist, dass diese Kampagne seit mehr als einem Jahr aktiv ist – ein klares Zeichen für die Hartnäckigkeit und Anpassungsfähigkeit des Angreifers.

Der ursprüngliche Incident

Unsere Nachforschungen wurden nach einem Incident Anfang Juli eingeleitet, bei dem wir ungewöhnliche Anmeldeversuche von einem Benutzerkonto festgestellt haben. Die Analyse ergab, dass der Benutzer Opfer eines Phishing-Angriffs geworden war. Die Phishing-E-Mail enthielt einen HTML-Anhang und wurde von einer gespooften Domain versendet, die einer legitimen Firma aus derselben Branche wie das Zielunternehmen ähnelte. Der HTML-Anhang bestand hauptsächlich aus einigen <meta>-Tags und einem <script>-Tag, das auf ein npm-Paket verwies, das auf dem Content Delivery Network (CDN) jsDelivr gehostet wurde.

Script-Tag im HTML-Phishing-Anhang:

 

<script src="hxxps://cdn[.]jsdelivr[.]net/npm/libramat283@4[.]1[.]12/library/compass[.]min[.]js">
</script>

 

Der Node Package Manager (npm) ist ein weit verbreiteter Paketmanager für die Programmiersprache JavaScript. Die Anfrage der JavaScript-Datei zeigte einen hochgradig verschleierten Code, wie in Abbildung 1 dargestellt.

Abbildung 1: JavaScript-Datei, gehostet auf jsDelivr

Ähnliche Verschleierungstechniken wurden von Sekoia in ihrer Tycoon2FA-Analyse beschrieben und wurden wahrscheinlich mit dem Open-Source javascript-obfuscator durchgeführt.

Der Code zeigte eine Konfiguration mit Zieladdressen, zu denen der Benutzer weitergeleitet werden sollte. Die Ziel-URL bestand aus einer Basis-URL, in diesem Fall hxxps://fastflow[.]online/wlc/, sowie einer zusätzlichen Kennung. Die folgende Anfrage an diese URL führte dann zu einer gefälschten OneDrive-Seite, die als Zwischenschritt diente. Durch Klicken auf einen der Links auf dieser Seite wurde eine M365-Phishing-Seite von der Domain calmiquello1778[.]com abgerufen.

Abbildung 2: Gefälschte OneDrive-Seite und M365-Anmeldeformular

Weitere Untersuchungen zur Domain fastflow[.]online zeigten, dass sieauf der IP-Adresse 47.253.40[.]255 gehostet war. Mit dieser IP waren viele weitere verdächtige Domains verbunden. Eine anschließende Überprüfung der IP auf VirusTotal offenbarte hunderte kommunizierende HTML-Dokumente. Daraus folgte unsere Annahme, dass es sich hierbei um eine größere Phishing-Kampagne handeln könnte.

Die Kampagne

Identifizierung der Infrastruktur des Angriffs 

Ausgehend von der IP-Adresse „47.253.40[.]255“ setzten wir unsere Untersuchung fort und identifizierten weitere IP-Adressen, die eine hohe Anzahl ähnlicher kommunizierender HTML-Dateien und zugehöriger Domains aufwiesen. Die Überprüfung der Werte unter „Date resolved“ ergab einen Zeitrahmen, in dem die IP-Adressen vom Angreifer verwendet wurden.

Tabelle 1 Mit Redirector-Domains (z.B. fastflow[.]online) verbundene IPs

 

IP

Resolved Date - first domain

Resolved Date - last domain

13.52.156[.]46

2024-07-03

2024-10-30

13.57.116[.]250

2024-11-03

2025-01-31

3.22.133[.]223

2025-02-03

2025-03-04

47.253.40[.]255

2025-03-03

Current

 

Viele der mit den IPs verbundenen Domains wurden ausschließlich von HTML-Dateien kontaktiert. Diese HTML-Dateien wiesen ähnliche Eigenschaften auf wie der Phishing-Anhang, den wir im zuvor beschriebenen Vorfall beobachtet haben. Daher ist es sehr wahrscheinlich, dass diese Domains ebenfalls als Redirector-Domains genutzt wurden, die gefälschte OneDrive-Seiten hosten.

Anhand der Domains lässt sich die Infrastruktur des Angriffs bis Anfang Juli 2024 zurückverfolgen, was darauf hindeutet, dass diese Kampagne seit über einem Jahr läuft.

 

​​​​​​​Hosting Plattformen

Nachdem wir die mit den Redirector-Domains verknüpften bösartigen IP-Adressen identifiziert hatten, analysierten wir anschließend die HTML-Dateien, die mit der Infrastruktur des Angreifers kommunizierten. Während im ersten Incident der HTML-Phishing-Anhang einen Link zum npm-Paket „libramat283“ auf jsDelivr enthielt, zeigte sich, dass andere HTML-Phishing-Anhänge auf verschiedene npm-Pakete und unterschiedliche Hosting-Plattformen verwiesen. Auf Basis der an unsere Kunden gesendeten HTML-Anhänge sowie der über VirusTotal verfügbaren Samples konnten wir die folgenden Hosting-Methoden identifizieren, über die die bösartigen JavaScript-Dateien geladen wurden:

  • Staticsave.com
  • GitHub-Repositories des Kontos Accounts “mrmdgl”
    • Gehostet auf jsDelivr
    • Gehostet auf statically.io
  • npm packages
    • Gehostet auf jsDelivr
    • Gehostet auf unpkg
  • Domains im Besitz des Angreifers

Die folgende Zeitachse zeigt, wann und wie lange die verschiedenen Hosting-Methoden verwendet wurden, basierend auf den HTML-Phishing-Anhängen in VirusTotal.

 

Abbildung 3: Zeitachse der Plattformen, die zum Hosten bösartiger JavaScript-Dateien verwendet werden

Die Auswertung der Zeitachse zeigt, dass der Angreifer vor allem npm-Pakete auf jsDelivr für seinen bösartigen JavaScript-Code verwendete. Insgesamt konnten wir rund 60 npm-Pakete identifizieren, die mit dieser Kampagne in Verbindung stehen.

​​​​​​​Packete auf npm

Viele der npm-Pakete waren bereits als bösartig markiert, als wir die Kampagne entdeckten. In einigen Fällen waren die zugehörigen Dateien jedoch weiterhin auf jsDelivr zugänglich. Das gleiche Problem wurde 2023 von Checkpoint beschrieben, wo ein Angreifer ebenfalls npm-Pakete auf jsDelivr als Teil einer Phishing-Kampagne verwendete. Um die Verfügbarkeit der bösartigen JavaScript-Dateien dauerhaft sicherzustellen, veröffentlichte der Angreifer im Rahmen der von uns untersuchten Kampagne immer wieder neue npm-Pakete. Ein Beispiel dafür ist der Ersteller des Pakets „libramat283“, der innerhalb von zwei Wochen zwei Pakete mit verschleiertem JavaScript-Code online stellte.

Abbildung 4: Account, der zwei der bösartigen npm-Pakete erstellt hat

Weitere Nachforschungen führten uns zu zusätzlichen aktiven Paketen, die wir anschließend an npm und jsDelivr meldeten.

Abbildung 5: Bösartige npm-Pakete, die im Abstand von mehreren Wochen erstellt wurden

GitHub Account

Wie die Zeitachse zeigt, nutzte der Angreifer zunächst GitHub-Repositories, bevor er auf npm-Pakete umstieg. Alle Repositories wurden vom Benutzer „mrmdgl“ erstellt, der selbst am 8. Juli 2024 angelegt wurde. Die Analyse dieses Accounts lieferte wertvolle Erkenntnisse zur Entwicklung der Phishing-Kampagne. Sie begann mit dem ersten Repository namens „resp1“, in das die drei Dateien „main.js“, „core.js“ und „app.js“ hochgeladen wurden.

Figure 6: GitHub repository “resp1” by user “mrmdgl”

Die Originalversion von „main.js“ war eine Klartext Version eines bösartigen JavaScripts. Der zweite Commit aktualisierte diese Datei dann zu einer verschleierten Version mit sehr ähnlichen Merkmalen wie in den neueren Dateien der Kampagne.

Abbildung 7: Commit des verschleierten bösartigen Skripts

Versionen der Dateien „core.js” und „app.js”, die im GitHub-Repository zu sehen sind, wurden auf staticsave gehostet.

hxxps://static[.]staticsave[.]com/cdnjsme/core.js
hxxps://static[.]staticsave[.]com/cdnjsme/app.js

Ab September 2024 folgten weitere Repositorys mit ähnlich verschleierten JavaScript-Dateien. Diese wurden dann auf statically.io gehostet und unterschieden sich leicht von den ursprünglichen JavaScript-Dateien im Repository „resp1“.

Eine weitere bemerkenswerte Aktivität von „mrmdgl“ war das Hinzufügen des Evilginx2-Phishing-Framework-Repositorys. Zu diesem Repository gab es einen Commit, der die Domain „grabberhub.assetswix[.]icu“ hinzufügte, um Sitzungsdetails zu erfassen.

Abbildung 8: Repositorys des GitHub-Kontos „mrmdgl“

Gespoofte Absender

Die Phishing-E-Mails, die an unsere Kunden gesendet wurden, stammten von E-Mail-Adressen mit gespooften Domains. Die meisten Unternehmen, die mit den legitimen Domains in Verbindung standen, waren Teil der Fertigungs- oder Maschinenbauindustrie.

 

Legitimate domain

Spoofed sender domain

dmsplast.com

dmsplasts[.]com

yushinautomation.com

yushinautomations[.]com

strojimport.com

strojimports[.]com

bmoautomation.nl

bmoautomations[.]com

starcellspa.com

stercellspa[.]com

Geografische Verteilung

Viele Dateinamen der HTML-Phishing-Anhänge, die auf VirusTotal hochgeladen wurden, enthielten Domainnamen, die zu Unternehmen gehören. Unter der Annahme, dass es sich hierbei um die Unternehmen handelt, an die die Phishing-E-Mails gesendet wurden, haben wir eine geografische Verteilung der Ziele berechnet. Auf der Grundlage von 173 Unternehmen handelt es sich hierbei um eine grobe Schätzung, auf welche Regionen sich die Phishing-Kampagne möglicherweise konzentriert hat. Abbildung 9 zeigt diese Verteilung, wonach 60 % der Ziele in Europa lagen, gefolgt von den USA mit 26 %. Innerhalb Europas war Deutschland mit 36 Unternehmen das am stärksten betroffene Land.

Abbildung 9: Geografische Verteilung der Ziele basierend auf den Namen der Phishing-Anhänge

Zusammenfassung von Teil 1

Im ersten von zwei Teilen haben wir die Entdeckung und Untersuchung einer Phishing-Kampagne beschrieben, bei der seit über einem Jahr npm-Pakete, GitHub-Repositories und öffentliche CDNs missbraucht werden. Die Untersuchung begann mit einem Vorfall verdächtiger Anmeldeversuche auf ein Benutzerkonto, der uns zur Identifikation eines bösartigen Phishing-Anhangs führte.

Weitere Analysen deckten die umfangreiche Infrastruktur des Angreifers auf: IP-Adressen, die Redirector-Domains hosten, zahlreiche bösartige npm-Pakete, ein GitHub-Konto und gefälschte Domains, über die Phishing-E-Mails versendet wurden. Die Zeitachse dieser Aktivitäten zeigt, dass die Kampagne bereits seit mehr als einem Jahr aktiv ist.

Im zweiten Teil werden wir den detaillierten Ablauf des Angriffs untersuchen, mit besonderem Fokus auf das Adversary-in-the-Middle-Framework (AiTM) Evilginx und auf Anti-Debugging-Techniken, die in den bösartigen JavaScript-Dateien verwendet werden. Außerdem betrachten wir Strategien zur Erkennung und Abwehr dieser Bedrohungen.

Incident Response Hotline

Ein Cybersecurity Incident, bei dem Sie sofortige Hilfe benötigen?

Kontaktieren Sie unsere 24/7/365 Incident Response Hotline.