
Une preuve de concept utilisant python pour le CVE-2023-38146 "ThemeBleed"
Un immense merci à gabe_k pour le PoC initial en C#, et pour avoir trouvé cette CVE, il s'agit d'une refonte de son code en python, réutilisant ses fichiers de stage. Pour voir le PoC initial, consultez sa page ici : https://github.com/gabe-k/themebleed
Une preuve de concept utilisant python pour la CVE-2023-38146 "ThemeBleed".
Ce programme utilise le serveur SMB d'Impacket et surcharge la fonction smb2Create et nécessite donc les fonctionnalités d'Impacket.
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 commence avec un fichier .THEME qui demande un fichier msstyles sur Internet. Si le fichier utilise un numéro de version "999", il appellera la fonction ReviseVersionIfNecessary, qui charge de manière non sécurisée un fichier .dll, permettant à un attaquant de charger un fichier de bibliothèque non vérifié.
J'ai assemblé cela parce que je n'arrivais pas à compiler le code C# sous linux, probablement à cause de ma propre ignorance de son fonctionnement, mais je sais coder en python.
Lignes 44-53 dans ThemeBleedServer.py/overrideSmb2Create - C'est là que le changement de chemin a lieu
Lignes 191-Fin dans ThemeBleedServer.py - Création du serveur
Ligne 13 dans exploit.theme - Pour le changement d'IP.