Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2021-40449 — Windows LPE 漏洞利用程序,针对 CVE-2021-40449,即 win32kfull!GreResetDCInternal 中的释放后使用漏洞,利用令牌泄露、内核 gadget 滥用和 shellcode 注入来获取 SYSTEM 权限。 | Kitploit
工具/GitHubGitHub/hakivvi/cve-2021-40449
权限提升内存取证漏洞分析漏洞利用ShellcodePayload 开发二进制利用
GitHubhakivvi/cve-2021-40449

CVE-2021-40449

Windows LPE 漏洞利用程序,针对 CVE-2021-40449,即 win32kfull!GreResetDCInternal 中的释放后使用漏洞,利用令牌泄露、内核 gadget 滥用和 shellcode 注入来获取 SYSTEM 权限。

查看仓库
481524年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-40449

我对 CVE-2021-40449 的漏洞利用,这是一个通过 win32kfull!GreResetDCInternal 中的 UAF 实现的 Windows 本地权限提升漏洞。

简短说明

除了 UAF 漏洞之外,还使用了其他原语来实现此漏洞利用:

  • 通过 NtQuerySystemInformation() 函数配合 SystemHandleInformation 参数,在 ring0 泄漏漏洞利用进程的 access token 地址。
  • 使用 rtlSetAllBits() 作为 gadget,将漏洞利用进程的 access_token.privileges 覆盖为 0xFF。
  • 通过 EnumDeviceDrivers() 函数泄漏 ntoskrnl.exe 模块的基地址,从而在 ring0 泄漏 rtlSetAllBits() 的地址。
  • 精心构造 gadget 的参数 BitMapHeader,以便允许我们覆盖漏洞利用进程的 access_token.privileges。
  • 通过 NtSetInformationThread() 原语分配构造好的 BitMapHeader,并使用 NtQuerySystemInformation() 函数配合 SystemBigPoolInformation 参数泄漏大池中的分配地址。
  • 为了与易受攻击的函数交互,我们首先通过 EnumPrinters() 枚举系统上的打印机,加载其中一台打印机的驱动程序,然后挂钩到用户模式回调函数 DrvEnablePDEV()。
  • 在钩子中,我们将调用代理到原始的 DrvEnablePDEV() 函数,执行漏洞利用操作,然后将代理调用返回的结果返回给 GDI。
  • 通过在挂钩的 DrvEnablePDEV() 中第二次调用 ResetDC() 来触发 UAF。
  • 通过 CreatePalette() 原语喷射相同大小的构造对象,以回收被释放的 PDC 对象。
  • 滥用新获得的 SeDebugPrivilege 权限,通过将 shellcode 注入 winlogon.exe 进程来获取 NT AUTHORITY\SYSTEM。

更多信息可以参见卡巴斯基的这篇文章。

PoC

PoC 已在 Win10 Redstone(build 14393)上测试。

下载工具