
Ein Proof of Concept mit Python für CVE-2023-38146 "ThemeBleed"
Ein großer Dank an gabe_k für den initialen PoC in C# und das tatsächliche Finden dieser CVE. Dies ist eine Nachbildung seines Codes in Python, unter Verwendung seiner Stage-Dateien. Um den ursprünglichen PoC zu sehen, besuchen Sie seine Seite hier: https://github.com/gabe-k/themebleed
Ein Proof of Concept mit Python für die CVE-2023-38146 "ThemeBleed".
Dieses Programm verwendet Impackets SMB-Server und überschreibt die smb2Create-Funktion und benötigt daher Impackets-Funktionalitäten.
Usage:
Replace {IP-ADDRESS} in the exploit.theme file
python3 ThemeBleedServer.py - Run the SMB server
Use the .theme file on a vulnerable windows 11 machine
As in Gabe's Exploit you need to create a new stage 3 file that is a dll that exports VerifyThemeVersion, the current file only opens Calc.
Themebleed beginnt mit einer .THEME-Datei, die eine msstyles-Datei aus dem Internet anfordert. Wenn die Datei eine Versionsnummer "999" verwendet, ruft sie die Funktion ReviseVersionIfNecessary auf, die unsicher eine .dll-Datei lädt, was einem Angreifer ermöglicht, eine ungeprüfte Bibliotheksdatei zu laden.
Ich habe dies zusammengestellt, weil ich den C#-Code nicht unter Linux kompilieren konnte, wahrscheinlich aufgrund meiner eigenen Unkenntnis der Funktionsweise, aber ich kann Python programmieren.
Zeilen 44-53 in ThemeBleedServer.py/overrideSmb2Create - Hier findet die Pfadänderung statt
Zeilen 191-Ende in ThemeBleedServer.py - Servererstellung
Zeile 13 in exploit.theme - Für IP-Änderung.