Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PS5-UMTX-Jailbreak — Un exploit du noyau basé sur WebKit et un jailbreak pour PS5 | Kitploit
Outils/GitHubGitHub/ps5dev/ps5-umtx-jailbreak
Escalade de PrivilègesExploitationPost-ExploitationExploitation de Binaires
GitHubps5dev/ps5-umtx-jailbreak

PS5-UMTX-Jailbreak

Un exploit du noyau basé sur WebKit et un jailbreak pour PS5

Voir le dépôt
2473912il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PS5 UMTX Jailbreak


Résumé

Ce dépôt contient un exploit ROP WebKit de la vulnérabilité use-after-free de course UMTX (CVE-2024-43102) signalée par Synacktiv. Il s'agit essentiellement d'un port de la stratégie d'exploitation de fail0verflow et de celle de flatz. Il abuse de l'UAF pour obtenir un mapping lecture/écriture dans la pile d'une thread du noyau, et exploite les lectures et écritures de pipes pour établir une primitive de lecture/écriture arbitraire (pas tout à fait idéale) dans le noyau. Cette lecture/écriture est ensuite améliorée en une meilleure primitive qui exploite une paire de sockets ipv6 et une paire de pipes pour une lecture/écriture stable, pouvant être transmise aux payloads de la même manière que cela était possible avec l'exploit noyau IPV6 PS5 précédent.

La page elle-même est une version allégée et modifiée du PS5 Exploit Host d'idlesauce, car il a déjà fait le travail d'intégration de psfree à mon style de code précédemment utilisé. Cet hôte est également mon choix personnel pour faire tourner les choses, car il est très fluide et intègre des payloads utiles ; espérons qu'il sera mis à jour pour prendre en charge cet exploit dans un avenir proche <3.

En fin de compte, un chargeur de payload sera lancé pour écouter les payloads ELF sur le port 9021. Je recommande le PS5 Payload Dev SDK car il devrait être entièrement compatible avec ce chargeur lorsque les offsets du noyau seront ajoutés.

Cette vulnérabilité affecte les firmwares 1.00 à 7.61 ; cependant, les FW >= 3.00 semblent avoir des mitigations supplémentaires qui nécessitent d'ajuster l'exploit pour fonctionner. Comme je ne m'intéresse principalement qu'aux firmwares inférieurs, cet exploit ne prend pas encore en charge FW >= 3.00. De plus, la vulnérabilité WebKit que nous enchaînons avec cet exploit a été corrigée dans la version 6.00, donc un autre exploit WebKit permettant d'obtenir une lecture/écriture en espace utilisateur sera nécessaire pour ces systèmes. Encore une fois, comme je ne me concentre pas sur les firmwares supérieurs, cela reste inachevé pour le moment.

Notes importantes

  • 3.00+ a une fiabilité moindre et peut prendre plus de temps à s'exécuter ; si vous restez bloqué sur « triggering race » pendant un moment, fermez le navigateur et réessayez.
  • 5.00+ le chargeur ELF ne fonctionne actuellement pas, car nous ne pouvons plus invoquer correctement dlsym ; le SDK de payload nécessite des modifications.

Les firmwares suivants sont actuellement pris en charge :

  • 1.xx [1.00, 1.01, 1.02, 1.05, 1.10, 1.11, 1.12, 1.13, 1.14]
  • 2.xx [2.00, 2.20, 2.25, 2.26, 2.30, 2.50, 2.70]
  • 3.xx [3.00, 3.20]
  • 4.xx [4.00, 4.02, 4.03, 4.50, 4.51]
  • 5.xx [5.00, 5.02, 5.10, 5.50]

Inclus actuellement

  • Obtient une lecture/écriture arbitraire du noyau
  • Active le menu des paramètres de débogage (note : vous devrez quitter complètement les paramètres puis y revenir pour le voir).
  • Obtient les privilèges root et s'évade du sandbox/jail.
  • Exécute le chargeur ELF de John Tornblom sur le port 9021 pour l'exécution des payloads (sur FW < 5.00)

