Entfernt die Fähigkeit von CVE-2017-0199, Code auszuführen, indem der Standardhandler für .hta-Dateien geändert wird. Der Standardhandler für Dateien, die über OLE2 (COM-Objekte) aufgerufen werden, wird getrennt von der Standardanwendung des lokalen Systems gespeichert und kann nur über die Registry geändert werden.
Grundlegende Logik des Exploits
Dies ist ein praktisches Beispiel dieses Exploits und wird so erklärt, wie ich es verstehe. Möglicherweise folgen nicht alle Vorkommen diesem Muster und meine Einschätzung könnte falsch sein. Die im nächsten Abschnitt vorgestellte Behebung funktioniert jedoch in den von mir getesteten Situationen.
Ein auf einem Webserver gehostetes RTF-Dokument hat eine bösartige Hypertext-Anwendung (HTA) am Ende angehängt.
Der Hosting-Server antwortet auf GET-Anfragen für die Datei mit einem Header, der angibt, dass der Inhalt eine HTA-Datei ist.
Microsoft Word führt ein OLE2-Objekt aus, um das RTF-Dokument vom Webserver abzurufen.
Microsoft Word wird gezwungen, den Dateityp zu validieren, da die Erweiterung .rtf nicht mit dem Inhaltstyp HTA übereinstimmt.
Microsoft Word prüft ab dem Ende der Datei auf erkennbare Datenstrukturen und ordnet HTA-Datenstrukturen dem HTA-Inhaltstyp zu.
Microsoft Word korrigiert automatisch den Dateityp und übergibt ihn an den COM-Handler für HTA-Dateien (mshta.exe).
Mshta.exe führt den bösartigen Hypertext-Anwendungscode vom Ende der Datei aus.
COM-Handler werden in der Registry getrennt von System-Handlern gespeichert, um Fehler im Dateityp-Validierungsprozess zu vermeiden.
Grundlegende Behebung
Navigieren Sie in RegEdit.exe zu HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon
Öffnen Sie die erweiterten Berechtigungen für DefaultIcon
Ändern Sie den Besitzer auf Administratoren (Gruppe)
Fügen Sie Ihr aktuelles Benutzerkonto zur Liste der Sicherheitsprinzipale hinzu, weisen Sie ihm „Vollzugriff“ zu
Bearbeiten Sie den (Standard)-Schlüssel zu C:\Windows\System32\notepad.exe,1
Entfernen Sie in den erweiterten Berechtigungen für DefaultIcon Ihren Benutzer und weisen Sie SYSTEM erneut als Besitzer zu
Wiederholen Sie die Schritte 1 bis 6 für HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32, ändern Sie den (Standard)-Schlüsselwert auf C:\Windows\System32\notepad.exe
Dies entfernt die Fähigkeit von CVE-2017-0199, Code auszuführen, indem der Standardhandler für .hta-Objekte, die über OLE2 aufgerufen werden, auf notepad geändert wird. Dies gilt für alle Instanzen, bei denen OLE2 .hta-Dateien aufruft. Dadurch wird Notepad geöffnet und es werden Fehler angezeigt, aber Code wird nicht ausgeführt.
Bearbeiten Sie HKCR nicht direkt. Bearbeiten Sie die zugehörigen Schlüssel in HKCU oder HKLM.
Sie können den Besitz eines Registrierungsschlüssels nach der Übernahme wieder an SYSTEM oder andere zurückgeben.
Spielen Sie nicht mit der Registry herum. Lassen Sie sie so, wie Sie sie vorgefunden haben, nachdem Sie Ihre Änderungen vorgenommen haben.
Process Monitor hat leistungsstarke Rechtsklick-Filter, um Rauschen zu reduzieren.
Die Suchfunktion von Process Monitor durchsucht alle Felder nach einer Zeichenfolge.
pscp.exe (Putty) ist ein Befehlszeilen-SSH-Dateiübertragungstool.
Linux ist immer noch eine große Qual.
Abschließende Bemerkung
Ich übernehme keine Verantwortung für Schäden oder Probleme, die durch diese Abschwächung oder Benutzerverwirrung aufgrund von Notepad und einer Reihe von Fehlern verursacht werden. Dies ist eine schmutzige Behebung und ich weiß nicht, ob dies in einer Produktionsumgebung größere Probleme verursachen wird. Bewerten Sie Abschwächungen wie immer unter Berücksichtigung Ihrer spezifischen Umgebung und Anforderungen.
Ich werde später Screenshots hinzufügen, um die Vorher- und Nachher-Effekte dieser Abschwächung zu zeigen. Dies kann auch als Skript erfolgen, aber ich habe Schwierigkeiten, die Berechtigungen für den Registrierungsschlüssel zu ändern, daher werde ich das später behandeln.