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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/philsajdak/cve-2021-38304-poc
内存取证漏洞分析漏洞利用学习与教育二进制利用
GitHubphilsajdak/cve-2021-38304-poc

CVE-2021-38304-PoC

CVE-2021-38304 概念验证

查看仓库
41年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-38304 概念验证

概述

本仓库包含一个针对 National Instruments(美国国家仪器)旧版本 nipalk.sys 驱动程序中严重安全漏洞的概念验证。该漏洞允许在内核模式下执行任意代码并泄露内存。此代码仅供个人研究使用。

描述

nipalk.sys 驱动程序在处理特定 IOCTL 请求时,未能正确处理用户提供的指针。此缺陷使攻击者能够提供一个函数指针,驱动程序会以受控参数在内核上下文中调用该指针。

关键要点

  • 函数指针控制:驱动程序在未进行适当验证的情况下调用用户提供的函数指针。
  • 参数控制:攻击者可以在函数调用期间控制 RCX 和 RDX 寄存器。
  • 内存泄露:通过调用 RtlCopyMemory 等函数,攻击者可以读取任意内核内存。
  • 拒绝服务(DoS):传递无效函数指针会因驱动程序缺乏输入验证而导致系统崩溃。

根本原因

该漏洞源于驱动程序未能验证用户模式应用程序提供的指针。在处理 IOCTL 0xABCD03C4 期间,驱动程序从用户可控的结构中检索函数指针,并在未进行适当检查的情况下调用它:

root@kitploit:~
0045561e 48 8b 01        MOV        RAX,qword ptr [param_1]
00455621 49 8b 52 18     MOV        irp,qword ptr [R10 + 0x18]
00455625 ff 50 08        CALL       qword ptr [RAX + 0x8]
  • 位于 [RAX + 8] 的函数指针在内核上下文中执行。
  • 参数 RCX 和 RDX 由用户控制。

输出示例

  • 成功的内存泄露:
root@kitploit:~
[+] Starting exploit
[+] Memory allocated
[+] Values before IOCTL:
   exploit->dummy: 00000000001b0000
   exploit->function_pointer: fffff8017ea21300
[+] Device opened successfully
[+] Sending IOCTL
[+] Values after IOCTL:
   exploit->dummy: 7208f88349c18b48
   exploit->function_pointer: ffff7710f8834937
[+] DeviceIoControl succeeded. Bytes returned: 8
[+] Buffer Output: 1769472
[!] WARNING: exploit->dummy has changed!
[!] WARNING: exploit->function_pointer has changed!
[+] Exploit finished

免责声明

此 PoC 仅用于教育目的。

下载工具