[Scena PS5] Des scripts et des outils liés à l’exploit Byepervisor ont été publiés

Comme promis, le développeur SpectreDev a publié le code source de Par le superviseurl’exploit pour l’hyperviseur de la console PlayStation 5.

ParperviseurIl est actuellement compatible avec le premier firmware de la console PlayStation 5et seulement jusqu’à la version 2.xx. Il contient deux vulnérabilités et chaînes d’exploitation, indépendantes l’une de l’autre et pouvant être utilisées séparément.

L’un des exploits est inclus principalement pour des raisons de préservation (/_old_jump_table_exploit), tandis que l’autre, appelé Exploitation des indicateurs d’assurance qualitéest le principal.

Exploit de table de saut

Le premier exploit exploite une vulnérabilité liée aux tables de branchement de code de l’hyperviseur, qui sont partagées avec le noyau invité. Comme mentionné ci-dessus, il se trouve dans le dossier /_old_jump_table_exploit/.

Cet exploit permet de détourner l’entrée de la table de saut pour l’appel hypercall VMMCALL_HV_SET_CPUID_PS4, permettant l’exécution de code dans l’hyperviseur.

Grâce à une chaîne ROP, il est possible de désactiver la pagination imbriquée (NPT) et le piège d’exécution en mode invité (GMET), vous permettant ainsi de désactiver la mémoire eXecute Only (XOM) dans les entrées de table de pages (PTE) du noyau et d’activer l’écriture dans celles-ci.

Cette méthode nécessite un nombre considérable de gadgets et de compensations, c’est pourquoi elle n’est pas considérée comme le principal exploit.

De plus, il n’arrête actuellement l’hyperviseur que sur le cœur où s’exécute la chaîne ROP, tout en restant actif sur les autres cœurs, qui devraient plutôt être désactivés.

Exploit d’indicateur d’assurance qualité

L’exploit principal exploite le fait que les indicateurs d’assurance qualité (QA) du système sont partagés entre l’hyperviseur et le noyau invité.

Lorsque l’hyperviseur est initialisé, le code d’initialisation permettant de créer les tables de pages imbriquées vérifie les indicateurs QA pour l’indicateur de débogage de niveau système (SL).

Si cet indicateur est activé, les PTE imbriqués n’auront pas le bit xotext défini pour les pages .text du noyau, et ces pages auront également le bit d’écriture activé.

Ces indicateurs ne sont pas réinitialisés par le chargeur sécurisé à la sortie du mode veille, contrairement à l’hyperviseur.

En activant l’indicateur SL, en mettant le système en mode veille et en le reprenant, vous pouvez modifier les tables des pages du noyau invité pour rendre les pages .text du noyau lisibles et inscriptibles, vous permettant de vider le noyau et d’implémenter des hooks et des correctifs.

Remarques importantes

  • Actuellement, seul le firmware 2.50 est pris en charge pour Homebrew Enabler (HEN), la prise en charge d’autres versions de firmware étant attendue à l’avenir.
  • La charge utile de l’exploit (au revoirperviseur.elf) doit être envoyé deux fois, une fois avant de suspendre le système et une autre fois après le réveil. Vous devrez mettre manuellement le système en mode veille.
  • Actuellement, le vidage du noyau via l’exploit des indicateurs QA n’inclura pas la région .data de l’hyperviseur ; pour l’obtenir, vous pouvez effectuer un dump en utilisant l’exploit de table de saut ou désactiver d’abord la pagination imbriquée (c’est un objectif futur).

Fonctionnalités actuellement incluses

L’exploit inclut du code pour vider le noyau (commenté, car l’exécution de ce code provoquera une panique du système en essayant de vider la mémoire non mappée), du code pour déchiffrer les bibliothèques système SELF via TCP et le Homebrew Enabler (HEN) pour le firmware 2.50.

Comment utiliser

Pour utiliser l’exploit, vous devez exécuter la chaîne d’exploit UMTX via webkit ou BD-J et lancer un chargeur ELF. Envoyez byepervisor.elf, mettez le système en mode repos et rallumez-le.

Soumettez à nouveau byepervisor.elf (si vous utilisez le chargeur ELF de John Tornblom, il devrait continuer à accepter les charges utiles après le réveil ; sinon, vous devrez réexécuter l’exploit UMTX).

Développements futurs

Les améliorations futures incluent la prise en charge de plusieurs firmwares, ce qui rend byepervisor.elf nécessaire pour être envoyé une seule fois, la suspension automatique du système et la correction de vmcbs avec l’exploit des indicateurs QA pour vider les données de l’hyperviseur.

Télécharger: Code source Byepervisor

Source: x.com


#Scena #PS5 #Des #scripts #des #outils #liés #lexploit #Byepervisor #ont #été #publiés

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.