Mark of the Web und HTML-Smuggling erkennen: die leise Zustellung

Kurzfassung: HTML-Smuggling und der Mark-of-the-Web-Bypass sind zwei der häufigsten Zustellwege moderner Schadsoftware. Beim HTML-Smuggling baut JavaScript im Browser die Nutzlast erst auf dem Endgerät zusammen und umgeht so die Netzwerkprüfung. Beim MOTW-Bypass steckt die Nutzlast in einer ISO- oder IMG-Datei, deren Inhalt beim Einhängen kein Mark of the Web erbt und damit SmartScreen und den geschützten Modus aushebelt. Erkennung aus Verteidigersicht: die Herkunft der Datei in Sysmon Event 15 (Zone.Identifier), die abgelegte Datei in Sysmon Event 11 und die Ausführung in Sysmon Event 1. Drei geprüfte Sigma-Regeln, Härtung und Test. Serie „Angriff erkennen“.

HTML-Smuggling erkennen ist wichtig geworden, weil diese Technik genau an der Stelle ansetzt, an der viele Schutzmechanismen blind sind: Die eigentliche Schaddatei überquert das Netzwerk nie als solche. Stattdessen kommt eine harmlos wirkende HTML-Seite, und erst der Browser des Opfers setzt die Nutzlast aus kodierten Daten zusammen und bietet sie zum Speichern an. Kombiniert mit einem Container wie einer ISO-Datei umgeht der Angreifer zusätzlich den Mark-of-the-Web-Schutz von Windows. Dieser Beitrag aus der Serie „Angriff erkennen“ zeigt beide Techniken aus Verteidigersicht, mit drei Sigma-Regeln, der Härtung und dem Test.

Einordnung in ATT&CK: Die Zustellung fällt unter Initial Access, T1566.001 (Spearphishing Attachment), die Ausführung durch den Benutzer unter T1204.002. Die beiden Umgehungstechniken selbst sind HTML Smuggling (T1027.006) und der Mark-of-the-Web-Bypass (T1553.005), die MITRE unter Stealth führt. In der Serie steht der Beitrag unter Initial Access, weil der Verteidiger hier den Erstzugriff sucht.

Was der Angreifer tut

Der Angriff verbindet zwei Ideen, die beide darauf zielen, Schutzprüfungen ins Leere laufen zu lassen. Bewusst auf der Ebene des Prinzips, nicht als Anleitung:

  • HTML-Smuggling. Die Nutzlast reist nicht als Datei durchs Netz, sondern als kodierte Zeichenkette in einer HTML-Seite. Erst im Browser setzt JavaScript daraus wieder eine Datei zusammen und löst über ein Blob-Objekt den Download aus. Mail-Gateways und Proxys sehen nur harmloses HTML, die eigentliche Datei entsteht lokal.
  • Mark of the Web verstehen. Windows markiert jede aus dem Internet geladene Datei mit einem Zone.Identifier, dem Mark of the Web. Dieser Hinweis sorgt dafür, dass SmartScreen prüft und Office im geschützten Modus öffnet. Ohne das Mark fehlt diese Warnung.
  • Container-Bypass. Steckt die Nutzlast in einer ISO-, IMG- oder VHD-Datei, erben die Dateien darin beim Einhängen kein Mark of the Web. Der Benutzer öffnet das Abbild, startet die enthaltene Datei, und keine Warnung erscheint. Oft liegt im Abbild eine harmlos benannte Verknüpfung, die die versteckte Nutzlast startet.
  • Ausführung. Am Ende startet der Benutzer die Datei selbst, häufig über einen Skript-Host wie mshta oder wscript oder über eine Verknüpfung. Erst jetzt beginnt der eigentliche Schadcode.

Für die Erkennung ist entscheidend: Auch wenn die Netzwerkprüfung umgangen wird, hinterlässt der Download auf dem Endgerät Spuren. Das Mark of the Web wird gesetzt, die Datei wird geschrieben, und die Ausführung läuft über bekannte Programme. Genau darauf zielen die Regeln unten.

Welche Logquellen die Technik zeigt

  • Herkunft der Datei. Sysmon Event 15 schreibt beim Anlegen eines Zone.Identifier-Datenstroms, also beim Setzen des Mark of the Web, den Dateinamen und die Herkunfts-URL. Das ist die wichtigste Quelle, um heruntergeladene Container und Skripte zu finden.
  • Abgelegte Datei. Sysmon Event 11 zeigt das Anlegen der Datei im Download-Ordner, etwa das ISO-Abbild oder die HTA-Datei.
  • Ausführung. Sysmon Event 1 zeigt den Start der Nutzlast samt Eltern-Kind-Beziehung und Kommandozeile, etwa mshta mit einer Datei aus dem Download-Ordner oder einen Prozess, der von einem eingehängten Abbild startet.
  • Blockierte Ausführung. Wo Anwendungssteuerung aktiv ist, zeigt Event 8004, dass ein Programm oder Skript aus einem Benutzerverzeichnis blockiert wurde, oft der früheste Hinweis.

