Aller au contenu


Photo

[PS4] Specter dévoile la documentation sur son exploit


  • Veuillez vous connecter pour répondre
20 réponses à ce sujet

Posté 28 décembre 2017 - 10:55

#1
tralala

tralala

    \0/ Postman \0/

  • Newser Expert
  • 13 033 messages
  • Sexe:Male
Comme promis, le développeur qui fait trembler la scène PlayStation 4 vient une nouvelle d'assurer ses dires. Après avoir promis il y a deux mois de porter l'exploit dévoilé par la Team fail0verflow sur le firmware 4.05 de la PlayStation 4, voilà qu'il détaille désormais son fonctionnement. 
 
Le développeur Specter vient en effet cette nuit de dévoiler le code utilisé, assurant une nouvelle fois de ses connaissances importantes, mettant en avant l'écriture du code et les tables de matière qui ont été employées.
 
 
 
 
 
En plus de 5500 mots il explique toutes les procédures utilisées pour parvenir à l'exploit, commençant par le fait qu'il ne tolère ni ne cautionne le piratage, et que l'exploit n'a pas été créé pour cela. Dans cet article, il fourni une explication détaillée de la façon dont est mise en oeuvre l'exploit publique le décomposant étape par étape. Vous pouvez trouver la source complète de l'exploit, l'exploit userland n'est bien entendu pas décrit, mais il rappelle qu'il l'a déjà fait par le passé. 
 
 
Les changements depuis le 1.76
 
Certaines choses notables ont changé depuis le firmware 1.76, Sony a corrigé le bug où nous pouvions allouer la mémoire RWX à partir d'un processus non privilégié. Le processus que nous détournons via l'exploit WebKit ne dispose plus d'autorisations de mappage de mémoire RWX, car JiT est désormais correctement géré par un processus séparé. L'appel de sys_mmap () avec l'indicateur d'exécution fonctionne, cependant, toute tentative d'exécution de cette mémoire de code entraînera une violation d'accès. Cela signifie que notre exploit noyau doit être entièrement implémentée dans les chaînes ROP, pas de payloads C ici.
 
 
Le kASLR et de nouveaux system calls
 
Un autre changement notable est le kernel ASLR (kASLR) qui est désormais activé après le firmware 1.76.
 
Certains nouveaux system calls ont également été mis en oeuvre depuis la version 1.76. Sur 1.76, il y avait 85 system calls personnalisés. Sur 4.05, nous pouvons voir qu'il y a 120 system calls personnalisés.
 
Sony a également supprimé le system call 0, de sorte que nous ne pouvons plus appeler un system call que nous souhaitions en spécifiant le numéro d'appel dans le registre rax. Nous devrons utiliser des wrappers du module libkernel.sprx qui nous est fourni pour accéder aux system calls.
 
On le voit Sony a tout mis à oeuvre pour protéger l'architecture interne de sa console mais cela n'a pa suffit.
 
 
Toutes les étapes
 
