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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Byepervisor — 一个针对 1.xx-2xx 固件的 PS5 管理程序漏洞利用。 | Kitploit
工具/GitHubGitHub/ps5dev/byepervisor
嵌入式系统安全权限提升漏洞分析漏洞利用逆向工程安全虚拟化二进制利用
GitHubps5dev/byepervisor

Byepervisor

一个针对 1.xx-2xx 固件的 PS5 管理程序漏洞利用。

查看仓库
355231年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Byepervisor


摘要

PS5 虚拟机监控器(hypervisor)漏洞,适用于 <= 2.xx 固件。仓库中包含两个相互独立的漏洞及对应的漏洞利用链,任选其一即可使用。其中一个漏洞利用仅用于存档保留(/_old_jump_table_exploit),只需使用主漏洞利用链(QA flags 漏洞利用)即可。

该研究已在 hardwear.io NL 2024 大会上展示,幻灯片可在此处获取。演讲视频即将发布。

跳转表(Jump Table)漏洞利用

第一个漏洞利用了虚拟机监控器代码跳转表与客户机内核共享的漏洞,位于 /_old_jump_table_exploit/。通过劫持 VMMCALL_HV_SET_CPUID_PS4 超级调用(hypercall)的跳转表项,即可在虚拟机监控器中实现代码执行。我们运行一条 ROP 链来禁用嵌套页表(NPT)和访客模式执行陷阱(GMET),从而能够在内核页表项(PTE)中禁用仅执行内存(XOM,即 xotext)以将其转储,同时还能在 PTE 中启用写入权限,从而挂钩/修补内核。

这种方法需要相当多的 gadget 和偏移量,这也是该漏洞利用并非主漏洞利用的主要原因。此外,它目前只能破坏运行 ROP 链所在核心上的虚拟机监控器,其他核心上的虚拟机监控器仍然处于活动状态,需要另行禁用。

QA flags 漏洞利用

主要且推荐的漏洞利用利用了系统 QA(Quality Assurance)标志在虚拟机监控器与客户机内核之间共享这一事实。虚拟机监控器初始化时,构建嵌套页表的初始化代码会检查用于系统级别(SL)调试的 QA 标志。如果该标志被设置,则在内核 .text 页面对应的嵌套页表项(PTE)中不会设置 xotext 位,而且内核 .text 页面的 PTE 还会设置写入位。

这些标志在从睡眠模式恢复时不会由安全加载程序重新初始化,但虚拟机监控器会。通过设置 SL 标志、让系统进入睡眠状态并恢复,我们可以修改客户机内核的页表,使内核 .text 页面变为可读/可写,从而允许转储内核以及进行挂钩/修补。

重要说明

  • 目前仅支持 2.50 固件用于 Homebrew Enabler(HEN),其他固件版本的支持将在稍后添加。
  • 漏洞利用载荷(byepervisor.elf)需要发送两次:一次在系统挂起之前,另一次在恢复之后。
  • 你需要手动将系统置于休息模式。
  • 目前,通过 QA flags 漏洞利用获得的内核转储将不包含虚拟机监控器的 .data 区域;如果这对你很重要,请移植后使用跳转表漏洞利用进行转储,或者先禁用嵌套页表(这是一个待办事项)。

当前包含

  • 内核转储代码(已注释掉,运行此代码将导致系统崩溃,因为它会尝试转储尽可能多的内容,直到遇到未映射的内存)
  • 通过 TCP 解密系统库 SELF 的代码
  • 适用于 2.50 固件的 Homebrew enabler(HEN)(fself+fpkg)

构建说明

该漏洞利用载荷使用 PS5-Payload-Dev SDK 构建。另外请注意,hen/ 的构建稍有特殊,因为它会被编译成一个平面二进制文件,然后复制到内核代码洞穴(code cave)中。hen/ 中的全部代码都以监督者/内核模式运行。

使用方法

  1. 在 webkit 或 BD-J 中运行 UMTX 漏洞利用链,并运行一个 ELF 加载器
  2. 发送 byepervisor.elf
  3. 将系统置于休息模式
  4. 重新启动系统
  5. 再次发送 byepervisor.elf(如果你使用 John Tornblom 的 ELF 加载器,加载器在恢复后应继续接受载荷;如果不行,则需要重新运行 UMTX 漏洞利用)

未来工作

  • 支持更多固件版本(偏移量)
  • 让 byepervisor.elf 只需发送一次
  • 自动挂起系统?
  • 使用 QA flags 漏洞利用修补 vmcbs,以转储虚拟机监控器数据

致谢

  • ChendoChap
  • flatz
  • fail0verflow
  • Znullptr
  • kiwidog
  • sleirsgoevy

Discord

对 PS5 研究/开发感兴趣的人可以加入我建立的 Discord 服务器。

下载工具