Das Muster im Log

Das stärkste Signal ist die Kombination aus Herkunft und Dateityp. Ein ISO- oder IMG-Abbild mit Mark of the Web im Download-Ordner ist in vielen Umgebungen schon für sich verdächtig, weil normale Benutzer selten Abbilder herunterladen. Noch eindeutiger sind Skript- und Verknüpfungsdateien aus dem Internet: Eine HTA-, JS- oder LNK-Datei mit Mark of the Web hat fast nie einen legitimen Grund. Am überzeugendsten wird der Fall in der Kette: Ein Browser lädt ein Abbild, kurz darauf wird es eingehängt, und ein Prozess startet von einem anderen Laufwerksbuchstaben als C. Wer diese Abfolge sieht, sieht eine Zustellung in Echtzeit.

Drei Sigma-Regeln

Die Regeln sind mit sigma-cli geprüft. Die erste und dritte nutzen das Mark of the Web aus Sysmon Event 15, die zweite die Ausführung durch einen Skript-Host. Alle drei setzen voraus, dass Sysmon Event 15 und die Prozessüberwachung erfasst werden.

1. Container mit Mark of the Web (T1566.001). Diese Regel erkennt heruntergeladene ISO-, IMG- und VHD-Dateien. Sie steht auf level: medium, weil IT und Entwickler legitim Abbilder laden; diese Quellen nimmst du als Ausnahme auf.

Sigma
title: Container-Datei (ISO/IMG/VHD) mit Mark of the Web
id: 74797c50-e58b-4854-ac5b-01e63f698de0
status: experimental
description: Erkennt heruntergeladene Datentraeger-Abbilder, die ein Mark of the Web
  tragen. Angreifer verpacken ihre Nutzlast in ISO-, IMG- oder VHD-Dateien, weil
  die darin enthaltenen Dateien beim Einhaengen kein Mark of the Web erben und so
  SmartScreen und den geschuetzten Modus umgehen. Sysmon Event 15 schreibt den
  Zone.Identifier beim Download.
references:
  - https://attack.mitre.org/techniques/T1566/001/
author: blue-team.net
tags:
  - attack.initial-access
  - attack.t1566.001
logsource:
  product: windows
  category: create_stream_hash
  definition: 'Sysmon Event 15 (FileCreateStreamHash)'
detection:
  selection:
    TargetFilename|endswith:
      - '.iso'
      - '.img'
      - '.vhd'
      - '.vhdx'
  condition: selection
falsepositives:
  - IT und Entwickler, die legitim Abbilder herunterladen; bekannte Quellen ausnehmen
level: medium

2. Skript-Host aus einem Benutzerverzeichnis (T1204.002). mshta, wscript oder cscript, die eine Datei aus Downloads oder Temp starten, sind das typische Ausführungsmuster einer geschmuggelten Nutzlast.

Sigma
title: Script-Host startet eine Datei aus einem Benutzerverzeichnis
id: fb372cc9-cbdf-4ead-a214-4ba44c2cd15a
status: experimental
description: Erkennt den Start von mshta, wscript oder cscript mit einer Datei aus
  einem Download- oder Temp-Verzeichnis. Das ist die typische Ausfuehrung einer per
  HTML-Smuggling zugestellten Nutzlast, etwa einer HTA-, JS- oder VBS-Datei.
references:
  - https://attack.mitre.org/techniques/T1204/002/
author: blue-team.net
tags:
  - attack.execution
  - attack.t1204.002
logsource:
  category: process_creation
  product: windows
detection:
  selection_proc:
    Image|endswith:
      - '\mshta.exe'
      - '\wscript.exe'
      - '\cscript.exe'
  selection_path:
    CommandLine|contains:
      - '\Downloads\'
      - '\AppData\Local\Temp\'
      - '\Users\Public\'
  condition: selection_proc and selection_path
falsepositives:
  - Legitime Verwaltungsskripte, die aus temporaeren Verzeichnissen laufen
level: high

3. Riskante Datei mit Mark of the Web (T1566.001). HTA-, JS-, VBS-, SCR- und LNK-Dateien aus dem Internet sind nahezu immer bösartig. Diese Regel macht sie über das Mark of the Web sichtbar.

Sigma
title: Riskante Script- oder Verknuepfungsdatei mit Mark of the Web
id: 5fe7c324-9b3d-458e-a48d-0b4d4725e6ad
status: experimental
description: Erkennt heruntergeladene Dateien mit gefaehrlichen Endungen, die ein
  Mark of the Web tragen. HTML-Smuggling schreibt die Nutzlast per JavaScript in
  den Download-Ordner; HTA-, JS-, VBS-, SCR- und LNK-Dateien aus dem Internet sind
  nahezu immer boesartig. Sysmon Event 15 liefert die Herkunft.
