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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PS5-IPV6-Kernel-Exploit — <= 4.51FW의 PS5를 위한 실험적 webkit 기반 커널 익스플로잇 (Arb. R/W) | Kitploit
도구/GitHubGitHub/cryptogenic/ps5-ipv6-kernel-exploit
Embedded Systems SecurityPrivilege EscalationVulnerability AnalysisExploitationReverse EngineeringPost-ExploitationBinary Exploitation
GitHubcryptogenic/ps5-ipv6-kernel-exploit

PS5-IPV6-Kernel-Exploit

<= 4.51FW의 PS5를 위한 실험적 webkit 기반 커널 익스플로잇 (Arb. R/W)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PS5 3.xx / 4.xx 커널 익스플로잇


요약

이 저장소는 HackerOne에 보고된 TheFlow의 IPV6 Use-After-Free (UAF) 기반 PS5 커널 익스플로잇의 실험적인 WebKit ROP 구현을 포함합니다. 익스플로잇 전략은 대부분 TheFlow의 BSD/PS4 PoC를 기반으로 하며, 성가신 PS5 메모리 레이아웃을 수용하기 위한 몇 가지 변경 사항이 있습니다 (자세한 내용은 연구 노트 섹션 참조). 임의 읽기 / (반임의) 쓰기 프리미티브를 구축합니다. 이 익스플로잇과 그 기능에는 많은 제한이 있으며, 따라서 주로 개발자가 시스템의 일부를 리버스 엔지니어링하기 위해 가지고 놀도록 의도되었습니다.

최신 안정성 개선으로 신뢰성은 약 80%입니다. 이 문서는 PS5에 대한 연구 정보를 포함할 것이며, 이 익스플로잇은 시간이 지남에 따라 지속적으로 개발되고 개선될 것입니다.

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

익스플로잇은 이제 다음 펌웨어를 지원합니다:

  • 3.00
  • 3.10
  • 3.20
  • 3.21
  • 4.00
  • 4.02
  • 4.03
  • 4.50
  • 4.51

현재 포함된 기능

  • 임의 읽기/쓰기를 획득하고 읽기/쓰기용 기본 RPC 서버(또는 대용량 읽기용 덤프 서버)를 실행할 수 있습니다 (673-677행의 익스플로잇 파일에 자신의 주소/포트를 편집해야 합니다).
  • 디버그 설정 메뉴를 활성화합니다 (참고: 설정을 완전히 종료했다가 다시 들어가야 표시됩니다).
  • 루트 권한을 획득합니다

제한 사항

  • 이 익스플로잇은 읽기/쓰기를 달성하지만, 코드 실행은 불가능합니다. 커널 .text 페이지가 eXecute Only Memory (XOM)으로 표시되어 현재 가젯용 커널 코드를 덤프할 수 없기 때문입니다. 커널 .text 포인터를 읽으려고 하면 패닉이 발생합니다!
  • 위 사항과 하이퍼바이저(HV)가 커널 쓰기 보호를 강제하기 때문에, 이 익스플로잇은 또한 커널 공간에 어떤 패치나 훅도 설치할 수 없습니다. 즉, 현재로서는 홈브류 관련 코드가 없습니다.
  • Clang 기반의 세분화된 제어 흐름 무결성(CFI)이 존재하며 강제됩니다.
  • 하이퍼바이저(HV) 때문에 SMAP/SMEP(Supervisor Mode Access Prevention/Execution)를 비활성화할 수 없습니다.
  • 쓰기 프리미티브는 바이트 0x10-0x14가 0(또는 유효한 네트워크 인터페이스)이어야 하므로 다소 제약이 있습니다.
    • 하지만 파이프를 사용하는 최신 작업 덕분에 이제 완전한 임의 읽기/쓰기가 가능합니다

사용 방법

  1. dns.conf를 통해 fakedns를 구성하여 manuals.playstation.net이 PC의 IP 주소를 가리키도록 하세요
  2. 가짜 DNS 실행: python fakedns.py -c dns.conf
  3. HTTPS 서버 실행: python host.py
  4. PS5 고급 네트워크 설정으로 이동하여 기본 DNS를 PC의 IP 주소로 설정하고 보조 DNS는 0.0.0.0으로 두세요
    1. 때때로 설명서가 여전히 로드되지 않고 재시작이 필요합니다. 왜인지 모르겠지만 정말 이상합니다
  5. 설정에서 사용자 설명서로 이동하여 신뢰할 수 없는 인증서 프롬프트를 수락하고 실행하세요
  6. 선택 사항: rpc/dump 서버 스크립트를 실행하세요 (참고: address/port는 바이너리 형태로 exploit.js에 대체되어야 합니다)

