Этот репозиторий содержит материалы, связанные с CVE-2024-30052. Более подробная информация об уязвимости приведена в моём посте в блоге.
структура
- Папка builder содержит исходные файлы программы, которая создаёт файл дампа, эксплуатирующий уязвимость.
- Папка poc содержит три proof-of-concept файла, которые запускают calc.exe после открытия: chm, hta и py.
- Папка manifest содержит манифест для VS версии 17.8.10, чтобы упростить локальную загрузку этой конкретной версии при тестировании.
запуск PoC
- Откройте CVE-2024-30052-builder.sln в Visual Studio 2022 и скомпилируйте его.
- Запустите
CVE-2024-30052-builder.exe /path/to/repo/poc/poc.chm (или один из файлов poc.hta, poc.py). Это создаст файл дампа в той же папке.
- Откройте файл дампа в VS 2022 и нажмите «Отладка с управляемым кодом» или «Смешанная отладка».
- Появится всплывающее окно, сообщающее, что файл будет открыт во внешнем редакторе. Нажмите OK или X.
- Теперь должен запуститься calc.exe.
Примечание:
- Для работы builder.exe «из коробки» необходимо установить VS 2022 Community. В качестве альтернативы можно заменить путь к csc.exe в функции CompileSource.
- Уязвимы только версии VS 2022 старше 17.8.11. Вы можете установить версию 17.8.10, выполнив:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" install --channelId VisualStudio.17.Release --productId Microsoft.VisualStudio.Product.Community --channelURI "https://raw.githubusercontent.com/ynwarcs/CVE-2024-30052/refs/heads/main/manifest/ChannelManifest_17.8.10.json?token=GHSAT0AAAAAACWHD36ESW2XDN5U2AOC22OYZYAHHJA"
- Чтобы PoC на .py работал, в системе должен быть установлен Python. Остальные два PoC должны работать нормально.
демонстрация
cve-2024-30052.webm