[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 ! 😀

Nous on est trop des pirates 8D



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

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 :

Cliquez sur l'image pour l'afficher en grand

Cliquez sur l’image pour l’afficher en grand

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 [Croix] 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 ».

Mais… Ce n’est pas le guide d’utilisateur ça ? 😛

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) :

Le hack en cours d’utilisation 😀

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

Ce petit logo, magnifique n’est-il pas? ;)

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 !

Les Debug Settings, soit les paramètres de debug

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 :

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 !