Die Verwendung eingebetteter HTML-Dokumente in Phishing-E-Mails ist eine Standardtechnik, die von Cyberkriminellen eingesetzt wird. Dadurch entfällt die Notwendigkeit, Links in den E-Mail-Text einzufügen, was Antispam-Engines und E-Mail-Antivirenprogramme normalerweise problemlos erkennen. HTML bietet mehr Möglichkeiten als E-Mail, Phishing-Inhalte zu tarnen.
Es gibt zwei Haupttypen von HTML-Anhängen, die Cyberkriminelle verwenden: HTML-Dateien mit einem Link zu einer gefälschten Website oder eine vollwertige Phishing-Seite. Im ersten Fall können die Angreifer nicht nur einen Link in der Datei verbergen, sondern den Benutzer beim Öffnen dieser Datei auch automatisch auf die betrügerische Seite umleiten. Die zweite Art von HTML-Anhang ermöglicht es, die Erstellung der Website ganz zu überspringen und Hosting-Kosten zu sparen: Das Phishing-Formular und das Skript, das die Daten sammelt, werden direkt in den Anhang eingebettet. Darüber hinaus kann eine HTML-Datei wie eine E-Mail entsprechend dem beabsichtigten Opfer und dem Angriffsvektor geändert werden, was personalisiertere Phishing-Inhalte ermöglicht.


Abb.1. Beispiel-E-Mail mit HTML-Anhang
Struktur von Phishing-HTML-Anhängen
Phishing-Elemente in HTML-Anhängen werden normalerweise mithilfe von JavaScript implementiert, das die Weiterleitung des Benutzers auf eine Phishing-Site oder das Sammeln und Senden von Anmeldeinformationen an Betrüger übernimmt.

Abb. 2. Phishing-HTML-Seite und ihr Quellcode
Typischerweise sendet die HTML-Seite Daten an eine im Skript angegebene schädliche URL. Einige Anhänge bestehen vollständig (oder größtenteils) aus einem JS-Skript.
Im E-Mail-Quellcode sieht der HTML-Anhang wie einfacher Text aus, der normalerweise Base64-codiert ist.

Abb. 3. HTML-Anhang im E-Mail-Quellcode
Wenn eine Datei bösartige Skripte oder Links im Klartext enthält, kann die Sicherheitssoftware sie schnell analysieren und blockieren. Um dies zu vermeiden, greifen Cyberkriminelle auf verschiedene Tricks zurück.
JavaScript-Verschleierung
JavaScript-Verschleierung ist eine der am häufigsten verwendeten Techniken zur Verschleierung von HTML-Anhängen. Um zu verhindern, dass die URL in der Datei schnell erkannt und blockiert wird, verschleiern Phisher entweder den Phishing-Link selbst oder das gesamte Skript und manchmal auch die gesamte HTML-Datei. In manchen Fällen verschleiern Cyberkriminelle den Code manuell, oft nutzen sie jedoch vorgefertigte Tools, von denen viele frei verfügbar sind, wie etwa JavaScript Obfuscator .
Wenn wir beispielsweise den HTML-Anhang in der angeblich von der HSBC Bank stammenden Phishing-E-Mail (siehe Abb. 1) in einem Texteditor öffnen, sehen wir einen ziemlich verwirrenden JS-Code, der scheinbar weder auf das Öffnen eines Links noch darauf hinweist jede andere sinnvolle Aktion.

Abb. 4. Beispiel für Verschleierung in einem HTML-Anhang
Tatsächlich handelt es sich jedoch um ein verschleiertes Skript, das den Benutzer auf eine Phishing-Site weiterleitet. Um den Phishing-Link zu verschleiern, verwendeten die Angreifer ein vorgefertigtes Tool, mit dem wir das Skript leicht entschlüsseln konnten.

Abb. 5. Entschlüsseltes Skript aus einem E-Mail-Anhang, der scheinbar von der HSBC Bank stammt: Link zur Weiterleitung des Benutzers
Wenn ein Skript, ein Link oder eine HTML-Seite manuell verschleiert wird, ist es viel schwieriger, den ursprünglichen Code wiederherzustellen. Um Phishing-Inhalte in einer solchen Datei zu erkennen, ist möglicherweise eine dynamische Analyse erforderlich, die das Ausführen und Debuggen des Codes umfasst.
Codierung
Manchmal verwenden Angreifer interessantere Methoden. In einer Phishing-E-Mail fanden wir beispielsweise einen ungewöhnlichen HTML-Anhang. Wie im obigen Beispiel enthielt es JavaScript. Da der Code so kompakt war, könnte man meinen, dass er das Gleiche tat wie der Code in der gefälschten HSBC-E-Mail – nämlich den Benutzer auf eine Phishing-Site umzuleiten. Aber als wir es ausführten, fanden wir eine vollwertige Phishing-Seite, die in diesem kleinen Skript codiert war.

Abb. 6. HTML-Datei mit der Methode unescape() – der Quellcode der Datei enthält nur fünf Zeilen, von denen eine leer ist

Abb. 7. Phishing-Seite im HTML-Anhang
Die Cyberkriminellen nutzten einen interessanten Trick, bei dem es sich um die veraltete JS-Methode unescape() handelt. Diese Methode ersetzt die „%xx“-Zeichenfolgen durch ihre ASCII-Entsprechungen in der an sie übergebenen Zeichenfolge. Wenn wir das Skript ausführen und den Quellcode der resultierenden Seite anzeigen, sehen wir einfaches HTML.

Abb. 8. Die resultierende HTML-Datei
Anstelle von unescape() verwendet JavaScript jetzt die Methoden decodeURI() und decodeURIComponent(), die meisten modernen Browser unterstützen jedoch weiterhin unescape(). Wir können nicht sicher sagen, warum die Angreifer eine veraltete Methode gewählt haben, aber es könnte daran liegen, dass moderne Methoden eher von Antispam-Engines interpretiert und erkannt werden.
Statistiken
In den ersten vier Monaten des Jahres 2022 haben die Sicherheitslösungen von Kaspersky fast 2 Millionen E-Mails mit schädlichen HTML-Anhängen entdeckt. Fast die Hälfte davon (851.328) wurde im März entdeckt und blockiert. Der Januar war der ruhigste Monat. Unsere Antispam-Lösungen erkannten 299.859 E-Mails mit Phishing-HTML-Anhängen.
https://e.infogram.com/_/RJfpgOWY4DJscTn5S7Rk?parent_url=https%3A%2F%2Fsecurelist.com%2Fhtml-attachments-in-phishing-e-mails%2F106481%2F&src=embed#async_embed
Anzahl der erkannten E-Mails mit schädlichen HTML-Anhängen, Januar–April 2022 ( Download )
Abschluss
Phisher nutzen verschiedene Tricks, um die E-Mail-Blockierung zu umgehen und möglichst viele Nutzer auf ihre betrügerischen Seiten zu locken. Eine gängige Technik sind HTML-Anhänge mit teilweise oder vollständig verschleiertem Code. Mithilfe von HTML-Dateien können Angreifer Skripte verwenden, bösartige Inhalte verschleiern, um deren Erkennung zu erschweren, und Phishing-Seiten als Anhänge statt als Links versenden.
Die Sicherheitslösungen von Kaspersky erkennen HTML-Anhänge, die Skripte enthalten, unabhängig von der Verschleierung.