references:
  - https://attack.mitre.org/techniques/T1566/001/
author: blue-team.net
tags:
  - attack.initial-access
  - attack.t1566.001
logsource:
  product: windows
  category: create_stream_hash
  definition: 'Sysmon Event 15 (FileCreateStreamHash)'
detection:
  selection:
    TargetFilename|endswith:
      - '.hta'
      - '.js'
      - '.jse'
      - '.vbs'
      - '.vbe'
      - '.scr'
      - '.lnk'
  condition: selection
falsepositives:
  - Seltene legitime Skripte und Verknuepfungen aus dem Internet; im Kontext pruefen
level: high

Härtung: der Angriff, der ins Leere läuft

  • Container-Dateien entschärfen. Lege per Gruppenrichtlinie fest, dass ISO-, IMG- und VHD-Dateien nicht mehr per Doppelklick eingehängt werden, oder blockiere sie am Mail-Gateway. Das nimmt dem MOTW-Bypass die Grundlage.
  • Gefährliche Endungen blockieren. HTA, JS, VBS, SCR und Co. braucht kaum ein Anwender. Blockiere ihre Ausführung mit Anwendungssteuerung oder über die Standardprogramme, und deaktiviere den Windows Script Host, wo er nicht gebraucht wird.
  • ASR-Regeln aktivieren. Die Regeln zur Verringerung der Angriffsfläche von Defender blockieren unter anderem ausführbare Inhalte aus E-Mail und Skript-Downloads und erkennen die typischen Smuggling-Ketten.
  • SmartScreen und MOTW erzwingen. Sorge dafür, dass SmartScreen aktiv ist und das Mark of the Web nicht per Gruppenrichtlinie für ganze Zonen abgeschaltet wird.

Der Test

Die Erkennung lässt sich im Lab gefahrlos prüfen, mit harmlosen Dateien auf einem isolierten System mit aktivem Sysmon:

  • Für Regel 1 der Download einer beliebigen, harmlosen ISO-Datei über den Browser. Sysmon Event 15 muss den Zone.Identifier zeigen und die Regel auslösen.
  • Für Regel 2 der Start von mshta oder wscript mit einer harmlosen Testdatei aus dem Download-Ordner. Sysmon Event 1 muss den Aufruf zeigen.
  • Für Regel 3 eine heruntergeladene, harmlose Datei mit einer der gelisteten Endungen, etwa eine leere JS-Datei. Sysmon Event 15 muss das Mark of the Web zeigen und die Regel greifen. Vollständiger wird der Test mit den passenden Fällen aus Atomic Red Team.

Fehlalarme und Tuning

  • Legitime Abbilder. Regel 1 ist die lauteste. IT, Entwickler und Treiber-Downloads erzeugen legitime ISO- und IMG-Dateien. Nimm die bekannten Quellen und Benutzergruppen als Ausnahme auf und behalte den Rest scharf.
  • Verwaltungsskripte. Regel 2 kann legitime Skripte aus Temp-Verzeichnissen treffen. Grenze sie auf mshta und die interaktiven Skript-Hosts ein und nimm bekannte Verwaltungswerkzeuge aus.
  • Herkunft auswerten. Reichere die Treffer mit der Herkunfts-URL aus Sysmon Event 15 an. Ein Download von einer unbekannten Domain wiegt deutlich schwerer als einer von einer bekannten, internen Quelle.
  • Priorität. Ein Treffer von Regel 3 gehört zu den hochprioren Alarmen, weil Skript- und Verknüpfungsdateien aus dem Internet selten harmlos sind.

Fazit

HTML-Smuggling und der MOTW-Bypass umgehen die Netzwerkprüfung, aber nicht den Endpunkt: Das Mark of the Web, die abgelegte Datei und die Ausführung ergeben zusammen ein klares Muster. Wer Sysmon Event 15 auswertet und gefährliche Container und Endungen härtet, nimmt dieser Zustellart den größten Teil ihrer Wirkung. Was nach dem Klick passiert, steht in den folgenden Phasen der Serie „Angriff erkennen“; eine andere Form des Erstzugriffs über gefluteten Posteingang und Fernwartung findest du unter E-Mail-Bombing erkennen. Weitere Techniken dieser Taktik stehen im Lexikon nach Taktik.

NH

$ whoami

Norbert Hofmann

Cyber Defense Analyst im Security Operations Center eines Managed Security Service Providers. Red und Blue Teaming, Malware-Analyse, Incident Response und Security-Awareness-Trainings. Finalist bei „Deutschlands bester Hacker“ 2022, mehrere CVE-Einträge für WordPress-Plugins.