Haider303/facebook-media-driver-exploit

GitHub: Haider303/facebook-media-driver-exploit

针对存在漏洞的 Windows 内核驱动实现本地提权的概念验证代码,利用未校验地址的 IOCTL 原语完成从管理员到 SYSTEM 权限的提升。

Stars: 6 | Forks: 1

# facebook-media — Windows 内核 LPE 概念验证(PoC)本地提权漏洞利用,针对存在漏洞的内核驱动。将任意物理内存读写原语串联起来,以窃取 SYSTEM token。 ## 它的功能 位于 `\\.\facebook-media` 的驱动暴露了三个缺乏地址验证的 IOCTL: | IOCTL | 原语 | |---|---| | `0x222000` | 读取内核虚拟内存 | | `0x222018` | 读取物理内存 | | `0x22201C` | 写入物理内存 | 这些操作被串联起来,用 SYSTEM token 覆盖当前进程的 token,从而获得 `NT AUTHORITY\SYSTEM` 权限。 ## 环境要求 - Windows 10/11 x64 - 管理员权限 - 已加载 `facebook-media.sys` - Visual Studio 2022 Build Tools ## 编译 从开始菜单中打开 **x64 Native Tools Command Prompt for VS 2022**。 验证你是否使用了正确的编译器: ``` cl ``` 它应该显示 `for x64` —— 如果显示 `x86`,说明你打开的命令提示符不对。 导航到项目文件夹并进行编译: ``` cl /EHsc exploit.c /Fe:exploit.exe psapi.lib advapi32.lib ``` ## 用法 以管理员身份运行: ``` exploit.exe ``` 无需输入。将会打开一个具有 `NT AUTHORITY\SYSTEM` 权限的 `cmd.exe` 窗口。 ## EPROCESS 偏移量 已针对 Windows 10/11 x64 硬编码。如果在不同的构建版本上运行,请使用 WinDbg 进行验证: ``` dt nt!_EPROCESS Token dt nt!_EPROCESS ActiveProcessLinks dt nt!_EPROCESS UniqueProcessId dt nt!_KPROCESS DirectoryTableBase ``` ## 免责声明 仅供教育和研究目的使用。作者不对任何滥用行为负责。请仅在你拥有或获得书面授权的测试系统上进行测试。
标签:C/C++, Web报告查看器, Windows内核, 事务性I/O, 协议分析, 客户端加密, 本地提权, 权限提升, 白帽子