Le développeur Carrot c4k3 dévoile enfin son exploit kernel à destination de la Xbox One et des Xbox Series S et Series X.
Les premiers retours nous informe qu'il est possible de lire les sauvegardes de jeux en les ouvrant en mode développeur.
L'exploit a été appelé "Collateral Damage", il s'agit du premier exploit kernel public pour Xbox utilisant le systemOS s'appuyant sur la faille CVE-2024-30088. L'exploit kernel est fonctionnel sous les mises à jour 25398.4478, 25398.4908, et 25398.4909.
Le point d'entrée initial est l'application Game Script UWP.
Cet exploit a été développé par Emma Kirkpatrick (découvert et exploit des vulnérabilités) et Lander Brandt (développement de loaders PE).
Comme vous pouvez le voir l'exploit est numéroté v1 cela signifie forcément qu'il va évoluer avec le temps.
Cette version initiale est principalement destinée aux développeurs. Actuellement, un moyen de placer des fichiers dans le répertoire LocalState de Game Script est nécessaire via une application telle que Adv File Explorer (FullTrust). Ceci est dû à la nécessité de placer les fichiers stage2.bin et run.exe dans le répertoire LocalState. Dans un avenir proche, un payload sera fourni pour charger ces fichiers sur le réseau, de sorte que le payload initial sera simplement un script qui peut être saisi via un émulateur de clavier USB.
L'exemple de reverse shell fourni ici nécessite que votre console soit connectée à un réseau. Lorsque vous connectez votre console à un réseau, veillez à ne pas vous connecter à Internet et aux mises à jour. Essayez de bloquer la connectivité à Xbox LIVE autant que possible, au moins en réglant vos DNS sur des serveurs non valides.
Cet exploit n'est pas totalement fiable. Il s'appuie sur un canal latéral du processeur ainsi que sur une condition de course, qui peuvent tous deux échouer. En cas d'échec, l'exploit peut vous en avertir par le biais d'une sortie réseau, ou la console elle-même peut se bloquer et redémarrer.
Usage
- Modifiez la ligne 7 de gamescript_autosave.txt pour qu'elle contienne l'IP locale de votre PC.
- Copiez gamescript_autosave.txt, stage2.bin et run.exe dans le répertoire LocalState de l'application Game Script sur votre console (Q:\NUsers\NUserMgr0\NAppData\NLocal\NPackages\27878ConstantineTarasenko.458004FD2C47C_c8b3w9r5va522\NLocalState\N).
- Lire le port 7070 sur votre PC à l'aide de netcat ou d'un outil similaire (exemple de commande : nc64.exe -lvnp 7070)
- Ouvrez l'application Game Script sur votre console, sélectionnez "Show Code Run window" et cliquez sur "Run code once".
Si l'exploit réussit, vous devriez voir apparaître sur votre PC un message ressemblant à ce qui suit :
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 © Microsoft Corporation. All rights reserved.
S:\>
Beaucoup de travail supplémentaire est nécessaire pour faire de cet outil, un outil convivial de chargement d'homebrews sur Xbox, mais il est déjà un bon point de départ. Si vous souhaitez vous amuser à exécuter du code en tant que SYSTEM, vous pouvez mettre votre code dans la fonction post_exploit dans post_exploit.c.
Il y a encore beaucoup à faire sur ce sujet, mais comme la partie kernel est terminée, Carrot c4k3 voulait la partager avec la communauté pour que les développeurs puissent commencer à utiliser les privilèges SYSTEM. Voici quelques éléments qu'il espère encore ajouté dans l'avenir :
- Support du chargement latéral
- Lancement de processus non-signés non-UWP
- Support SSH