Limitations

  • Cet exploit permet d'obtenir une lecture/écriture, mais pas l'exécution de code. Cela est dû au fait que nous ne pouvons actuellement pas extraire le code du noyau pour les gadgets, car les pages .text du noyau sont marquées comme étant en mémoire à exécution seule (XOM). Tenter de lire les pointeurs .text du noyau provoquera un panic !
  • Comme indiqué ci-dessus, en plus de la protection en écriture du noyau imposée par l'hyperviseur (HV), cet exploit ne peut pas non plus installer de correctifs ou de hooks dans l'espace du noyau.
  • L'intégrité du flux de contrôle (CFI) fine basée sur Clang est présente et appliquée.
  • La prévention d'accès/en exécution en mode superviseur (SMAP/SMEP) ne peut pas être désactivée, en raison de l'HV.
  • FW >= 6.00 nécessite un nouvel exploit WebKit et n'est donc pas pris en charge.

Comment utiliser

  1. Configurez fakedns via dns.conf pour pointer manuals.playstation.net vers l'adresse IP de votre PC
  2. Exécutez le faux DNS : python fakedns.py -c dns.conf
  3. Exécutez le serveur HTTPS : python host.py
  4. Allez dans les paramètres réseau avancés de la PS5, définissez le DNS principal sur l'adresse IP de votre PC et laissez le secondaire à 0.0.0.0
    1. Parfois, le manuel ne se charge toujours pas et un redémarrage est nécessaire ; je ne sais pas pourquoi, c'est vraiment étrange
  5. Allez dans le manuel d'utilisation dans les paramètres, acceptez l'invite de certificat non fiable, puis exécutez
  6. Optionnel : décommentez le code de dump de la section .data du noyau et exécutez le script du serveur de dump (note : l'adresse/le port doivent être remplacés dans exploit.js).

Travaux futurs

  • Mettre à jour la stratégie d'exploit pour FW >= 3.xx afin de tenir compte des mitigations
  • Ajouter les offsets pour plus de firmwares (inférieurs)
  • Ajouter un exploit WebKit pour FW >= 6.00.

Utilisation du chargeur ELF

Pour utiliser le chargeur ELF, exécutez l'exploit jusqu'à son terme. À la fin, il lancera un serveur sur le port :9021. Connectez-vous et envoyez votre ELF à la PS5 via TCP et il l'exécutera. Ce chargeur devrait continuer à accepter et exécuter les payloads même après avoir quitté le navigateur.

Notes sur la stratégie d'exploitation

Double free initial

La stratégie de cet exploit provient en grande partie de fail0verflow et flatz. Voir le writeup de chris@accessvector pour plus d'informations sur la vulnérabilité. Une fois exploitée, elle nous donne essentiellement un double free. Nous pouvons l'utiliser pour chevaucher le vmobject d'une pile du noyau avec celui d'un mapping mmap afin d'obtenir une fenêtre sur la pile d'une thread du noyau. Cette capacité très puissante nous permet de lire/écrire sur des pointeurs arbitraires du noyau sur la pile, ce qui permet de vaincre l'ASLR et de créer des primitives. La thread dont nous avons accès à la pile sera appelée la thread victime.

Obtention d'une lecture/écriture arbitraire

En créant un pipe et en remplissant le tampon du pipe sur la thread principale, puis en essayant d'y écrire en utilisant la thread victime, la thread victime se bloquera en attendant que de l'espace se libère dans le tampon. Pendant ce temps, nous pouvons utiliser notre fenêtre sur la pile du noyau pour modifier les pointeurs iovec en pointeurs du noyau et définir des flags pour qu'ils soient traités comme des adresses du noyau. En lisant ensuite le pipe sur la thread principale, nous pouvons obtenir une lecture arbitraire du noyau.

De même, en faisant lire le pipe à la thread victime, elle se bloquera en attendant des données entrantes. Nous pouvons alors, à nouveau, écraser les pointeurs iovec et en faire des pointeurs du noyau, puis écrire des données sur la thread principale pour obtenir une écriture arbitraire du noyau.

Amélioration de la lecture/écriture arbitraire

Télécharger l’outil