Patching MS Exchange gegen HAFNIUM Exploit

In diesem Artikel erkläre ich dir, wie du überprüfst, ob du bereits mittels HAFNIUM Exploit attackiert wurdest und wie du dein System mit den entsprechenden Vorbereitungen aktualisieren kannst um die Lücke zu schließen.

Patching MS Exchange gegen HAFNIUM Exploit

Aktuell treibt ein fieser Exploit namens HAFNIUM die IT Welt in den Wahnsinn und hält die Admins vieler (wenn nicht sogar aller Unternehmen) auf Trab. Da auf vielen Seiten zwar über das Problem geschrieben wird und energisch darauf hingewiesen wird,  das man seine Umgebung prüfen sollte, aber selten im Detail beschrieben wird, was und wie getestet werden soll, habe ich mir mal die Mühe gemacht und diesen Artikel aus meinen eigenen Erfahrungen zusammengeschrieben.

Wer im Detail wissen will, worum es hier geht, kann sich auf der Seite des BSI oder dem Blogpost von Microsoft informieren. In diesem Artikel möchte ich hauptsächlich meine Erfahrungen mit den Tests und Updates behandeln.

Bevor ich mit den eigentlichen Arbeiten angefangen hatte, habe ich auf meiner Sophos UTM mittels Webserver Protection die Reverse Authentication aktiviert. So wurde ein Prompt geöffnet, sobald eine Webseite des Exchange Servers aufgerufen wurde.

Wie habe ich meine Server getestet?

In einem Github Repository von Microsoft gibt es diverse Scripts, welche uns bei der Überprüfung unterstützen können.

Test-ProxyLogon

Als erstes habe ich das Script Test-ProxyLogon.ps1 in einer mit adminrechten geöffneten Powershell gestartet:

PS C:\Users\xxx\Downloads> .\Test-ProxyLogon.ps1

Der darauf folgende Screen während des Prozesses sieht dann so aus:

Screenshot des Powershell Scripts während der Ausführung

Ist der Check durchgelaufen, könnte er so aussehen:

In der Log-Datei waren dann aber nur False-Positives (VEEAM ZIP Dateien) zu finden, welche das Script als auffällig empfunden hatte.

So sah unser False-Positiv Log aus

Diese ZIP Dateien habe ich natürlich überprüft, obwohl ihr Änderungsdatum teils recht lang in der Vergangenheit lag - es handelte sich aber vorallem um archivierte Log-Dateien.

Microsoft Support Emergency Response Tool

Nach dem ProxyLogon-Test habe ich mich dem Microsoft Safety Scanner (MSERT.exe) gewidmet und diesen anhand der Anleitung von Microsoft durchlaufen lassen - mit folgendem Ergebnis:

Auf das Ergebnis des Microsoft Safety Scanners allein sollte man sich allerdings nicht verlassen. Ich habe hier schon Berichte von Admins gehört, welche trotz Angriff ein negatives Prüfresultat erhalten hatten.

NMAP

Als nächstes habe ich das von Microsoft angebotene NMAP Script (http-vuln-cve2021-26855.nse) verwendet, um meine Exchange Server gegen die Verletzlichkeit zu prüfen. Im folgenden Codeblock wird die Anwendung und ein Positivergebnis exemplarisch dargestellt.

-- @usage
-- nmap -p <port> --script http-vuln-cve2021-26855 <target>
--
-- @output
-- PORT    STATE SERVICE
-- 443/tcp  open  https
-- | http-vuln-cve2021-26855:
-- |   VULNERABLE
-- |   Exchange Server SSRF Vulnerability
-- |     State: VULNERABLE
-- |     IDs:  CVE:CVE-2021-26855
-- |
-- |     Disclosure date: 2021-03-02
-- |     References:
-- |       http://aka.ms/exchangevulns
--
-- @args http-vuln-cve2021-26855.method The HTTP method for the request. The default method is "GET".
<port> = 443, <target> = Public FQDN des Exchange

Mein Ergebnis sah wie folgt aus:

Negativergebnis mittels NMAP Script von Microsoft

Trotz der durch die Bank weg negativen Ergebnisse habe ich natürlich dennoch meine Mailserver auf das neueste CU aktualisiert. Da ich einen Exchange DAG Cluster fahre, war dies mit ein wenig Vorbereitung relativ unproblematisch und ohne Serivce-Downtimes realisierbar.

Die Cumulative Updates

Ich habe mich bei der Durchführung des CU an dem Artikel von MSXFAQ.de orientiert. Nur zwei Sachen habe ich anders gemacht/ergänzt:

  • Sicherstellen, dass der zu aktualisierende Server am Abend zuvor in den Maintenance Mode versetzt wurde, damit die Synchronisierung zwischen den beiden Nodes vor dem Backup/Snapshot unterbrochen wird.
  • Sicherheitsupdates während der Wartung/nach den CU installieren, da der Server ohnehin problemlos neugestartet werden kann.

Warum habe ich die Backups am Vortag während des Maintenance Modes gemacht? Ganz einfach zu erklären! Und zwar musste ich dafür sorgen, dass der am Folgetag zu aktualisierende Server nach dem Backup keine neuen Daten/Mails erhalten kann, da dies bei einer möglichen Rücksicherung zu Datenbankinkonsistenzen mit dem aktiven (noch nicht zu aktualisierenden) Mailserver führen könnte.

Ergänzung

Microsoft hat sich dazu entschieden, dass für die jeweiligen Exchange Server nicht mehr das vor-/letzte CU  notwendig ist, um die entsprechenden Sicherheitsupdates installieren zu können.

Wenn ihr den Patch händisch installieren wollt, müsst ihr unbedingt darauf achten, ihn mit "Als Administrator ausführen" zu starten. Andernfalls schlägt die Installation ohne Warnung fehl und euer System ist nach wie vor ungeschützt! Diese Problematik gibt es nur bei den manuellen Updates - über die Windows Updates wird der Patch korrekt installiert.

Auf der Seite von MSXFAQ.de sind nochmal sehr gut und übersichtlich alle Einzelheiten zum Thema HAFNIUM zusammengetragen.

In diesem Sinne wünsche ich uns allen gutes Gelingen!
Fragen oder generelle Anmerkungen können wir gerne über Twitter diskutieren (Kommentarfunktion für diesen Blog ist in Arbeit :D )