Einleitung

Seit einigen Monaten arbeite ich hin und wieder an diesem Verfahren, das es einem ermöglicht, auch an ansonsten sehr robust konfigurierten Proxies vorbeizukommen, aber auch Endpoint-Basierte Schutzmechanismen zu umgehen, deren primäre verteidigung die Quelle eines Dateidownloads ist. Der grundsätzlich Ablauf des Verfahrens ist relativ einfach. Am besten lässt es sich an einem Beispiel verstehen:

1. Stufe - Seltsame E-Mail

Der Benutzer hat diese Mail bekommen: E-Mail mit HTML anhang Die meisten Benutzer werden diesen Anhang vermutlich öffnen, da sie nichts verwerfliches daran sehen.

2.Stufe - Download der Datei aus dem Browser

Das öffnen der Datei führt dann zu dieser Seite: “Secure File” Portal In diesem Beispiel ist die HTML-Seite bewusst sehr einfach gehalten und nicht obfuscated oder anderweitig modifiziert. Auf dieser Seite könnten ggf. auch Instruktionen zum weiteren Verfahren sein.

3.a Stufe - Entblocken

Wenn das Attachment auf einem Windows-Computer geöffnet wurde und ein Microsoft Office-Dokument ist, muss - je nach Zonen-Einstellungen - die Datei “Entblockt” werden. Dies kann allerdings dann mit einem Mark-Of-The-Web-Bypass umgangen werden. Hierfür können die Dateien z.B. in einem Archiv oder Filesystem-Container untergebracht werden, der kein NTFS beherrscht (etwa ISO 9660), oder über einen weniger offensichtlichen Loader geöffnet werden. Unter Linux/UNIX-Systemen muss hier in der Regel das Execute-Bit auf der Datei gesetzt werden, sofern die Datei ausführbar sein soll.

3.b - Dateien sind lokal auf dem Computer

Bei Dateitypen, die keiner so starken Absicherung unterliegen, oder bei Systemen, die dieses Prinzip der Absicherung nicht nutzen, steht die Datei im vollen Umfang zur Verfügung. Wird der Benutzer jetzt dazu angeleitet, die Warnung gegen das Ausführen von aus dem Internet heruntergeladenen Dateien zu ignorieren (oder diese wird umgangen), kann Schadcode ausgeführt werden. Da die Datei auf dem Rechner selbst generiert wird und nicht aus dem Internet kommt, greifen auch viele Antivirus/EDR-Tools nicht unbedingt ein.

4. Stufe - Exploitation

Nachdem die Malware an den Netzwerk - und manchen Endpoint - angekommen ist und optimalerweise vom Anwender ausgeführt wurde, kann der Computer übernommen werden und sich weiter im Netzwerk verbreitet werden.

Wie funktioniert es?

Web- und Emailfilter (Proxy, Gateway, File inspection etc.) führen in der Regel keine dynamische Analyse von Dateien (e-Mail-Anhängen, heruntergeladene Dateien o.ä.) durch. Daher ist es möglich, Dateien in einem eigentlich harmlosen und auch oft verwendeten Dateiformat (z.B. HTML) an diesen Sicherheitsmaßnahmen vorbeizuschleusen. Beispieldateien finden sich Hier, das Projekt zur Erstellung von solchen Dateien findet sich Hier

Was kann man dagegen tun?

Das wichtigste Mittel gegen solche Angriffe ist, sich weniger auf statische Attribute zu verlassen, sondern mehr auf Verhalten. Es gibt Verhaltensmuster, die im Alltag extrem selten auftreten, aber in fast jedem Angriff in irgendeiner Form auftauchen. Das klassische Beispiel ist das Command whoami unter UNIX. ein alltäglicher Benutzer hat sehr selten Bedarf daran, anzuzeigen, welcher User er gerade ist. normalerweise steht dieser als teil des Prompt in der Konsole, oder ist anderweitig indiziert (z.B. $/# als teil des Prompt etc).


Weitere Informationen

Kurz nachdem ich diesen Blogpost veröffentlicht habe, wurde von DFIR ein Report über dieses Verfahren “in der freien Wildbahn” gepostet: HTML Smuggling Leads to Domain Wide Ransomware

MITRE-Seite zu diesem Verfahren: HTML Smuggling