향후 작업

  • 브라우저를 깨끗하게 종료하도록 소켓 수정 (최우선)
  • 일부 데이터 패치 작성 (두 번째 우선순위)
    • 디버그 설정 활성화
    • uid0을 위한 creds 패치
    • cr_prison 덮어쓰기로 탈옥
  • UAF 신뢰성 개선
  • 희생자 소켓 신뢰성 개선 (세 번째 우선순위)
  • kqueue보다 더 좋고 일관된 누출 대상 사용 (더 이상 필요 없음)
  • ELF 로더가 재배치를 지원하도록 만들기
    • 더 많은 재배치 및 가능하면 완전한 동적 링크 지원을 추가할까?

ELF 로더 사용

ELF 로더를 사용하려면 익스플로잇이 완료될 때까지 실행하세요. 완료되면 :9020 포트에서 서버가 실행됩니다. 해당 포트를 통해 PS5에 연결하여 ELF를 보내면 실행됩니다. ELF가 브라우저를 충돌시키지 않는 한, 계속해서 ELF를 실행할 수 있습니다.

익스플로잇 단계

이 익스플로잇은 5단계로 작동하며, 대부분 theflow의 poc와 동일한 익스플로잇 전략을 따릅니다.

  1. ip6_pktopts에서 초기 UAF를 트리거하고 두 소켓이 동일한 pktopts를 가리키도록 / 겹치도록 만듭니다 (마스터 소켓 <-> 오버랩 스프레이 소켓)
  2. 마스터 소켓에서 pktopts를 해제하고 태그된 tclass 오버랩을 포함하는 ip6_rthdr 스프레이로 위조합니다.
  3. 정보 누출 단계. pktopts/rthdr 오버랩을 사용하여 0x200 슬래브에서 kqueue를, 0x100 슬래브에서 pktopts를 누출합니다.
  4. 임의 읽기/쓰기 단계. pktopts를 다시 위조하고 오버랩 소켓을 찾아 IPV6_RTHDR을 읽기/쓰기 프리미티브로 사용합니다.
  5. 정리 + 패치 단계. 브라우저를 성공적으로 종료하기 위해 손상된 소켓의 참조 횟수를 늘리고 디버그 메뉴를 활성화하도록 데이터를 패치하며 uid0을 위해 ucreds를 패치합니다.
  6. ELF를 수락하고 로드/실행할 ELF 로더 서버를 실행합니다. 현재 작업 중이며, 현재 재배치를 지원하지 않습니다.

안정성 참고 사항

이 익스플로잇의 안정성은 약 30% 80-90%이며, 두 가지 잠재적 실패 지점이 있습니다. 관찰된 확률이 높은 순서대로:

  1. 1단계가 UAF를 재확보하지 못해 즉시 충돌하거나 잠복 손상으로 인한 충돌이 발생합니다.
  2. 4단계가 희생자 소켓을 찾지 못합니다.

연구 노트

  • 읽기 프리미티브를 사용한 다양한 테스트와 덤프에 따르면, PS5는 PS4의 0x4000과 비교하여 0x1000 페이지 크기로 되돌아간 것으로 보입니다.

    • 추가 연구 결과, 페이지 크기는 실제로 여전히 0x4000이지만, 말도 안 되는 할당기 변경으로 인해 동일한 가상 페이지에 다른 슬래브가 할당될 수 있습니다.
  • 또한 PS5에서는 인접한 페이지가 같은 슬래브에 속하는 경우가 드물어 보입니다. 인접한 페이지에서 완전히 다른 데이터를 얻게 되기 때문입니다. 메모리 레이아웃이 더 흩어져 있는 것 같습니다.

  • PS5가 패닉할 때(적어도 WebKit 컨텍스트에서) 오디오 버퍼가 어떤 식으로든 손상되면서 끔찍한 오디오 출력이 발생하는 경우가 많습니다.

  • 때때로 이 오디오 손상이 다음 부팅 때까지 지속됩니다. 이유는 확실하지 않습니다.

  • PS4와 유사하게, PS5는 패닉 후 재시작하려면 콘솔의 전원 버튼을 수동으로 두 번 눌러야 합니다.

  • PS5가 인터넷에서 분리된 경우 패닉 후 재부팅하는 데 터무니없이 오랜 시간이 걸리는 것이 정상입니다(불행하게도). 부팅에 3-4분이 걸릴 것으로 예상하세요.

기여자 / 특별 감사

  • Andy Nguyen / theflow0 - 취약점 및 익스플로잇 전략
  • ChendoChap - 테스트 및 연구에 대한 다양한 도움
  • Znullptr - 연구/RE
  • sleirsgoevy - 연구/RE + 익스플로잇 전략 아이디어
  • bigboss - 연구/RE
  • flatz - 연구/RE + 패치 도움
  • zecoxao - 연구/RE
  • SocracticBliss - 연구/RE
  • laureeeeeee - 저수준 시스템 배경 지식 및 지원

테스터에게 감사

  • Dizz (4.50/4.51)
도구 다운로드