[LS] [PS5] Specter publie son exploit Byepervisor " Hypervisor "
Posté : 25 oct. 2024, 13:20
L'un des meilleurs développeurs, Specter, a présenté hier ses travaux sur l'hyperviseur de la PS5 sur les premiers modèles, il faut disposer d'un firmware 1.xx ou 2.xx pour profiter de ces avancées. Actuellement il n'est utile que sur ces firmwares 1.xx et 2.xx, mais peut être que cela permettra de faire avancer le hack sur des firmwares plus récents. Specter livre un fichier byepervisor.elf qui doit être chargé après UMTX, que ce soit via le webkit ou via l'exploit BD-J, ensemble la console va passer en mode repos, et redémarrer.
L'idée dans le futur est : - Supporter plus de firmwares (offsets) - Faire en sorte que byepervisor.elf ne soit envoyé qu'une seule fois - Suspendre automatiquement le système - Patch vmcbs avec QA flags exploit pour dumper les données de l'hyperviseur.
Comme Specter l'a expliqué lors de sa présentation, ce sont deux vulnérabilités qui sont utilisées, elles sont indépendantes l'une de l'autre et l'une ou l'autre peut être utilisée. Un exploit est fourni principalement pour la préservation (/_old_jump_table_exploit), seule la chaîne d'exploitation principale doit être utilisée (QA flags exploit). Le premier exploit utilise une vulnérabilité où les tables de saut du code de l'hyperviseur sont partagées avec le kernel invité, et est contenu dans /_old_jump_table_exploit/. En détournant l'entrée de la table de saut pour l'hypercall VMMCALL_HV_SET_CPUID_PS4, l'exécution de code dans l'hyperviseur peut être réalisée. Nous exécutons une chaîne ROP qui désactive Nested Paging (NPT) et Guest Mode Execute Trap (GMET), ce qui nous permet de désactiver eXecute Only Memory (XOM) aka xotext dans les Page Table Entries (PTE) du kernel pour les dumper, ainsi que d'activer l'écriture dans les PTE pour hooker/patcher le kernel également. Cette méthode nécessite un bon nombre de gadgets et de décalages d'offsets, ce qui est la principale raison pour laquelle cet exploit n'est pas le principal. De plus, il ne casse actuellement l'hyperviseur que sur le coeur sur lequel la chaîne ROP tourne, l'hyperviseur est toujours actif sur les autres coeurs et devrait être désactivé. Tous les travaux sont ici : Byepervisor
Source: https://www.logic-sunrise.com/forums/to ... ypervisor/
L'idée dans le futur est : - Supporter plus de firmwares (offsets) - Faire en sorte que byepervisor.elf ne soit envoyé qu'une seule fois - Suspendre automatiquement le système - Patch vmcbs avec QA flags exploit pour dumper les données de l'hyperviseur.
Comme Specter l'a expliqué lors de sa présentation, ce sont deux vulnérabilités qui sont utilisées, elles sont indépendantes l'une de l'autre et l'une ou l'autre peut être utilisée. Un exploit est fourni principalement pour la préservation (/_old_jump_table_exploit), seule la chaîne d'exploitation principale doit être utilisée (QA flags exploit). Le premier exploit utilise une vulnérabilité où les tables de saut du code de l'hyperviseur sont partagées avec le kernel invité, et est contenu dans /_old_jump_table_exploit/. En détournant l'entrée de la table de saut pour l'hypercall VMMCALL_HV_SET_CPUID_PS4, l'exécution de code dans l'hyperviseur peut être réalisée. Nous exécutons une chaîne ROP qui désactive Nested Paging (NPT) et Guest Mode Execute Trap (GMET), ce qui nous permet de désactiver eXecute Only Memory (XOM) aka xotext dans les Page Table Entries (PTE) du kernel pour les dumper, ainsi que d'activer l'écriture dans les PTE pour hooker/patcher le kernel également. Cette méthode nécessite un bon nombre de gadgets et de décalages d'offsets, ce qui est la principale raison pour laquelle cet exploit n'est pas le principal. De plus, il ne casse actuellement l'hyperviseur que sur le coeur sur lequel la chaîne ROP tourne, l'hyperviseur est toujours actif sur les autres coeurs et devrait être désactivé. Tous les travaux sont ici : Byepervisor
Source: https://www.logic-sunrise.com/forums/to ... ypervisor/