von Bhabesh Raj Rai, Security Research

Am 27. Mai 2022 wies ein Sicherheitsanalyst auf ein schadhaftes Dokument hin, das von Weißrussland aus an VirusTotal übermittelt wurde. Das Dokument nutzte die Remote-Template-Funktion von Microsoft Office, um eine HTML-Datei remote herunterzuladen und anschließend zu laden. Dabei wird eine PowerShell-Payload über das Microsoft Support Diagnostic Tool (MSDT) ausgeführt. Angreifer, die diese Schwachstelle ausnutzen, können beliebigen Code mit den Rechten der aufrufenden Anwendung ausführen. Microsoft wurde bereits im April über die Ausnutzung der Schwachstelle informiert, das Unternehmen stufte diese jedoch nicht als Sicherheitsproblem ein.

Die Analyse des schadhaften Dokuments ergab, dass es sich um eine „Zero-Day“-Schwachstelle im MSDT-URL-Protokoll von Windows handelt – mit dem Spitznamen Follina. Office-Anwendungen können mit dem URL-Schema ms-msdt virtuell PowerShell-Code über einen Proxy ausführen. Ein URL-Schema ist eine Spezifikation, die URLs mit bestimmten Anwendungen verknüpft. Wenn ein Benutzer beispielsweise auf ein URL-Schema klickt (z. B. slack://), wird die entsprechende Anwendung (Slack) geöffnet.

Drei Tage später veröffentlichte Microsoft die Schwachstelle CVE-2022-30190 mit einem CVSS-Score von 7,8 von 10 und gab eine entsprechende Anleitung heraus. Die Schwachstelle ähnelt einem anderen RCE-Zero-Day-Exploit (CVE-2021-40444) in Microsoft MSHTML. Sicherheitsanalysten haben festgestellt, dass diese Schwachstelle seit April ausgenutzt wird.

Administratoren sollten beachten, dass diese Schwachstelle nicht auf Makros beruht, sodass ihre Ausnutzung nicht davon abhängt, ob Makros deaktiviert sind oder nicht.

Die Schwachstelle ist deshalb so gefährlich, weil ein Angreifer ganz einfach die RTF-Variante verwenden kann, um Protected View und Application Guard for Office zu umgehen, da Windows die RTF-Datei automatisch über die Funktion „Tab-Preview“ („Tab-Vorschau“) des Explorers öffnet.

Mehrere funktionfähige PoCs sind frei verfügbar. Sicherheitsanalysten haben festgestellt, dass RTF-Versionen sogar für die neuesten Office 365-Version funktionieren. In einem Fall verwendete ein Angreifer Follina, um eine Cobalt Strike-Payload zu übermitteln.

Follina – die Fakten im Überblick

  • Microsoft hat bis heute noch keinen Patch zur Behebung des Zero-Day-Exploits veröffentlicht.
  • Das Microsoft Support Diagnostic Tool (MSDT) ist Bestandteil jeder standardmäßigen Windows-Installation.
  • Es handelt sich um eine Schwachstelle im Microsoft Support Diagnostic Tool (MSDT). Es gibt jedoch weitere Möglichkeiten neben Microsoft Office, diese Schwachstelle auszunutzen.
  • Die RTF-Version umgeht „Protected View“ und „Application Guard for Office“.
  • Eine der besten Methoden zur Schadensbegrenzung ist die Deaktivierung des Vorschaubereichs (Preview Pane) im Windows Explorer.

Erforderliche Logdaten-Quellen

  • Windows

Die Schwachstellen-Ausnutzung mit LogPoint erkennen

Analysten sollten nach MSDT-Prozessen suchen, die von Office-Anwendungen ausgelöst werden. Um die Zahl der möglichen False-Positives (Fehlalarme) zu verringern, können Sie – wie untenstehend aufgeführt – nach der Verwendung der ms-msdt-Schemata suchen.

label="Process" label=Create
parent_process IN ["*\winword.exe", "*\excel.exe", "*\outlook.exe"]
"process"="*\msdt.exe" command IN ["* ms-msdt:/id *", "* ms-msdt:-id *"] command="*IT_RebrowseForFile=*IT_BrowseForFile=*"
| chart count() by host, user, parent_process, "process", command, parent_command

LP - Searching for Follina artifacts in process creation events

Die Suche nach Follina-Artifakten in den Events zur Prozess-Erstellung

Microsoft Defender verfügt über eine Regel zur Reduzierung der Angriffsfläche (ASR: Attack Surface Reduction), die Office-Anwendungen daran hindert, untergeordnete Prozesse (Kind-Prozesse) zu erzeugen. Aktivieren Administratoren die ASR-Regel, können sie nach Auslösern für diese spezifische ASR-Regel suchen.

norm_id=WinServer label=Attack label=Surface label=Reduce
involved_file="*IT_RebrowseForFile=*IT_BrowseForFile=*"
rule_id IN ["D4F940AB-401B-4EFC-AADC-AD5F3C50688A", "26190899-1602-49e8-8b27-eb1d0a1ce869"]
| process eval("rule=if(rule_id == 'D4F940AB-401B-4EFC-AADC-AD5F3C50688A')
{ return 'Block all Office applications from creating child processes'}")
| process eval("rule=if(rule_id == '26190899-1602-49E8-8B27-EB1D0A1CE869')
{ return 'Block Office communication application from creating child processes'}")
| chart count() by host, user, rule, "process", involved_file, path

Searching for Follina artifacts in Microsoft Defender’s ASR trigger events

Die Suche nach Follina-Artifakten in den von Microsoft Defender ausgelösten ASR-Events

Microsoft hat Signaturen für Microsoft Defender zur Erkennung von Follina veröffentlicht. Administratoren sollten sicherstellen, dass sie die Events von Microsoft Defender (Microsoft-Windows-Windows Defender/Operational) an LogPoint weiterleiten.

norm_id=WinServer label=Threat label=Detect
threat IN "Trojan:Win32/Mesdetty.A", "Trojan:Win32/Mesdetty.B", "Behavior:Win32/MesdettyLaunch.A", "Behavior:Win32/MesdettyLaunch.B", "Behavior:Win32/MesdettyLaunch.C"

MSDT verwendet sdiagnhost.exe (Scripted Diagnostics Native Host), um Ausführungen zu kanalisieren. LogPoint empfiehlt Analysten, verdächtige Kind-Prozesse von sdiagnhost.exe zu überwachen. Um Fehlalarme zu vermeiden, müssen Sie möglicherweise einige legitime Prozesse in die Allow-Liste aufnehmen.

label="Process" label=Create parent_process="*\sdiagnhost.exe"
"process" IN ["*\cmd.exe", "*\powershell.exe", "*\powershell_ise.exe", "*\wscript.exe", "*\cscript.exe", "*\rundll32.exe", "*\regsvr32.exe"]
| chart count() by host, user, "process", parent_command, command

Searching for suspicious child processes of sdiagnhost.exe

Die Suche nach verdächtigen Kind-Prozessen von sdiagnhost.exe

Auf Netzwerkseite können Analysten danach suchen, ob Office-Anwendungen HTML-Dateien abrufen, indem sie prüfen, ob in den Netzwerk-Events User-Agents auftreten.

device_category IN [Firewall, ProxyServer, IDS] url="*.html"
user_agent="*; ms-office; *" request_method=GET

LP - Searching for Office application’s user-agents in HTTP events

Die Suche nach User-Agents von Office-Anwendungen in den HTTP-Events

Maßnahmen, um Follina-Exploits abzuwehren

Da aktuell noch kein Patch verfügbar ist, empfiehlt LogPoint Administratoren dringend, die folgenden Maßnahmen zu prüfen und zu ergreifen, um Follina-Exploits zu verhindern.

  • Deaktivieren Sie das MSDT-URL-Protokoll über die Registry.
  • Deaktivieren Sie den Vorschaubereich (Preview Pane) im Windows Explorer.
  • Konfigurieren Sie die ASR-Regel, um zu verhindern, dass Office-Anwendungen Prozesse erzeugen.
  • Deaktivieren Sie via GPO die Möglichkeit, die Troubleshooting-Wizards von Windows zu nutzen.

MSDT erstellt die Datei PCW.debugreport.xml in den Verzeichnissen %LOCALAPPDATA%\Diagnostics und %LOCALAPPDATA%\ElevatedDiagnostics, nachdem der Benutzer das Troubleshooting-Fenster geschlossen hat. Die Datei enthält Follina-Artefakte, die bei der Reaktion auf sicherheitsrelevante Vorfälle hilfreich sein können.

Bislang hat sich Microsoft nicht zu einem Zeitplan für den Patch geäußert. Da viele Unternehmen noch alte Versionen von Microsoft Office verwenden, sollten Administratoren prüfen, welche Office-Versionen im Unternehmen eingesetzt werden, und einen Patch-Prozess aufsetzen. Obwohl die Sicherheitsfunktionen von Office – Protected View und Application Guard for Office – einen Follina-Exploit nicht vollständig verhindern können, empfiehlt LogPoint Administratoren, diese zu aktivieren, sich jedoch nicht vollständig darauf zu verlassen.

 

Detecting Follina blog visual

Contact Logpoint

Contact us and learn why
industry-leading companies
choose Logpoint: