[PS4] TUTO – Jailbreaker/Hacker sa PS4 en firmware 4.05
J’en avais parlé il y a quelques jours, mais maintenant c’est officiel, le développeur Specter a sorti son implémentation de l’exploit « Adieu » de la team fail0verflow permettant le jailbreak de la console et l’exécution de code non signé. L’exploit permettant le contrôle total du kernel, ceci va permettre aux développeurs et moddeurs de laisser s’exprimer leurs imagination et talent pour sortir les meilleurs utilitaires et homebrews possibles ! 😀
Quelques explications…
Si vous êtes curieux, vous pouvez lire ceci, sinon on ne vous en voudra pas de sauter ce paragraphe pour l’installation ;)
Un peu d’histoire ne fait pas de mal
En début d’année le développeur qwertyoruiop publiait son exploit Webkit pour les firmwares 4.0x de la PS4. L’exploit Webkit en lui-même ne servait à rien, il prouvait juste la possibilité d’utiliser le Webkit de la PS4 pour injecter du code dans l’espace utilisateur.
Quelques mois plus tard, la team fail0verflow publie sur son blog l’explication de l’exploit namedobj qu’il nomment « Adieu ». Cet exploit était en fait le même que celui de la team Chaitin Tech qui avaient réussi à trouver cet exploit et l’implémenter pour le lancement de Linux sur une PS4 en 4.01. Malheureusement pour nous, ils n’avaient pas publié leur travail et reporté le bug à Sony car c’était l’une des règles de la GeekPwn, l’événement auquel la team avait participé pour ce hack.
C’est là que Specter intervient. En tant que cadeau de noël, il a décidé de nous offrir une implémentation de l’exploit namedobj avec l’exploit Webkit de qwertyoruiop.
Explications sommaires du hack
Cessons de parler histoire, maintenant passons aux explications. Je vais vraiment résumer car je n’ai pas envie de faire un article de 16 pages. Je vais également me baser en partie sur l’écrit de Specter expliquant le hack.
La manière de Specter d’exploiter le bug nameobj est la suivante:
- Utilisation du bug nameobj via une confusion de code dans le code javascript ;
- Configuration d’une chaîne ROP dans l’espace utilisateur (si vous êtes intéressé je vous conseille ce très bon article expliquant très bien tout ce qu’il faut savoir sur les chaînes ROP). Dans cette chaîne ROP, on peut désactiver la protection d’écriture du kernel, effectuer les correctifs souhaités et après revenir dans l’espace utilisateur ;
- Écriture du faux objet au bon endroit, pointant vers la chaîne ROP créée plus tôt ;
- Maintenant l’exécution du code est possible, et la chaine ROP fonctionne dans le l’espace kernel ! C’est à cette étape que les payloads vont pouvoir être reçus puis être exécutés (pour rappel, les payloads sont du code compilé, des sortes de petits programmes en fait) ;
- Maintenant il suffit de retourner dans l’espace utilisateur après l’exécution du code.
C’est bon, c’est terminé, passons maintenant à l’installation et utilisation du jailbreak.
Comment jailbreak votre PS4
Pré-requis
- Une PS4 en version 4.05 ;
- Un PC sous Windows ;
- Le logiciel SKFU’s Pr0xy accompagné de cette clé ;
- Le payload debug_settings ;
- La dernière version du logiciel PS4 Payload Sender de @valentinbreiz.
Jailbreak de la PS4
Maintenant, si vous êtes prêt, nous allons commencer le jailbreak de la PS4 !
Tout d’abord, nous allons configurer le serveur proxy. Commencez par installer SKFU’s Proxy et démarrez-le, dans l’onglet « Proxy Server », allez dans l’onglet « Rules ». Cliquez maintenant sur le bouton « Import » et importez le fichier « usermanualredirect.httprls » téléchargé précédemment. Vous devriez avoir ceci :
Maintenant, cliquez sur le gros bouton bleu en bas au milieu du logiciel. Si la barre de progression devient verte, c’est que le proxy est bien lancé ! Passons maintenant sur la PS4, il va falloir connecter la console au serveur proxy du PC.
Pour cela, rendez-vous dans les paramètres système, puis naviguez vers « Réseau ». Choisissez l’option « Configurer la connexion Internet ». Choisissez votre type de connexion, votre réseau Wi-Fi, entrez le mot de passe, etc. Maintenant spammez le bouton jusqu’à arriver à « Serveur Proxy », et sélectionnez ensuite « Utiliser ». Entrez l’adresse IP du serveur proxy (pour moi « 192.168.1.12 ») et le port (« 8080 » chez moi). Vous pouvez maintenant appuyer sur « Suivant » et tester votre connexion.
Juste avant de lancer le hack, rendez-vous dans les informations systèmes puis notez bien l’adresse IP de votre PS4.
Votre proxy étant actif, vous allez maintenant vous diriger vers les paramètres systèmes à nouveau, et lancer le « Guide de l’utilisateur ».
Cliquez sur le lien « Binloader 4.05 ». Une fois la page chargée, l‘exploit Webkit va laisser place à l’exploit kernel. Vous devriez voir la page ci-dessous, accompagnée du message « === Waiting for payload!!! === » (signifiant qu’il est en attente d’un payload) :
Ne quittez surtout pas cette page et retournez à nouveau devant votre PC. C’est maintenant que j’interviens ! Lancez le logiciel PS4 Payload Sender. Entrez l’adresse IP de votre console (notée plus haut si vous avez bien suivi le tuto :P), ainsi que le port, qui est égal à 9020 pour le jailbreak de Specter. Cliquez sur « Connect », et si tout se passe bien vous devriez pouvoir maintenant choisir votre payload. Dans les pré-requis, vous pouvez trouver un payload de test pour prouver le bon fonctionnement du hack, qui permet d’activer les debug settings.
Maintenant, cliquez sur « Send Payload » et attendez jusqu’à ce que le message « Payload sent! » apparaisse. Si le logiciel ne répond plus, ce n’est pas grave, patientez juste quelques instants.
Rendez-vous à nouveau sur votre PS4, allez dans les paramètres systèmes et… tah dah ! Tout en bas, vous verrez une nouvelle entrée : Debug Settings !
Voilà voilà, j’espère que vous aurez réussi votre jailbreak et l’installation des debug settings, vous pouvez maintenant profiter du fameux Package Installer pour installer des fichiers au format « .PKG ».
Conclusion
Pour conclure, le hack venant tout juste de sortir, peu de fonctionnalités sont encore disponibles sur ce firmware 4.05, donc si vous avez la chance d’être en 1.76 je vous conseille d’y rester pour l’instant. Mais, évidemment, tout reste à venir. La communauté étant plutôt active, un payload est déjà sorti permettant le patch et l’activation permanente du navigateur web de la PS4 :
Payload to permanently enable web browser on 4.05https://t.co/OzChvZRmKM
— 2much4u (@2much4ux) 28 décembre 2017
Petite exclusivité qui n’est ne l’est déjà plus, j’ai réussi à porter le premier payload (après celui de Specter évidemment) sur le firmware 4.05 ! C’est juste le port d’un payload activant un serveur FTP pour pouvoir accéder aux fichiers systèmes de la console, mais cela montre que le travail reste à faire : à nous le Linux Loader, le lancement de backups, les mod-menus et autres ! 😀
Sur ce, bon hack et à bientôt !
- "bonjour jexplique mon probleme jai effectuer un downgrade 3.73 vers 3.65 sur psvita avec hen2 et moduro mai..." - will11160
- "bonjour j'ai un probleme j'arrive pas a un installer CMA (l'assista,t de gestionnare de contenu ps vita) ..." - juju
- "Hello I am so delighted I found your blog page, I really found you by error, while I was browsing on Digg ..." - Owen
- "Un grand merci pour cette traduction d'excellente qualité. Nintendo n'aurait pas fait mieux ! Vous êtes gén..." - Bastien64x
- "Bonjour ! Désolé pour ce retard, j'espère que tu as pu régler ton problème entre-temps, si ce n'est pas le ..." - Wirus
- "[…] grand nom de la scène hack PSP surtout connu pour son PRO Online, ainsi que noname120, ..." - [PSP] God Eater 2 : un petit patch de traductio...
- "[…] cette nouvelle monture et voir si elle est à la hauteur de nos espérances, car souvenez-vous que ..." - [PSP] [Vita] Le shell CyanogenMod passe en vers...
- "[…] vous en avions déjà parlé, CyanogenMod est un shell PSP développé par Joel16 arborant l..." - [PSP] [Vita] Le shell CyanogenMod passe en vers...
- "[…] Instructions disponibles iciHomebrew non signé CyanogenMod […]" - [PSP] CyanogenMod passe à Android Lollipop - Cu...
- "[…] Pour pouvoir installer le plugin, suivez notre tutoriel : TUTO – Comment installer des plugins ?...." - [PSP] CXMB devient rétro-compatible ! - Custom ...