
23 September 2025


André Henschel
Cyber Security Analyst
Anfang Juli untersuchte das CyberSOC einen Phishing-Vorfall, der zur Kompromittierung eines Accounts führte. Dieser Vorfall veranlasste uns, 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.
Im zweiten Teil beschreiben wir den Ablauf der Phishing-Angriffe, welche sich das Adversary-in-the-Middle-Framework (AiTM) Evilginx sowie Anti-Debugging-Techniken in bösartigen JavaScript-Dateien zunutze machen. Außerdem betrachten wir Ansätze zur Erkennung und Abwehr dieser Angriffe.
Nach dem Öffnen des HTML-Phishing-Anhangs wird die initiale JavaScript-Datei ausgeführt. Der Code enthält eine Base64-kodierte Domain, während eine Kampagnen-ID in den HTML-Anhang eingebettet ist. Zusammen ergeben diese eine URL, die eine gefälschte OneDrive-Seite anzeigt, zu der das Opfer weitergeleitet wird.
Beispiel-URL, die zu einer gefälschten OneDrive-Seite führt:
hxxps://hexrestore[.]online/load/ico38p9dDie in Abbildung 1 gezeigte gefälschte OneDrive-Seite fungiert als Redirector, welches eine Komponente des Evilginx-Frameworks ist. Wie im ersten Teil beschrieben, wurde ein Evilginx2-Repository im GitHub-Konto „mrmdgl“ erstellt. Zusammen mit den in Tabelle 1 aufgeführten URL-Mustern ist es demnach sehr wahrscheinlich, dass der Angreifer eine modifizierte Version des Evilginx-Frameworks verwendet hat.
Evilginx ist ein Adversary-in-the-Middle-Phishing-Framework (AiTM), das zwischen dem Opfer und einer legitimen Anmeldeseite agiert, um Benutzeranmeldedaten und Sitzungstoken abzufangen, wodurch Sicherheitsmaßnahmen wie die Multi-Faktor-Authentifizierung umgangen werden können.

Zusätzlich werden die folgenden zwei JavaScript-Dateien geladen. Beide sind mit dem gleichen Obfuscator verschleiert wie das ursprüngliche Skript.
hxxps://hexrestore[.]online/assets/load/js/home.js
hxxps://hexrestore[.]online/assets/load/js/sec.jsDurch Klicken auf eine angezeigte Datei oder Schaltfläche auf der Redirector-Seite gelangt der Benutzer zur eigentlichen Phishing-Seite. Die zuvor geladene JavaScript-Datei „home.js“ ist für diese Umleitung verantwortlich und öffnet ein gefälschtes Anmeldeformular in einem Popup-Fenster.

Das zweite Skript mit dem Namen „sec.js“ enthält Anti-Debugging-Funktionen, die verschiedene Tasten wie F12 für die Entwicklerkonsole sowie Rechtsklicks deaktivieren.

Die angefragten URLs auf dem gefälschten Anmeldeformular entsprechen den aus dem Evilginx-Framework bekannten Mustern, darunter die folgenden Beispiele::
Abgleich mit Evilginx-URL-Mustern:
| URL (-Teil) | Referenz |
| hxxps://landing[.]lockbase[.]online/common/oauth2/v2.0/authorize | Sekoia global AiTM report |
| hxxps://landing[.]lockbase[.]online/common/GetCredentialType | Sekoia global AiTM report |
| hxxps://landing[.]lockbase[.]online/s/ | Evilginx 3.2 update |
Das Skript „home.js“ ist dafür verantwortlich, die gesammelten Daten an den vom Angreifer kontrollierten Server unter der URI „/fwd/api“ zu senden.

Zuvor wird die IP-Adresse des Opfers durch eine Anfrage an „ipinfo[.]io“ abgerufen. Die gesendeten Daten umfassen das Passwort, die E-Mail-Adresse, die IP-Adresse, die Stadt, die Region, das Land, die Zeitzone, die aktuelle Uhrzeit, das aktuelle Datum, den User-Agent und eine voreingestellte group_id des Opfers.
Sind die Daten vollständig, wird eine Antwort mit Statusinformationen empfangen, die darauf schließen lässt, dass die Daten per E-Mail und Telegram an den Angreifer gesendet werden.
{
"status": "success",
"message": "Data sent successfully",
"apiResponse": "{
\"status\":\"success\",
\"message\":\"Data forwarded.\",
\"email_response\":\"{\\\"status\\\":\\\"success\\\",
\\\"message\\\":\\\"em st....\\\"}\",
\"telegram_response\":\"{\\\"status\\\":\\\"success\\\",
\\\"message\\\":\\\"Message sent to Telegram.\\\"}\"}"
}
Um die Abfolge der von den Angreifern während dieser Phishing-Kampagne durchgeführten Aktionen besser zu veranschaulichen, bietet Abbildung 5 einen grafischen Überblick über den gesamten Prozess. Dieser umfasst die Phasen vom E-Mail-Versand und der Ausführung der ersten bösartigen JavaScript-Datei bis hin zur endgültigen Datenexfiltration und dem AiTM-Vorgang.

