
Una prova di concetto realizzata con Python per la CVE-2023-38146 "ThemeBleed"
Un enorme ringraziamento a gabe_k per il PoC iniziale in C#, e per aver effettivamente trovato questa CVE, questo è un remake del suo codice in python, riutilizzando i suoi file stage. Per vedere il PoC iniziale visita la sua pagina qui: https://github.com/gabe-k/themebleed
Una proof of concept in python per la CVE-2023-38146 "ThemeBleed".
Questo programma utilizza il server SMB di Impacket e sovrascrive la funzione smb2Create e pertanto richiede le funzionalità di 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 inizia con un file .THEME che richiede un file msstyles da Internet. Se al file viene assegnato un numero di versione "999", verrà chiamata la funzione ReviseVersionIfNecessary, che carica in modo non sicuro un file .dll, permettendo a un attaccante di caricare un file di libreria non controllato.
Ho messo insieme questo perché non riuscivo a far compilare il codice C# in linux, probabilmente per la mia ignoranza su come funziona, però so programmare in python.
Righe 44-53 in ThemeBleedServer.py/overrideSmb2Create - È qui che avviene il cambio di percorso
Righe 191-Fine in ThemeBleedServer.py - Creazione del server
Riga 13 in exploit.theme - Per il cambio di IP.