rahul0xkr/gdrv-arbitrary-rw-lpe
GitHub: rahul0xkr/gdrv-arbitrary-rw-lpe
这是一个利用 GDRV.sys 驱动程序漏洞实现内核任意读写,并通过窃取 SYSTEM Token 进行本地提权的演示项目。
Stars: 0 | Forks: 0
# Windows 内核 LPE 漏洞利用(通过 GDRV.sys)(任意读写 → 窃取 Token)
## 概述
本项目演示了 GDRV.sys 驱动程序中的一个本地提权(LPE)漏洞。该驱动程序暴露了一个 IOCTL,可在不验证用户提供的指针的情况下执行内存复制操作。
通过利用此漏洞,我们实现了任意内核读写,并通过窃取 SYSTEM 进程的 token 来提升权限。
## 漏洞摘要
IOCTL:`0xC3502808`
驱动程序执行:
memcpy(dst, src, size)
其中:
- `dst` = 用户控制
- `src` = 用户控制
- `size` = 用户控制
未执行任何验证 → 导致内核中的任意内存访问。
## 根本原因
```
v8 = *(_BYTE *)(v6 + v3++);
*(_BYTE *)(v3 - 1) = v8;
v3 → destination pointer (user-controlled)
v5 → source pointer (user-controlled)
v4 → size (user-controlled)
```
这导致了任意读/写原语。
## 漏洞利用步骤
1. 打开设备 \\.\GIO
2. 构建任意读/写原语
3. 通过 EnumDeviceDrivers 泄露内核基址
4. 解析 PsInitialSystemProcess
5. 读取 SYSTEM EPROCESS
6. 遍历 ActiveProcessLinks
7. 定位当前进程
8. 窃取 SYSTEM token
9. 生成 SYSTEM shell
## 演示
Token 已窃取!
whoami
nt authority\system
## 构建与运行
g++ exploit.cpp -o exploit.exe -lpsapi
exploit.exe
标签:C++, Conpot, CSV导出, Exploit, GDRV.sys, IOCTL, LPE, Token窃取, Web报告查看器, Windows内核, Windows安全, 任意读写, 内存安全, 内核开发, 内核态, 协议分析, 数据擦除, 本地提权, 权限提升, 漏洞分析, 白帽子, 系统编程, 路径探测, 驱动漏洞