
CVE-2023-38831 ist eine Zero-Day-WinRAR-Sicherheitslücke, die es Angreifern ermöglicht, schädliche Dateien in Archiven zu tarnen und Benutzer dazu zu verleiten, schädliche Inhalte auszuführen.
CVE-2023-38831 ist eine Zero-Day-Sicherheitslücke, die alle Versionen von WinRAR vor 6.23 betrifft.
Das Problem liegt in der Verarbeitung des ZIP-Formats, was Angreifern ermöglicht, manipulierte Archive zur Verbreitung von Malware zu nutzen. Böswillige Akteure können schädliche Dateien in ZIP-Archiven tarnen, indem sie ihnen Namen geben, die legitimen Dateien ähneln. So werden Benutzer getäuscht, schädliche Inhalte auszuführen, während sie glauben, eine sichere Datei zu öffnen. Dieser Fehler wird seit April 2023 aktiv ausgenutzt, insbesondere mit Fokus auf den Finanzsektor, und stellt ein erhebliches Risiko für Benutzer dar, die unvertraute komprimierte Dateien öffnen. Ein Upgrade auf WinRAR 6.23 oder höher behebt diese Sicherheitslücke durch verbesserte Dateinamen-Bereinigung während der Extraktion.
Im folgenden Beispiel habe ich alle bereitgestellten Dateien in einen einzelnen Ordner heruntergeladen, das Skript über CMD ausgeführt, die entsprechenden Dateinamen (einschließlich des Exploits) angegeben, und schließlich einige zufällige Dateien zum .rar-Archiv hinzugefügt, um es authentischer erscheinen zu lassen und den neuen .txt-Exploit besser zu verbergen. Wenn der Benutzer auf die vermeintliche ".txt"-Datei klickt, wird die versteckte .cmd-Datei ausgeführt, die sich im selben Ordner mit einem passenden Namen befindet:
https://github.com/user-attachments/assets/91eed756-bb38-42dd-a127-cabaccb4c386
Mit dieser Idee können wir versuchen, die Datei so effektiv wie möglich zu tarnen und den Exploit für den Benutzer dringend oder wichtig erscheinen zu lassen. Im folgenden Beispiel habe ich mehrere zufällige Dateien hinzugefügt, um das .rar-Archiv legitimer wirken zu lassen. Ich habe eine einfache .txt-Datei als Köder verwendet und sie "INSTRUCTIONS - Open Before Extraction" genannt, um den Benutzer zum Klicken zu verleiten:

Mit dem bereitgestellten Python-Skript können Sie Ihre eigene RAR-Datei erstellen, mit der wir die Logik hinter diesem Exploit nachvollziehen.
Schritt 1 - Laden Sie die Dateien exploit.py und DoS.cmd herunter.
Schritt 2 - Legen Sie alle in einen Ordner und wählen Sie eine zufällige Köderdatei aus. Für den Zweck dieses POC verwende ich eine einfache .jpg-Datei.
Schritt 3 - Führen Sie das Skript aus und geben Sie die erforderlichen Namen ein.
Das Skript funktioniert wie folgt:
Es erfasst die angegebenen Dateinamen und Erweiterungen.
Es erstellt einen temporären Ordner, in dem das Skript in einem Unterordner und die Köderdatei außerhalb platziert wird – beide ähnlich benannt, wobei der Ordnername mit "X" und der Köderdateiname mit "Y" ergänzt wird:

Anschließend wird eine ZIP-Datei aus dem temporären Ordner erstellt, im Binärmodus geöffnet und die Zeichen "X" und "Y" werden durch Leerzeichen ersetzt, sodass es aussieht, als wären sie dieselbe Datei.
Die modifizierten Daten werden in eine .rar-Datei geschrieben.

Mit einem Programm wie ProcessMonitor können wir die genauen Schritte sehen, die WinRAR bei der Ausführung der Datei unternimmt:

Das Problem entsteht durch Ambiguität, die dadurch verursacht wird, dass ein Archiv zwei Dateien mit nahezu identischen Namen enthält: "image.jpg " (Köder) und
"image.jpg .cmd" (bösartiges Skript). Das zusätzliche Leerzeichen erzeugt einen ähnlichen Basisnamen, was sowohl WinRAR als auch Windows bei der Auflösung von Dateipfaden verwirrt. Beim Klicken auf "image.jpg " liest WinRAR alle verwandten Dateien im Temp-Ordner aufgrund ihrer ähnlichen Basisnamen ein und erstellt sie:

Um die Ambiguität aufzulösen, führt WinRAR eine Wildcard-Suche (QueryDirectory) nach image.jpg .* durch, um einen ausführbaren Dateityp zu finden und sicherzustellen, dass keine anderen verwandten Dateien vorhanden sind. WinRAR (und Windows) priorisieren bei der Auflösung von mehrdeutigen Pfaden immer ausführbare Dateitypen (z. B. .cmd, .exe, .bat). Dadurch wurde "image.jpg .cmd" über cmd.exe ausgeführt (Create Process), sodass das bösartige Skript läuft, anstatt die Köderdatei im Standard-Bildbetrachter zu öffnen.
WinRAR hat dieses Problem in Version 6.23 behoben. Benutzern wird dringend empfohlen, auf die neueste Version zu aktualisieren.
https://www.win-rar.com/singlenewsview.html?&L=0&tx_ttnews%5Btt_news%5D=232