Bonjour à tous,
[BGCOLOR=transparent]Le développeur Specter, à qui l'on doit pour rappel l'implémentation du hack exploit kernel sur PlayStation 4 sous firmware 4.05, vient de mettre en ligne un nouvel article sur la portion du kernel qui permet de lancer les chaînes d'exploit sur le firmware 4.55.[/BGCOLOR]
Sur le firmware 4.55, le bug qui a été trouvé par qwertyoruiopz est unique dans la façon dont il est utilisé, Specter a voulu décrire comment il fonctionne. Ce bug peut tout aussi bien être utilisé sur d'autres plate-formes que la PS4 puisqu'il s'agit d'un bug FreeBSD et non pas de Sony.
Dans ses procédures, Specter a volontairement occulté certaines procédures, comme la façon dont il a dumpé le kernel, ou encore comme l'objet cible a été utilisé dans l'objet cdev. Pourquoi ?
Parce que l'exploit impliquant BPF n'était à l'époque pas encore publié au grand public, comme c'était un exploit 0-day il l'avait volontairement omis.
BPF était un objet cible pour le 4.05 car il intégrait des fonctions permettant de pointer d'autres fonctions d'exécution de code, et il y avait des primitives de lecture arbitraire, que Specter explique dans son article.
Le bug dans le 4.55 est très différent, il n'utilise pas du tout la même architecture, l'exploit n'a nullement besoin d'utiliser un dumper.
Le bug la faute de FreeBSD ou de Sony ?
Nous l'avons déjà plus ou moins déjà dit, il s'agit d'un bug FreeBSD, il n'a donc pas été introduit par Sony, Specter montrant un exemple de bug.
Celui-ci sur le firmware 4.55, il s'appuie sur un décalage présent dans le syscall 11 qui est 0xC2B8A0, comme il nous l'explique il y a un décalage présent pour l'entrée sysent, et donc nous pouvons voir la fonction d'implémentation nosys, il est alors parfaitement possible de l'écraser et donc de l'utiliser.
Il explique aussi comment Sony a "patché" la section header pour corriger le BPF, de trop nombreux crashs ont été reportés à Sony, avec une simple adresse, Sony a déterminé qu'il s'agissait de bpfwrite () qui était corrompue, Sony l'a alors complètement supprimé du kernel. Malheureusement aucune autre primitive n'est exploitable donc le bug est mort.
Conclusion
Pour terminer son article, Specter nous informe que cela était assez cool à écrire et à exploiter, bien que le bug ne soit pas incroyablement utile sur la plupart des autres systèmes car il ne peut pas être exploité par un utilisateur non privilégié, il est toujours valide comme une méthode d'exécution de code root à ring0.
Sa stratégie d'attaque, était unique, en utilisant une condition pour déclencher une écriture hors-limite sur la mémoire. C'est une méthode assez ancienne mais qui a fait ses preuves. Espérons qu'il puisse à l'avenir refaire ses preuves sur de nouvelles failles exploitables.
Source :
[BGCOLOR=transparent]Le développeur Specter, à qui l'on doit pour rappel l'implémentation du hack exploit kernel sur PlayStation 4 sous firmware 4.05, vient de mettre en ligne un nouvel article sur la portion du kernel qui permet de lancer les chaînes d'exploit sur le firmware 4.55.[/BGCOLOR]
Sur le firmware 4.55, le bug qui a été trouvé par qwertyoruiopz est unique dans la façon dont il est utilisé, Specter a voulu décrire comment il fonctionne. Ce bug peut tout aussi bien être utilisé sur d'autres plate-formes que la PS4 puisqu'il s'agit d'un bug FreeBSD et non pas de Sony.
Dans ses procédures, Specter a volontairement occulté certaines procédures, comme la façon dont il a dumpé le kernel, ou encore comme l'objet cible a été utilisé dans l'objet cdev. Pourquoi ?
Parce que l'exploit impliquant BPF n'était à l'époque pas encore publié au grand public, comme c'était un exploit 0-day il l'avait volontairement omis.
BPF était un objet cible pour le 4.05 car il intégrait des fonctions permettant de pointer d'autres fonctions d'exécution de code, et il y avait des primitives de lecture arbitraire, que Specter explique dans son article.
Le bug dans le 4.55 est très différent, il n'utilise pas du tout la même architecture, l'exploit n'a nullement besoin d'utiliser un dumper.
Le bug la faute de FreeBSD ou de Sony ?
Nous l'avons déjà plus ou moins déjà dit, il s'agit d'un bug FreeBSD, il n'a donc pas été introduit par Sony, Specter montrant un exemple de bug.
Celui-ci sur le firmware 4.55, il s'appuie sur un décalage présent dans le syscall 11 qui est 0xC2B8A0, comme il nous l'explique il y a un décalage présent pour l'entrée sysent, et donc nous pouvons voir la fonction d'implémentation nosys, il est alors parfaitement possible de l'écraser et donc de l'utiliser.
Il explique aussi comment Sony a "patché" la section header pour corriger le BPF, de trop nombreux crashs ont été reportés à Sony, avec une simple adresse, Sony a déterminé qu'il s'agissait de bpfwrite () qui était corrompue, Sony l'a alors complètement supprimé du kernel. Malheureusement aucune autre primitive n'est exploitable donc le bug est mort.
Conclusion
Pour terminer son article, Specter nous informe que cela était assez cool à écrire et à exploiter, bien que le bug ne soit pas incroyablement utile sur la plupart des autres systèmes car il ne peut pas être exploité par un utilisateur non privilégié, il est toujours valide comme une méthode d'exécution de code root à ring0.
Sa stratégie d'attaque, était unique, en utilisant une condition pour déclencher une écriture hors-limite sur la mémoire. C'est une méthode assez ancienne mais qui a fait ses preuves. Espérons qu'il puisse à l'avenir refaire ses preuves sur de nouvelles failles exploitables.
Source :
You must be registered for see links
Dernière édition: