
Доказательство концепции с использованием Python для CVE-2023-38146 "ThemeBleed"
Большое спасибо gabe_k за начальный PoC на C# и за обнаружение этой CVE, это переработка его кода на Python с повторным использованием его файлов этапов. Чтобы увидеть исходный PoC, посетите его страницу здесь: https://github.com/gabe-k/themebleed
PoC на Python для CVE-2023-38146 «ThemeBleed».
Эта программа использует SMB-сервер Impacket и переопределяет функцию smb2Create, поэтому требуются функции 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 начинается с файла .THEME, который запрашивает файл msstyles из интернета. Если используется номер версии «999», вызывается функция ReviseVersionIfNecessary, которая небезопасно загружает DLL-файл, позволяя атакующему загрузить непроверенную библиотеку.
Я собрал это, потому что не смог скомпилировать код на C# в Linux, вероятно, из-за моего незнания, как это работает, но я умею программировать на Python.
Строки 44-53 в ThemeBleedServer.py/overrideSmb2Create - Здесь происходит изменение пути
Строки 191-конец в ThemeBleedServer.py - Создание сервера
Строка 13 в exploit.theme - Для замены IP.