piffd0s/ntoskrnl-metadata

GitHub: piffd0s/ntoskrnl-metadata

一个 IDA Python 脚本,从 Windows ntoskrnl.exe 中自动提取针对 CVE-2026-40369 的函数 RVA 和 _EPROCESS 结构偏移,辅助内核漏洞利用的版本适配。

Stars: 1 | Forks: 0

# ntoskrnl-元数据 一个用于从 Windows ntoskrnl.exe 二进制文件中提取关键内核元数据的 IDA Python 脚本。该工具可自动提取针对 **CVE-2026-40369** 及其他内核漏洞开发利用所需的功能 RVA 和 `_EPROCESS` 结构偏移。 ## 目的 本工具通过自动提取必须硬编码到 exploit payload 中的特定版本内核元数据,帮助编译针对 **CVE-2026-40369** 的成功利用。提取的值可确保在不同 Windows 构建版本和补丁级别下正确地进行函数 hook 和结构体成员访问。 ## 功能 - **自动函数 RVA 提取**:检索关键内核函数的 RVA: - `ExpGetProcessInformation` - `ExpQuerySystemInformation` - `CmpLayerVersionCount` - `CmpLayerVersions` - `PsInitialSystemProcess` - **_EPROCESS 结构偏移**:提取以下成员的偏移: - `UniqueProcessId` - `ActiveProcessLinks` - `Token` - `ImageFileName` - **即用输出**:生成可直接粘贴到 CVE-2026-40369 exploit 代码中的格式化输出 ## 前置条件 - **IDA Pro**(支持 Python) - **已加载 ntoskrnl.exe 的 Windows PDB 符号** - **ida_typeinf 模块**(IDA Pro 自带) ## 使用方法 1. 在 IDA Pro 中打开 ntoskrnl.exe 2. 加载匹配的 Windows PDB 符号: - File → Load File → PDB File - 选择对应 Windows 版本的 ntoskrnl.pdb 3. 运行脚本: - File → Script File → 选择 `extract_metadata.py` - 或:File → Python → Run script 4. 脚本将输出: - 所有函数 RVA 及其内存地址 - _EPROCESS 结构体成员偏移 - 可直接粘贴到 exploit 代码中的格式化行 ## 输出示例 ``` === RVAs (image base = 0x140000000) === ExpGetProcessInformation: ea=0x1400a1234 rva=0xa1234 ExpQuerySystemInformation: ea=0x1400a5678 rva=0xa5678 ... === _EPROCESS member offsets === _EPROCESS.UniqueProcessId: 0x440 _EPROCESS.ActiveProcessLinks: 0x448 _EPROCESS.Token: 0x4d8 _EPROCESS.ImageFileName: 0x5e8 === g_builds[] row (paste at poc.c:146) === { 26200, 8037, 0xA1234, 0xA5678, 0x440, 0x448, 0x4D8, 0x5E8 }, ``` ## 故障排除 | 错误 | 解决方案 | |------|----------| | "NOT FOUND (PDB not loaded?)" | 加载与 ntoskrnl.exe 版本匹配的正确 Windows PDB 文件 | | "_EPROCESS not in Local Types" | 确保已正确加载 PDB;请尝试 File → Load File → PDB File | | 脚本运行但无输出 | 检查 IDA Python 控制台是否已打开(Windows → Output windows → Python) | ## 支持的版本 本脚本适用于任何支持 PDB 符号的 Windows ntoskrnl.exe 版本。已在 Windows 10 和 Windows 11 上测试通过。 ## 注意事项 - RVA 是相对于输出中显示的镜像基址计算的 - 所有偏移均以字节为单位(从 IDA 的位偏移转换而来) - 生成的输出格式与 CVE-2026-40369 exploit 框架兼容 - 请确保拥有与 ntoskrnl.exe 匹配的正确 PDB 版本 ## 许可证 本工具按原样提供,仅供安全研究和授权分析使用。
标签:CVE-2026-40369, EPROCESS结构, Exploit开发工具, IDA Pro, ntoskrnl, PDB符号, Windows内核, Windows逆向, 云资产清单, 内核元数据提取, 内核漏洞, 函数RVA, 漏洞利用开发, 白帽子, 结构偏移量, 逆向工具, 逆向工程