Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Byepervisor — 1.xx-2xx 펌웨어용 PS5 하이퍼바이저 익스플로잇입니다. | Kitploit
도구/GitHubGitHub/ps5dev/byepervisor
Embedded Systems SecurityPrivilege EscalationVulnerability AnalysisExploitationReverse EngineeringSecurity VirtualizationBinary Exploitation
GitHubps5dev/byepervisor

Byepervisor

1.xx-2xx 펌웨어용 PS5 하이퍼바이저 익스플로잇입니다.

저장소 보기
355231년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Byepervisor


개요

PS5 하이퍼바이저 익스플로잇으로 2.xx 이하 펌웨어를 대상으로 합니다. 저장소에는 두 가지 취약점과 익스플로잇 체인이 포함되어 있으며, 이들은 서로 독립적이므로 둘 중 하나를 사용할 수 있습니다. 하나의 익스플로잇은 주로 보존 목적으로 제공되며 (/_old_jump_table_exploit), 기본 익스플로잇 체인(QA 플래그 익스플로잇)만 사용하면 됩니다.

이 연구는 hardwear.io NL 2024에서 발표되었으며, 슬라이드는 여기에서 확인할 수 있습니다. 발표 내용은 곧 공개될 예정입니다.

점프 테이블 익스플로잇

첫 번째 익스플로잇은 하이퍼바이저 코드 점프 테이블이 게스트 커널과 공유되는 취약점을 이용하며, /_old_jump_table_exploit/에 포함되어 있습니다. VMMCALL_HV_SET_CPUID_PS4 하이퍼콜의 점프 테이블 엔트리를 하이재킹하여 하이퍼바이저에서 코드 실행을 달성할 수 있습니다. Nested Paging(NPT)과 Guest Mode Execute Trap(GMET)을 비활성화하는 ROP 체인을 실행하여, 커널 페이지 테이블 엔트리(PTE)에서 XOM(eXecute Only Memory, 일명 xotext)을 비활성화해 덤프할 수 있으며, PTE에 쓰기 가능 플래그를 활성화해 커널을 후킹/패치할 수도 있습니다.

이 방법은 상당히 많은 가젯과 오프셋을 필요로 하며, 이것이 이 익스플로잇이 기본 익스플로잇이 아닌 주된 이유입니다. 또한 현재 ROP 체인이 실행되는 코어에서만 하이퍼바이저를 무력화할 수 있으며, 다른 코어에서는 하이퍼바이저가 여전히 활성 상태이므로 비활성화해야 합니다.

QA 플래그 익스플로잇

기본이자 권장되는 익스플로잇은 시스템 QA(Quality Assurance) 플래그가 하이퍼바이저와 게스트 커널 간에 공유된다는 점을 이용합니다. 하이퍼바이저가 초기화될 때 중첩 페이지 테이블을 구성하는 초기화 코드는 QA 플래그에서 SL(System Level) 디버깅 플래그를 확인합니다. 이 플래그가 설정되어 있으면 중첩 PTE(Page Table Entries)에 커널 .text 페이지에 대한 xotext 비트가 설정되지 않으며, 또한 커널 .text 페이지에 쓰기 비트도 설정됩니다.

이 플래그들은 절전 모드에서 다시 시작할 때 보안 로더에 의해 다시 초기화되지 않지만, 하이퍼바이저는 다시 초기화됩니다. SL 플래그를 설정하고 시스템을 절전 모드로 전환한 후 다시 시작하면, 게스트 커널의 페이지 테이블을 편집하여 커널 .text 페이지를 읽기/쓰기 가능하게 만들 수 있으며, 이를 통해 커널 덤프 및 후킹/패치가 가능합니다.

중요 참고 사항

  • 현재 HEN(Homebrew Enabler)은 2.50 FW만 지원되며, 다른 펌웨어 버전 지원은 추후 추가될 예정입니다.
  • 익스플로잇 페이로드(byepervisor.elf)는 시스템을 절전 모드로 전환하기 전에 한 번, 다시 시작한 후에 한 번, 총 두 번 전송해야 합니다.
  • 시스템을 직접 수동으로 절전(rest) 모드로 전환해야 합니다.
  • 현재 QA 플래그 익스플로잇의 커널 덤프에는 하이퍼바이저의 .data 영역이 포함되지 않습니다. 이 영역이 중요하다면 포팅 후 점프 테이블 익스플로잇을 사용하여 덤프하거나 먼저 중첩 페이징을 비활성화하십시오(TODO 항목).

현재 포함된 항목

  • 커널 덤프 코드 (주석 처리되어 있음, 이 코드를 실행하면 매핑되지 않은 메모리에 도달할 때까지 최대한 덤프를 시도하므로 시스템이 반드시 패닉 상태가 됩니다)
  • TCP를 통해 시스템 라이브러리 SELF를 복호화하는 코드
  • 2.50 펌웨어용 홈브류 인에이블러(HEN) (fself+fpkg)

빌드 참고 사항

이 익스플로잇 페이로드는 PS5-Payload-Dev SDK를 사용하여 빌드됩니다. 또한 hen/의 빌드는 약간 특별한데, 커널 코드 케이브에 복사되는 플랫 바이너리로 컴파일되기 때문입니다. hen/의 모든 코드는 수퍼바이저/커널 모드에서 실행됩니다.

사용 방법

  1. webkit 또는 BD-J에서 UMTX 익스플로잇 체인을 실행하고 ELF 로더를 실행합니다.
  2. byepervisor.elf를 전송합니다.
  3. 시스템을 절전(rest) 모드로 전환합니다.
  4. 시스템을 다시 켭니다.
  5. byepervisor.elf를 다시 전송합니다 (John Tornblom의 ELF 로더를 사용하는 경우, ELF 로더는 재개 후에도 페이로드를 계속 수락해야 합니다. 그렇지 않으면 UMTX 익스플로잇을 다시 실행해야 합니다).

향후 작업

  • 더 많은 펌웨어 지원 (오프셋)
  • byepervisor.elf를 한 번만 전송해도 되도록 만들기
  • 시스템 자동 절전?
  • QA 플래그 익스플로잇으로 vmcbs를 패치하여 하이퍼바이저 데이터 덤프

크레딧 / 감사 인사

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

디스코드

PS5 연구/개발에 기여하는 데 관심이 있는 분들은 제가 개설한 디스코드에 참여할 수 있습니다 여기.

도구 다운로드