
针对CVE-2018-19323 - GIGABYTE GDrv权限提升漏洞的漏洞利用框架,支持多架构和框架集成
本仓库包含针对 CVE-2018-19323 的完整高级利用框架,该漏洞存在于技嘉 gdrv.sys 驱动中。此漏洞允许无特权用户读写任意模型特定寄存器(MSR),从而导致完整的 Ring-0(内核)沦陷,并将权限提升至 NT AUTHORITY\SYSTEM。
该框架设计为模块化、健壮且功能丰富,为安全研究、红队行动和漏洞分析提供了全面的工具。
IA32_LSTAR MSR 获得内核基址并执行令牌窃取 shellcode,实现权限提升。core、payloads、、、、),便于扩展和维护。evasionmonitormultiarchframework.
├── exploit.py # 主利用框架和命令行接口
├── core.py # 核心驱动交互和利用原语
├── payloads.py # Shellcode 生成、自定义载荷和编码
├── evasion.py # 反虚拟机、反调试和持久化技术
├── monitor.py # 日志记录、性能监控和报告
├── multiarch.py # 多架构支持(x86/x64/ARM64)
├── framework.py # 与 Metasploit、Cobalt Strike 等集成
├── tests.py # 全面的单元、集成和性能测试
└── README.md # 本文档文件
gdrv.sys 驱动。psutil、cryptography、requests# 安装所需的 Python 包
pip install psutil cryptography requests
主利用框架通过 exploit.py 执行。它提供多个命令行选项,以适应不同的操作模式。
# 显示帮助和所有可用选项
python exploit.py --help
# 默认隐身模式(推荐)
# 在利用前执行所有预检规避检查。
python exploit.py
# 激进模式
# 跳过规避检查,以便在受控环境中更快执行。
python exploit.py --aggressive
# 调试模式
# 提供详细日志,用于开发和分析。
python exploit.py --debug
# 运行完整的测试套件
# 验证所有框架组件,但不执行利用。
python exploit.py --test-only
[!WARNING] 本软件仅用于教育和授权的安全研究目的。未经授权在任何系统上使用均属违法,并严令禁止。作者 kali 不对因使用本框架造成的任何损害或误用负责。
gdrv.sys 驱动暴露了一个 IOCTL 0xC3502580,任何用户模式应用程序均可调用。该 IOCTL 接收一个包含操作类型(读/写)、MSR 寄存器索引和值的结构体。驱动不执行任何访问控制检查,允许任何进程读写任何 MSR。
这是一个严重缺陷,因为 MSR 控制着 CPU 的基本操作。具体来说,IA32_LSTAR MSR(地址 0xC0000082)存储了内核中系统调用处理程序的地址。通过读取该 MSR,我们可以绕过内核地址空间布局随机化(KASLR)并计算出内核基址。通过写入该 MSR,我们可以将系统调用重定向到我们自己的 shellcode,从而在 Ring-0 中实现任意代码执行。
\\.\GIO 设备的句柄。IA32_LSTAR MSR 以获取内核内的指针,绕过 KASLR。EPROCESS 结构,定位 SYSTEM 进程(PID 4)的 EPROCESS,并将其安全令牌复制到我们的进程。IA32_LSTAR MSR 的地址,指向我们 shellcode 的地址。NT AUTHORITY\SYSTEM 权限。IA32_LSTAR 值,以防止系统不稳定。evasion.py 模块包含对 CPU 核心数、磁盘大小、近期文件活动、已安装程序以及高级计时/挂钩检测的检查,以构建更强大的环境指纹。payloads.py 模块允许动态生成各种载荷(反向 shell、Meterpreter、Cobalt Strike beacon),支持不同架构,并有多层编码。multiarch.py 模块提供全面的抽象层,用于处理 x86、x64 和 ARM64 之间的差异,包括指针大小、调用约定、内核结构和指令集。framework.py 模块可以生成即用型模块,用于 Metasploit(.rb)、Cobalt Strike(.cna)、Empire(.py)和 Sliver(.go),自动完成红队行动的集成过程。框架包含 tests.py 中的全面测试套件。您可以运行所有测试以确保所有组件的完整性和功能性。
# 运行所有单元、集成和性能测试
python tests.py --all
# 仅运行单元测试
python tests.py --unit
本项目旨在展示高级利用技术,请负责任地使用。