Le développeur détaille ensuite chaque étape, la première étape de l'exploit consiste à obtenir des informations importantes du noyau, pour cela il faut s'appuyer sur 3 informations, la divulgation / fuite d'informations sur le kernel. Cela se produit quand il est copié par l'userland mais sans que le tampon ne soit initialisé.
Cela signifie que si une fonction est appelée avant de stocker des pointeurs (ou des données d'ailleurs) dans cette mémoire, il y aura une fuite. 
 
Les développeurs peuvent utiliser ceci à leur avantage, et utiliser une fonction de configuration pour leaker de la mémoire spécifique afin de créer des exploits. C'est sur cette théorie que l'exploit kernel est basé. Specter a pris le soin d'expliquer ensuite le fonctionnement des préfixes d'adresses FreeBSD car il est important de distinguer les pointers du kernel et de l'userland. 
 
 
Le system calls 634
 
Il explique ensuite qu'on va utiliser le system calls 634 (Vector sys_thr_get_ucontext) qui permet d'obtenir des informations sur un thread donné. Le problème est que certaines zones de la mémoire copiées ne sont pas initialisées, et donc la fonction perd de la mémoire à certains endroits. Ce vecteur a été corrigé en 4.50, car maintenant, avant que le tampon soit utilisé, il est initialisé à 0 via bzero ().
 
Le plus gros problème avec cette fonction est qu'elle utilise beaucoup d'espace de pile, donc nous sommes très limités à ce que nous pouvons utiliser pour notre fonction d'installation.
 
C'est cette partie de l'exploit qui a pris le plus de temps et de recherches, car il est difficile de savoir ce que vous leakez sans débogueur, il faut faire quelques suppositions et des expérimentations pour trouver un objet approprié. Obtenir des résultats parfaits ne sera pas très utile non plus car les fonctions peuvent changer  entre les firmwares, surtout quand c'est un saut du firmware 1.76 au firmware 4.05. Cette étape m'a pris environ 1-2 mois dans mon exploit original (il faut rappeler que Specter disait qu'il avait déjà l'exploit avant la publication de la Team fail0verflow qui lui a surtout permi de savoir quel objet était exploitable).
 
L'exploit se base sur la création d'un thread qui implique l'implémentation d'une fonction, cela est possible grâce à un appel dans le WebKit sur 4.05 par l'offset 0x11570 dans libkernel.
 
Ensuite, Specter explique qu'il faut faire sauter la protection de kASLR, pour cela il faut manipuler le registre cr0 pour désactiver la protection en écriture du kernel pour les correctifs du noyau. Pour le faire il va utiliser un pointeur de .text pour trouver l'adresse du kernel, pour ensuite injecter l'objet exploitable détaillant chaque étape (stage1, stage2, l'implémentation, stage3, stage4, stage5, la sortie vers l'userland, stage6 et stage7)
 
 
La sortie vers l'userland
 
La sortie vers l'userland a été difficile a mettre en oeuvre, le fait de quitter la chaîne kROP pouvait provoquer le crash du noyau. Pour éviter cela, nous devons restaurer RSP à sa valeur avant les modifications. Il donne les instructions a appliquer pour appliquer un correctif RSP en faisant apparaître la fuite de la pile + 0x3C0 dans le registre RSP, et lorsque le ret final du gadget reviendra à une exécution correcte. Bref un énorme travail là aussi.
 
 
Conclusion 
 
Vous l'aurez compris le travail accompli est tout simplement énorme, alors encore une fois soyez patient, un exploit se doit d'être le plus stable possible, cela ne se trouve pas en 5 minutes, et même quand le moyen de lancer l'exploit kernel est trouvé, il faut ensuite un travail gigantesque derrière pour pouvoir l'utiliser (pour rappel il a fallu un an entre la sortie de l'exploit kernel 1.76 et les premières sorties publiques de dumps).
 
Cet exploit est un exploit assez intéressant pour Specter, mais il a fallu beaucoup de devinettes et il aurait été beaucoup plus amusant de travailler avec s'il avait entre les mains un débogueur de kernel approprié. Pour obtenir un objet exploitable cela a été assez long et épuisant, dans l'ensemble, cet exploit est incroyablement stable, en l'exécutant 30 fois, le kernel ne s'est écrasé qu'une fois. Specter conclue en disant qu'il a beaucoup appris de sa mise en oeuvre en espérant que certains développeurs apprendront de nouveaux éléments. 
 
 
Remerciements à
- CTurt
- Flatz
- qwertyoruiopz
- d'autres contributeurs anonymes 
 
 
Tout est là : Exploit-Writeups

  • Retour en haut

Posté 28 décembre 2017 - 11:09

#2
leboss974

leboss974

    Sunriseur

  • Members
  • PipPip
  • 297 messages
  • Sexe:Male
bravo a tous ... c'est vrai c'est travail de ouf.. ce sont des génies ces mecs franchement faut bien être costauds pour manipuler tous sa ....
breff attendons de voir pour les autres firmwares...
mais en tous cas bravo a vous les génies extraterrestre specter et tous le lot

Posté 28 décembre 2017 - 11:20

#3
cedsaill

cedsaill

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1 988 messages
Merci encore a eux c est un boulot énorme .Je suis très admiratif de leur taff et très reconnaissant de leur partage en plus de ca .
Et Specter est très malin pour son partage car il publie pas un truc qui est directement lié au piratage.... (Backup) il a fait un taff les autres en font ce qu ils veulent.......

Modifié par cedsaill, 28 décembre 2017 - 11:25.

  • Retour en haut

Posté 28 décembre 2017 - 11:23

#4
tonilegitane

tonilegitane

    Sunriseur

  • Members
  • PipPip
  • 31 messages
Une belle avancée, sa va permettre à d'autres de progresser plus rapidement
  • Retour en haut

Posté 28 décembre 2017 - 11:53

#5
CHIDRA60

CHIDRA60

    Sunriseur avancé

  • Technicien
  • 750 messages
  • Sexe:Male
  • Lieu:beauvais
Un seul mot à dire : respect
  • Retour en haut

Posté 28 décembre 2017 - 12:24

#6
Dino Kun

Dino Kun

    Sunriseur

  • Members
  • PipPip
  • 41 messages
c'est une légende ce specter
  • Retour en haut

Posté 28 décembre 2017 - 12:25

#7
Erko

Erko

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1 421 messages
  • Sexe:Male
  • Lieu:Belgique, Liège
Bravo et merci aux devs, respect pour ce genre de taf


Merci pour la news

PS4 Fat OFW 5.05, PS3 Slim (DECH) CFW rebug 4.81.2 DEX, PS Vita Slim 3.60 HENkaku, Nintendo New 3DS XL CFW Luma3ds-Boot9strap, Nintendo Switch 4.0.1

  • Retour en haut

Posté 28 décembre 2017 - 12:57

#8
jad67tony

jad67tony

  • Banned
  • PipPipPip
  • 919 messages
  • Sexe:Male
Bonne lecture... ! Merci a toi Specter pour les infos de la mise en pratique et l'implémentation de l'Exploit... C'est pas souvent qu'on a les infos qui vont avec... ;)
  • Retour en haut

Posté 28 décembre 2017 - 13:33

#9
aneth

aneth

    Sunriseur

  • Members
  • PipPip
  • 36 messages

Excellent et enormissime boulot. merci a tout ce groupe


  • Retour en haut

Posté 28 décembre 2017 - 14:40

#10
Boukaki76

Boukaki76

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1 192 messages
  • Sexe:Male
cela ne se trouve pas en 5 minutes, et même quand le moyen de lancer l'exploit kernel est trouvé, il faut ensuite un travail gigantesque derrière pour pouvoir l'utiliser

c'est bien ce que je dit depuis qu'il et sorti donc les presser les mauvaise langue et puis les petit bricolo abonné à ce site que je vois h 24 arrêter de croire que vous aller faire des miracle patienté et laisser faire les pro en tout cas gros boulot on réalise que ce type pendent que tout le monde l'insulter derrière il était entrain de faire un taf énorme pour vous satisfaire bande ingrats merci à toi specter du bon pour l'avenir j'espère que sony te laissera tranquille
  • Retour en haut

Posté 28 décembre 2017 - 14:47

#11
Gagny-Tech

Gagny-Tech

    Sunriseur PRIVILEGE

  • Technicien
  • 5 859 messages
  • Sexe:Male
  • Lieu:Paris (île de france)
parfait ! merci à lui !

Installation Reset Glitch Hack, Xkey...sur l'île de France // Xbox slim NEUVE GLITCH en vente

Downgrade PS3 NOR/NAND, Cobra, 3K3Y!! // PS3 3.55, PS3 3K3Y,Cobra, SWAP DISC et autres en vente

ENVOI POSTAL POSSIBLE ! 

Mes annonces Technicien :  

Xbox PS3 Feedback

  • Retour en haut

Posté 28 décembre 2017 - 15:32

#12
markus95

markus95

    Sunriseur PRIVILEGE

  • Shining VIP
  • 4 901 messages
  • Sexe:Male
C est la où l on voit la différence entre les vrais développeurs et ceux qui se prennent pour ^^

Posté 28 décembre 2017 - 19:48

#13
Hyndrid QC

Hyndrid QC

    Sunriseur elite

  • Banned
  • PipPipPipPip
  • 1 391 messages
  • Sexe:Not Telling
perso j'ai toujours eu confiance en Specter le mec avait travailler a améliorer des webkit il avait quand meme montrer qu'il s'y connaissait quand meme
  • Retour en haut

Posté 28 décembre 2017 - 20:37

#14
cedsaill

cedsaill

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1 988 messages
Je pense qu on peut remercier tout le monde tout simplement et Qwerty entre autre car je pense qu il y ai pour beaucoup a la base et pour les version a venir...
  • Retour en haut

Posté 28 décembre 2017 - 22:58

#15
overload

overload

    Sunriseur PRIVILEGE

  • Members
  • PipPipPipPipPip
  • 2 075 messages

Je pense qu on peut remercier tout le monde tout simplement et Qwerty entre autre car je pense qu il y ai pour beaucoup a la base et pour les version a venir...



Pour qwerty je suis pas complétement d'accord, je n’adhère pas a sa façon de faire perso mème si je reconnait ses talents indéniable je pense qu'il est au contraire en grande partit responsable de la non divulgation du ou des Kexploit et qu'il n'approuve absolument pas leur sortit publique, sachant que celui ci n'est pas sorti grâce a lui mais indirectement grâce a Chaintin tech qui l'as "vendu" a Sony puis détaillé ensuite par Failoverflow avant d’être adapté par specter, qwerty avait donné une faille webkit 4.0x ok mais bon ça ne semble pas être le plus dure a trouver au vu du nombres divulgué depuis un moment deja sur divers firmware, je remercie énormément de devs pour ce qu'on as depuis le début et les avancés mais en ce qui concerne qwerty je suis sceptique sur certain aspects personnellement, je n'ai nul rancœurs de l'état actuel de la scène ps4 sur ce qu'on as pas de publique je fait juste un constat en me basant sur des faits, ce qui peut ne pas plaire a tout le monde j'en conviens

"Si ça saigne ça peut crever"

  • Retour en haut

Posté 29 décembre 2017 - 00:25

#16
cedsaill

cedsaill

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1 988 messages
@overload
Oui tu as pas tout a fait tort non plus mais après c est des trucs entre eux où bon je veux pas rentrer dedans et j ai pas a y rentrer c est leur taff et leur choix a chaqu un .
On va remercier tout les devs en général et puis voila . A notre stade je pense qu on a que ça a faire.
Petit merci a LS au passage qui nous régale tous les jours et puis vive la ps4 vive le hack vive la république et vive la Françe!!

Modifié par cedsaill, 29 décembre 2017 - 00:27.

  • Retour en haut

Posté 29 décembre 2017 - 03:24

#17
Hyndrid QC

Hyndrid QC

    Sunriseur elite

  • Banned
  • PipPipPipPip
  • 1 391 messages
  • Sexe:Not Telling
non vive le canada specter vient du canada lololol
  • Retour en haut

Posté 29 décembre 2017 - 10:12

#18
Pitchounet

Pitchounet

    Sunriseur avancé

  • Members
  • PipPipPip
  • 921 messages
  • Sexe:Male
  • Lieu:31
  • Passions:1975
Merci à eux en tous cas.
  • Retour en haut

Posté 29 décembre 2017 - 11:16

#19
studywes

studywes

    Sunriseur avancé

  • Members
  • PipPipPip
  • 402 messages
Salut tout le monde,
Super nouvelle et merci aux dev pour le boulot et surtout le share!!Cependant je vais devoir espérer un portage sur 5.0 car ma pro est en 4.70...
  • Retour en haut

Posté 29 décembre 2017 - 19:58

#20
Tazzer

Tazzer

    Sunriseur avancé

  • Members
  • PipPipPip
  • 329 messages
  • Sexe:Male
Merci à lui, du bon travail !

J'espère que les gens comme moi en 5.01 auront droit de goûter au gâteau un jour aussi ... Croisons les doigts !
  • Retour en haut




0 utilisateur(s) li(sen)t ce sujet

0 invité(s) et 0 utilisateur(s) anonyme(s)