Select your country

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

Suche

Teil 2 – CyberSOC Insights: Untersuchung einer AiTM-Phishing-Kampagne

Autor:

André Henschel
Cyber Security Analyst

Übersicht

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.

Angriffsablauf im Detail

Anfängliche JavaScript- Execution

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/ico38p9d

Redirector Domains

Die 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.

Abbildung 1: Redirector-Seite, die OneDrive imitiert.

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.js

Phishing-Seite und Anti-Debug-Funktionen

Durch 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.

Abbildung 2: Popup-Fenster für Authentifizierungsformular von Phishing-Domain.

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.

Abbildung 3: Skript mit Anti-Debugging-Funktionen.

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/authorizeSekoia global AiTM report
hxxps://landing[.]lockbase[.]online/common/GetCredentialTypeSekoia global AiTM report
hxxps://landing[.]lockbase[.]online/s/Evilginx 3.2 update

Diebstahl von Anmeldedaten

Das Skript „home.js“ ist dafür verantwortlich, die gesammelten Daten an den vom Angreifer kontrollierten Server unter der URI „/fwd/api“ zu senden.

Abbildung 4: Ausschnitt aus dem Skript „home.js“, das für das Senden von Daten an den vom Angreifer kontrollierten API-Endpunkt verantwortlich ist.

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.\\\"}\"}"
}

 

 

Visuelle Übersicht über den Ablauf des Angriffs

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.

Abbildung 5: Schritte während des Phishing-Prozesses.

Aktuelle Erkennungsraten

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:

 

IPNicht geflaggte kommunizierende DateienGesamtzahl der kommunizierenden Dateien
47.253.40[.]255216310
3.22.133[.]2237276
13.57.116[.]250126176
13.52.156[.]46211244

 

Beispiele für verschleierte JavaScript-Dateien aus den npm-Paketen werden oft gar nicht oder nur von einem Anbieter als bösartig erkannt.

Abbildung 6: Erkennungsraten von ursprünglichen JavaScript-Dateien.

KQL-Suche nach HTML-Anhängen, die URLs zu jsDelivr enthalten

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

Mitigation techniques

  • Um zu verhindern, dass Phishing-E-Mails an Benutzer zugestellt werden, implementieren Sie Anti-Phishing-Lösungen, die eingehende E-Mails auf verdächtige Links und Anhänge überprüfen.
  • Phishing-resistente MFA kann vor Angriffen schützen, die Phishing-Frameworks wie Evilginx verwenden, welche in der Lage sind, herkömmliche MFA zu umgehen.
  • Um zu verhindern, dass Angreifer auch bei einem erfolgreichen Phishing-Versuch Zugriff erhalten, implementieren Sie Conditional Access Policies, um nicht autorisierte Zugriffe einzuschränken.
  • Im Falle eines erfolgreichen Phishing-Angriffs und des Zugriffs durch einen Angreifer ist eine kontinuierliche Überwachung zur schnellen Erkennung und Reaktion unerlässlich.

Fazit

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.

Anhang

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

 

 

Incident Response Hotline

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

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