CVE-2023-23397 ist eine kritische Schwachstelle in Microsoft Outlook, die es einem Angreifer ermöglicht, die Windows-Anmeldedaten (NTLM-Hash) eines Opfers zu stehlen, indem er eine speziell gestaltete E-Mail sendet. Der Angreifer kann dann den Hash verwenden, um sich gegen andere Dienste zu authentifizieren. Dies kann zu einem Datenverlust oder einer Kompromittierung des Systems bzw. des kompletten AD’s (Stichwort: Lateral Movement) führen. Die Schwachstelle wurde bereits ausgenutzt von staatlich unterstützten und Ransomware-Akteuren. Microsoft hat ein Sicherheitsupdate für Outlook veröffentlicht, um diese Schwachstelle zu beheben.
Um sich zu schützen, sollten Sie das Update so schnell wie möglich installieren und überprüfen, ob Sie von der Schwachstelle betroffen sind.
Wichtig: Die Sicherheitslücke ist nicht abhängig von der Exchange Variante. Da es sich um eine Sicherheitslücke im Outlook Client handelt, sind auch Exchange Online Postfächer betroffen.
Wie überprüfe ich, ob ich bereits von der Schwachstelle betroffen bin.
Um zu überprüfen, ob Sie bereits von der Schwachstelle betroffen sind, können Sie ein Skript verwenden, das Microsoft erstellt hat. Das Skript sucht nach verdächtigen E-Mails in Ihrem Postfach und zeigt Ihnen an, ob Sie eine Verbindung zu einem Angreifer-Server hergestellt haben.
Sie können das Skript hier herunterladen:
https://github.com/microsoft/CSS-Exchange/tree/main/Security/CVE-2023-233971
Welche Outlook Versionen sind betroffen?
Die Schwachstelle CVE-2023-23397 betrifft die folgenden Outlook-Versionen:
- Microsoft Outlook version 2013
- Microsoft Outlook version 2016
- Microsoft Outlook Version 2019
- Microsoft Office LTSC 2021
- Microsoft 365 Apps for Enterprise
Die Sicherheitsupdates finden sie unter: CVE-2023-23397 – Security Update Guide – Microsoft – Microsoft Outlook Elevation of Privilege Vulnerability
Wie führe ich das Skript aus?
Voraussetzungen für die Ausführung des Skripts für Exchange Server
Um dieses Skript in einer lokalen Exchange Server-Umgebung auszuführen, müssen Sie ein Konto mit der Verwaltungsrolle ApplicationImpersonation verwenden. Sie können eine neue Rollengruppe mit den erforderlichen Berechtigungen erstellen, indem Sie den folgenden PowerShell-Befehl in einer erhöhten Exchange Management Shell (EMS) ausführen:
New-ThrottlingPolicy "CVE-2023-23397-Script"
Set-ThrottlingPolicy "CVE-2023-23397-Script" -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited
Set-Mailbox -Identity "<UserWhoRunsTheScript>" -ThrottlingPolicy "CVE-2023-23397-Script"
Um das Skript auszuführen, müssen Sie die folgenden Schritte befolgen:
- Öffnen Sie eine PowerShell-Konsole als Administrator.
- Wechseln Sie in das Verzeichnis, in dem Sie das Skript heruntergeladen haben.
- Führen Sie den folgenden Befehl aus: .\CVE-2023-23397.ps1 -Mailbox
- Warten Sie, bis das Skript abgeschlossen ist und überprüfen Sie die Ergebnisse.
Wie führe ich das Skript für alle Postfächer aus? (onPrem/lokal)
PS C:\> Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem
Voraussetzungen für die Ausführung des Skripts für Exchange Online
- Laden Sie das nuget-Paket herunter von https://www.nuget.org/api/v2/package/Exchange.WebServices.Managed.Api/2.2.1.2
- Ändern Sie die Erweiterung der Datei von .nupkg in .zip
- Entpacken Sie das Paket.
- Verwenden Sie die DLL, die im Paket unter „\lib\net35“ zu finden ist.
- Geben Sie beim Ausführen des Skripts den Pfad zur DLL für den Parameter DLLPath an.
Wie führe das Skript für alle Exchange Online Postfächer aus?
Führen Sie das Skript zunächst im „Audit Mode“ als Administrator mit der Rolle Organisationsmanagement aus. Zum Scannen von Online-Postfächern sollte der Umgebungsparameter „Online“ sein.
Für das Scannen von Exchange Online-Postfächern benötigt das Skript eine Azure AD-Anwendung, die über Delegierungsberechtigungen für alle Exchange Online-Postfächer verfügt. Sie können die Anwendung mithilfe des Skripts erstellen. Sobald die Anwendung nicht mehr benötigt wird, können Sie sie ebenfalls mit dem Skript löschen.
AzureAD Anwendung verwalten:
Mit dieser Syntax wird das Skript zur Erstellung einer Azure-Anwendung ausgeführt:
.\CVE-2023-23397.ps1 -CreateAzureApplication
Mit dieser Syntax wird das Skript ausgeführt, um die vom Skript erstellte Azure-Anwendung zu löschen. (Erst nach der Ausführung des Skriptes notwendig)
.\CVE-2023-23397.ps1 -DeleteAzureApplication
Audit Mode:
Mit dieser Syntax wird das Skript zur Überprüfung aller Postfächer in Exchange Online ausgeführt. Hierzu muss vorher eine Verbindung mit dem Exchange Online in der PowerShell hergestellt werden, da „Get-Mailbox“ sonst nur die OnPremise Postfächer auflistet.
Connect-ExchangeOnline
Get-Mailbox| .\CVE-2023-23397.ps1 -Environment "Online"
Mit dieser Syntax wird das Skript ausgeführt, um alle Postfächer auf Elemente zu prüfen, die in einem bestimmten Zeitraum vorhanden waren.
Get-Mailbox | .\CVE-2023-23397.ps1 -Environment "Online" -StartTimeFilter "01/01/2023 00:00:00" -EndTimeFilter "01/01/2024 00:00:00"
Cleanup Mode:
Mit dieser Syntax wird das Skript ausgeführt, um die problematische Eigenschaft aus den Nachrichten zu löschen.
.\CVE-2023-23397.ps1 -CleanupAction ClearProperty -CleanupInfoFilePath <Path to modified CSV>
Mit dieser Syntax wird das Skript ausgeführt, um Nachrichten zu löschen, die die problematische Eigenschaft enthalten.
.\CVE-2023-23397.ps1 -CleanupAction ClearItem -CleanupInfoFilePath <Path to modified CSV>
Fehler bei der Skriptausführung und Fehlerbehebung
Exchange Server unterstützt die angeforderte Version nicht.
Wenn es Exchange 2013-Server in einer Umgebung mit Exchange 2016 oder Exchange 2019 gibt, kann das Skript möglicherweise keine Postfächer auf Exchange 2013 öffnen und den folgenden Fehler anzeigen:
Wenn der oben genannte Fehler auftritt, führen Sie das Skript mit dem Parameter EWSExchange2013 aus:
Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem -EWSExchange2013
Blockierte Autodiscover-Umleitung:
Wenn Autodiscover aufgrund eines Umleitungsfehlers fehlschlägt und der oben genannte Fehler auftritt, geben Sie die EWS-URL mit dem Parameter EWSServerURL an.