Derzeit werden 625 der 806 HTML-Dateien, die auf die vier mit der Kampagne verbundenen IP-Adressen verweisen, von VirusTotal nicht als bösartig gekennzeichnet.
Erkennungsraten von HTML-Phishing-Anhängen:
| IP | Nicht geflaggte kommunizierende Dateien | Gesamtzahl der kommunizierenden Dateien |
| 47.253.40[.]255 | 216 | 310 |
| 3.22.133[.]223 | 72 | 76 |
| 13.57.116[.]250 | 126 | 176 |
| 13.52.156[.]46 | 211 | 244 |
Beispiele für verschleierte JavaScript-Dateien aus den npm-Paketen werden oft gar nicht oder nur von einem Anbieter als bösartig erkannt.

EmailAttachmentInfo
| where FileType has_any ("html", "htm") or FileName endswith ".html" or FileName endswith ".htm"
| join kind=inner (
EmailUrlInfo
| where Url contains "jsDelivr"
) on NetworkMessageId
| project SenderFromAddress, RecipientEmailAddress, FileName, Url
Diese Fallanalyse gibt einen Einblick in die Entwicklung einer seit über einem Jahr aktiven Phishing-Kampagne. Die Untersuchung der damit verbundenen Infrastruktur zeigte eine kontinuierliche Rotation der bösartigen JavaScript-Dateien, die über Plattformen wie npm verfügbar gemacht und auf öffentlichen CDNs wie jsDelivr gehostet wurden. Der Angreifer änderte häufig die Redirector- und Phishing-Domains sowie die E-Mail Absender-Domains. Während der Kampagne nutzte der Angreifer verschiedene Hosting-Plattformen – darunter staticsave, unpkg und jsDelivr –, was seine Anpassungsfähigkeit unter Beweis stellte und es ihm ermöglichte, eine lang andauernde Phishing-Operation aufrechtzuerhalten.
Mithilfe von Verschleierungs- und Anti-Debugging-Maßnahmen sowie einer Version des Phishing-Frameworks Evilginx gelang es dem Angreifer, Sicherheitskontrollen zu umgehen und weitgehend unentdeckt zu bleiben.
Während der Untersuchung dieser Kampagne beobachteten wir mehrere andere Kampagnen, bei denen GitHub in Kombination mit jsDelivr missbraucht wurde, was deutlich macht, dass dies nach wie vor eine verbreitete Vorgehensweise von Angreifern ist.
IoCs
IPs, die Redirector-Domains hosten
| 13.52.156[.]46 |
| 13.57.116[.]250 |
| 3.22.133[.]223 |
| 47.253.40[.]255 |
Bestätigte Redirector-URLs
| hxxps://credopass[.]online/utils/ |
| hxxps://fastflow[.]online/wlc/ |
| hxxps://flexkits[.]online/wlc/ |
| hxxps://hexrestore[.]online/load/ |
| hxxps://jigstro[.]cloud/wlc/ |
| hxxps://leoclouder[.]online/load/ |
| hxxps://leoclouder[.]online/success/ |
| hxxps://livestore[.]click/wlc/ |
| hxxps://mountcdn[.]online/wlc/ |
| hxxps://mountcdn[.]online/utils/ |
| hxxps://netlinkcdn[.]online/success/ |
| hxxps://portalloop[.]online/web/ |
| hxxps://stitchkit[.]online/wlc/ |
| hxxps://trustloop[.]online/wlc/ |
| hxxps://trustloop[.]online/huck/ |
| hxxps://ajaxcloudie[.]online/wlc/ |
Phishing-Seiten-Domains
| calmiquello1778[.]com |
| tokenresolverdsn[.]click |
| stitchkit[.]online |
| gateflux[.]online |
| credopass[.]online |
| lockbase[.]online |
| trustloop[.]online |
| landruim[.]online |
| fitnessliness-sa[.]com |
Gespoofte Phishing-Absender-Domains
| dmsplasts[.]com |
| yushinautomations[.]com |
| sinalcabo-pt[.]com |
| straemer-electric[.]com |
| ec-pac[.]com |
| azco-corp[.]com |
| piasskowanie[.]net |
| masqtec-za[.]co |
| dakinaplied[.]com |
| strojimports[.]com |
| bmoautomations[.]com |
| stercellspa[.]com |
| gmsfeedingsystem[.]com |
| arrotec[.]com |
Bösartige npm-Packete
| adril712 |
| ajazious261 |
| appluidio33 |
| basementio |
| blipkitgit |
| boostrapsio |
| bundleliep |
| buuwoej |
| ciomiojui |
| emitteryhubs |
| flockulick |
| gilbriatedir |
| gioenduek |
| hioesjri |
| houimlogs22 |
| hubmabels |
| hushlockler |
| jiopeyrie |
| jwieo |
| jwoiesk11 |
| kdliws |
| kiwoeslw |
| libramat283 |
| lienkible |
| lineluders |
| maplesle16 |
| mappleiu |
| miesjdheo |
| miwoeuns |
| miwueors |
| mockupnul |
| modules9382 |
| mooduliop |
| netnodepushlab |
| nodemantle002 |
| nullsaferaw |
| ooflienro |
| polyfill039 |
| pushlabzy |
| schemacachiie |
| scriptstierium11 |
| shueoiwsi |
| suepluxie |
| sync365 |
| taiwinders |
| teiwosjd |
| tioowur |
| towieur |
| trigiated |
| universalsdk234 |
| utilioep |
| vampuleerl |
| viwoeise |
| vsieor |
| vskiwe |
| vwirow |
| weirueod |
| woodiorers |
| zworikso |

23 September 2025

15 September 2025

25 September 2025

5 September 2025