此仓库包含与 CVE-2024-30052 相关的材料。关于该漏洞的更多详细信息,请参阅我的博客文章。
结构
- builder 文件夹包含用于构建可利用漏洞的转储文件的程序源码。
- poc 文件夹包含三个概念验证文件,打开后会启动 calc.exe:chm、hta 和 py。
- manifest 文件夹包含 VS 17.8.10 版本的清单文件,方便在本地测试时下载该特定版本。
运行 PoC
- 在 Visual Studio 2022 中打开 CVE-2024-30052-builder.sln 并编译。
- 运行
CVE-2024-30052-builder.exe /path/to/repo/poc/poc.chm(或 poc.hta、poc.py)。这将在同一目录下创建一个转储文件。
- 在 VS 2022 中打开该转储文件,点击“使用托管进行调试”或“使用混合进行调试”。
- 会弹出一个消息框,提示该文件将在外部编辑器中打开。点击“确定”或“X”。
- calc.exe 现在应该会启动。
注意:
- 需要安装 VS 2022 Community 版,生成器可执行文件才能开箱即用。或者,你也可以替换 CompileSource 函数中 csc.exe 的路径。
- 只有版本早于 17.8.11 的 VS 2022 存在漏洞。你可以通过执行以下命令安装 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"
- 要使 .py PoC 生效,系统必须安装 Python。另外两个 PoC 应该可以正常工作。
演示
cve-2024-30052.webm