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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-51585 — rt26cx21x64.sys 漏洞利用(Realtek PCIe GbE/2.5GbE/5GbE 系列) | Kitploit
工具/GitHubGitHub/catforgor/cve-2026-51585
漏洞分析漏洞利用逆向工程硬件与物联网安全二进制利用
GitHubcatforgor/cve-2026-51585

CVE-2026-51585

rt26cx21x64.sys 漏洞利用(Realtek PCIe GbE/2.5GbE/5GbE 系列)

查看仓库
34个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

realtek poc

rt26cx21x64.sys 漏洞利用(Realtek PCIe GbE/2.5GbE/5GbE 系列)

概述

OID 0xFF816871 将网卡的 mmio bar 映射到调用进程的虚拟地址空间中, (MmLockedPagesSpecifyCache),可通过 \.\RealTekCard{GUID} 从用户态访问

该 IOCTL(0x0012C818)受注册表值(DrvMode=4)控制

一旦我们获得 mmio 寄存器访问权限,就可以在环回模式下对网卡的 tx/rx 描述符环进行编程, 以实现对任意物理地址的读写(AllocateUserPhysicalPages 为我们提供 PFN)。

逆向工程

IOCTL 分发

IOCTL 0x12C008(1230872)是第一个存在漏洞的分发分支。0x12C00C 和 0x12C010 通向不同的路径,a5 通过 switch 携带 IOCTL 代码

IOCTL 分发

模式门控

在到达 DMA 路径之前,驱动程序会检查全局 DrvMode 标志,必须设置第 2 位,否则我们永远无法到达存在漏洞的 MMIO 映射路径。

模式门控检查

dword_1400D0208 与 4 进行与运算即为该检查

绕过防护

在存在漏洞的路径前有两个防护,两者都必须评估为 false 才能进入 DMA 路径,这两个防护分别是设备扩展上的一个字节标志以及 上一张图片中的模式检查

防护绕过

!_(_BYTE _)(a1 + 12465) 很容易绕过,我们只需确保设备未初始化即可。

sub_14001B67C 同样非常简单。

MDL 分配

驱动程序在调用者提供的物理地址上分配一个 MDL,且不进行任何验证, 没有边界或范围验证,完全没有。

MDL 分配

物理映射

MDL 被映射到内核虚拟地址空间,基地址返回给调用者, 0x40000010 是 MAP_NO_EXECUTE 与 MmNonCached。

MmMapLockedPages

MmMapLockedPagesSpecifyCache 生成映射后的虚拟地址,该地址被写入 *a2 并返回 给用户态,这为我们提供了任意物理地址读写原语。

要求

  • 与 nic.h 匹配的兼容 Realtek 适配器。

使用方法

以管理员身份运行。

首次运行后,注册表值将被设置,你需要重启电脑。

要使其正常工作,你的网卡必须处于链路 UP 状态(这样我们才能处理描述符)。

任选其一:

  • 将网线插入另一台电脑、路由器或任何能提供链路 UP 状态的设备

或者

  • 短接 RJ45 端口上的引脚 1-2 和 3-6,以使链路进入 UP 状态

构建

root@kitploit:~
$ cmake -B build
$ cmake --build build --config Release

备注

  • 我删除了大部分有趣的内容(cr3、踩踏等),但这是基础的 POC
下载工具