
这是一个简单的代码,可利用存在漏洞的已签名驱动程序,从用户模式进行内核模式内存读写。 它仅仅是在内核模式下利用 MmCopyVirtualMemory(一个未公开但最常见的 API 之一),从而无需担心内存页的保护机制,即可读取/写入任意用户模式内存。此外,它还附带一个函数,用于获取给定 PID 的进程句柄作为辅助功能。由于句柄的创建在内核模式下进行,我相信标准的访问检查和回调不会被触发。
本项目仅用于学习目的,不建议在虚拟机之外的环境中使用。
我在 uc 论坛上看到,这个特定驱动程序存在提权漏洞。 于是我开始亲自逆向该驱动程序,果然该驱动程序对其强大的 IOCTL 没有任何访问控制。
本项目利用了报告为 CVE-2023-38817 的漏洞。 https://www.loldrivers.io/drivers/afb8bb46-1d13-407d-9866-1daa7c82ca63/
由于我懒得好好实现,你只需要包含所有内容并编译即可。 所有功能都封装在 kur_t 类中。
https://github.com/pseuxide/kur/blob/cd3da42b8a146af3ca83d5f95970b030bd55585f/kur/kur.h#L5-L14