Stehlen von NTLM-Anmeldedaten in Windows-Designs
Redaktion und weitere Kommentare von Tricia Howard
Zusammenfassung
Der Akamai-Sicherheitsforscher Tomer Peled hat kürzlich eine Spoofing-Schwachstelle in Microsoft-Designs entdeckt. Ihr wurde die CVE-Nummer CVE-2024-21320 mit einem CVSS-Score von 6,5 zugewiesen.
Die Schwachstelle kann eine erzwungene Authentifizierung auslösen. Dabei handelt es sich um einen Angriff, bei dem ein Opfer dazu gezwungen wird, Anmeldeinformationen (normalerweise in Form von NTLM-Hashes über SMB) an den Computer eines Angreifers zu senden. Der Angreifer kann die Anmeldedaten später offline entschlüsseln.
Um diese Sicherheitslücke auszunutzen, muss der Angreifer lediglich eine Design-Datei auf seinen Computer herunterladen. Wenn der Nutzer die Datei im Explorer anzeigt, sendet der Browser automatisch SMB-Handshake-Pakete (Server Message Block), die Anmeldedaten enthalten, an den Server des Angreifers.
Alle Windows-Versionen sind betroffen, da Designs eine integrierte Funktion des Windows-Betriebssystems ist.
Microsoft hat diese Sicherheitslücke im Patch Tuesday im Januar 2024 behoben.
Wir bieten eine PoC-Design-Datei (Proof of Concept) sowie ein PoC-Video und zeigen Ihnen verschiedene Möglichkeiten, diese Sicherheitslücke zu schließen.
Einführung
Seit den Tagen von Windows XP bietet Microsoft mehrere visuelle Individualisierungsoptionen an – Farben, Schriftarten und Mauszeiger, um nur einige zu nennen. Diese Personalisierung ist für Nutzer einfach auszuführen. Sie können die installierten Designs anzeigen, indem sie einfach mit der rechten Maustaste auf den Desktop klicken, „Personalisieren“ auswählen und links auf „Designs“ klicken. Design-Dateien haben das Suffix .theme und sie können anhand dieser Übersicht von MSDN erstellt werden.
Diese scheinbar harmlose Annehmlichkeit kann ein Einfallstor für einige hinterhältige Schwachstellen sein. In unserer Analyse des Patch Tuesday vom September 2023 haben wir kurz die Auswirkungen der CVE-2023-38146 erörtert, einer Schwachstelle innerhalb von Designs. Bei der Analyse der Sicherheitslücke haben wir beschlossen, mit den Werten in einer Design-Datei „herumzuspielen“ und festgestellt, dass bestimmte Parameter nicht validiert werden.
Wenn wir diese fehlende Validierung missbrauchen, können wir einen Angriff ohne Nutzerinteraktion durchführen: Nutzer müssen dazu lediglich eine schädliche Design-Datei herunterladen. Sobald der Nutzer die Datei im Explorer anzeigt, beginnt der Exploit.
Wir haben dokumentiert, was Sie über diese Schwachstelle wissen müssen, und stellen Maßnahmen zur Schadensbegrenzung und ein PoC zur Verfügung. Lesen Sie weiter.
So funktioniert es
Das Format der Design-Datei besteht aus mehreren Blöcken von Parametern. In diesem Beitrag werden zwei Parameter erläutert: Der BrandImage-Parameter im Block [Theme] (Abbildung 1) und der Wallpaper-Parameter (Abbildung 2) innerhalb des Blocks [Control Panel\Desktop] .
Jede Datei in Windows hat eine Miniaturansicht, die ihrer Funktion entsprechen soll. Die Miniaturansicht kann alles sein, vom Logo des Produkts bis hin zu einer Darstellung seiner Verwendung (wie zum Beispiel beim Rechner). Miniaturansichten von Design-Dateien bestehen aus drei Teilen: einem Hintergrundbild (dem schwarzen Quadrat), einer MSstyle-Datei (dem lila Quadrat) und dem Markenbild (dem Infection-Monkey-Bild; Abbildung 3).
Diese Komponenten werden in die Design-Datei in drei verschiedenen Parametern geschrieben: BrandImage, Wallpaper und VisualStyle. Diese können alle Remote-Pfade sein, die auf UNC-Endpunkte verweisen.
Darstellung des Exploit
Wenn eine Design-Datei erstellt oder angezeigt wird, versucht Windows, aus ihren drei Komponenten die richtige Miniaturansicht zu erstellen. Die Erstellung dieser Miniaturansicht wird automatisch innerhalb des Explorer-Prozesses gestartet. Abbildung 4 zeigt den Codeablauf für die Erstellung von Miniaturansichten einer Design-Datei.
Da diese Aktionen automatisch beginnen, finden Angreifer dort ausgezeichnete Möglichkeiten, das Ergebnis zu manipulieren. Angreifer können dies unter anderem tun, indem sie den Wert jedes dieser drei Parameter in einen UNC-Pfad ändern, der auf einen vom Angreifer kontrollierten Server verweist. Dies geschieht in der Hoffnung, dass der Computer des Opfers versucht, sich bei seinem Computer zu authentifizieren.
Wir haben festgestellt, dass der Pfad für das Bild ein beliebiger legitimer Pfad sein kann, einschließlich eines UNC-Pfads. Ein Ändern der Werte von „BrandImage“ oder „Wallpaper” resultierte in einer Verbindung vom Computer des Opfers, die zu einem Authentifizierungsangriff führte. Bei der Verbindung zum Remote-Server führt der Client eine SMB-Aushandlung durch, während der seine NTLM-Anmeldedaten gesendet werden.
Die Folgen eines NTLM-Lecks
Mit den NTLM-Anmeldedaten eines Opfers kann ein Angreifer einen NTLM-Relay-Angriff durchführen – das ist ein Angriff auf Systeme, die NTLM als Anmeldedaten akzeptieren. Durch die Weiterleitung der NTLM-Hashes könnte sich ein Angreifer als legitimer Nutzer authentifizieren und somit Zugriff auf Systeme erlangen, auf die er sonst keinen Zugriff hätte.
Eine weitere Möglichkeit besteht darin, die NTLM-Anmeldedaten in eine Anwendung zum Entschlüsseln von Passwörtern wie John the Ripper einzuspeisen, um das Passwort des Opfers mit der Brute-Force-Methode zu entschlüsseln.
Ein Beispiel dafür, wie schwerwiegend die Folgen sein können, liefert die berüchtigte Outlook-Schwachstelle, über die Microsoft ursprünglich im März 2023 informiert wurde. Dabei wurde ein ähnliches Ergebnis gefunden und die Sicherheitslücke wurde aktiv im freien Internet ausgenutzt. Das beweist, dass dieser Angriffsvektor für Angreifer immer noch relevant und lukrativ ist.
Die Schwachstelle vom März 2023 ermöglichte einem Angreifer, eine E-Mail an das Opfer zu senden, die den Download einer Audiodatei auslöst. Der Pfad zu dieser Audiodatei könnte allerdings auf eine beliebige Stelle verweisen, wie zum Beispiel auf einen Remote-Server (bei Verwendung eines UNC-Pfads). Der Forscher von Akamai Ben Barnea befasste sich ausführlich mit dieser Sicherheitslücke und fand mehrere Möglichkeiten, den dafür bereitgestellten Patch zu umgehen.
Was gepatcht wurde
In dem Patch fügte Microsoft einen Aufruf, der prüft, ob die Eingabe ein UNC-Pfad (“PathIsUNC”) ist, sowie einen Registrierungswert zu einer Funktion hinzu. So wird geprüft, ob UNC-Pfade für die Verwendung von Design-Dateien zulässig sind (Abbildung 6). Wenn der Pfad ein UNC-Pfad ist und UNC-Pfade nicht zulässig sind, wird die Miniaturansicht nicht geladen. Wenn Pfade zulässig sind, wird das Miniaturbild mit „BrandImage“ und „Wallpaper“ erstellt.
Der Wert „DisableThumbnailOnNetworkFolder“ befindet sich hier in der Registrierung: „HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation“. Der Wert wird in der neu hinzugefügten Funktion „IsUNCPathAllowedForThumbnailImage()“ in der Bibliothek themeui.dll geprüft.
Im Abschnitt zu den häufig gestellten Fragen für diese Schwachstelle schrieb Microsoft: „... und dann den Nutzer dazu bringen, die speziell gestaltete Datei zu bearbeiten, aber nicht unbedingt auf die schädliche Datei zu klicken oder sie zu öffnen.“ Unsere Nachforschungen belegen, dass dies nicht korrekt ist. Wie bereits erläutert, ist keine Änderung des Dateiinhalts erforderlich. Die Anzeige genügt, um das Senden der Anmeldedaten auszulösen.
Abwehr
Unter Windows 11 ist es anhand von Gruppenrichtlinien möglich, die Verwendung der NTLM-Authentifizierung in SMB mit Remotecomputern zu blockieren. Dazu sollten Administratoren Folgendes bearbeiten: Administrative Templates > Network > Lanman Workstation > Block NTLM.
Microsoft schlug auch die Verwendung einer anderen Richtlinie namens „NTLM einschränken“ vor, die diese Schwachstelle verringern soll. Die Richtlinie kann über diese offiziellen Schritte angewendet werden.
Mithilfe von Mikrosegmentierung können Netzwerkadministratoren SMB-Traffic zu Remotestandorten außerhalb des Netzwerks blockieren. Solche Verbindungen werden normalerweise nicht erwartet, da SMB hauptsächlich für die Kommunikation mit Domaincontrollern und Fileservern verwendet wird. Sehen Sie sich unseren umfassenden Blogbeitrag zur Mikrosegmentierung an. Darin wird weiter auf Segmentierung von SMB-Traffic eingegangen.
Fazit
Angriffe mit erzwungener Authentifizierung sind bekannt und werden von Angreifern häufig für laterale Netzwerkbewegungen und Credential Stuffing genutzt. Vor einigen Jahren nutzte zum Beispiel eine Gruppe namens Dragonfly veränderte LNK-Dateien dazu, um Anmeldedaten über SMB abzurufen. Die Auslösung dieser Art von Angriffen mithilfe von Design-Dateien ist ein überraschender neuer Vektor.
Diese Schwachstelle unterstreicht einmal mehr die Bedeutung von Anti-Phishing-Protokollen innerhalb von Unternehmen, da Angreifer leicht eine harmlos aussehende Datei senden können, die diesen Angriff initiiert.
Wir freuen uns, dass Microsoft versucht, dieser Angriffsmethode durch das Hinzufügen relevanter Gruppenrichtlinien einen Riegel vorzuschieben. Wir empfehlen Sicherheitsspezialisten zusätzlich, ihre Endpunkte mit dem neuesten Sicherheitspatch zu aktualisieren.
Chronik der Veröffentlichung
20.09.2023 – Schwachstelle wurde dem Microsoft Security Response Center (MSRC) gemeldet
01.10.2023 – weitere Informationen an das MSRC gesendet
18.10.2023 – MSRC hat akzeptiert, dass hier ein Patch erforderlich ist
09.01.2024 – Microsoft veröffentlicht einen Patch für diese Sicherheitslücken
06.03.2024 – Akamai-Blogbeitrag wird veröffentlicht