La mise à jour consiste à une réorganisation interne, et l'ajout de la portabilité du firmware 3.50, 3.55, 3.70, 4.00, 4.05, 4.06 et 4.07.
L'exploit est plus stable que FireKaku qui va probablement être abandonné car il permet d'exécuter les chaines ROP de façon plus stable, et il permet de revenir à l'éxécution de l'userland de manière normale.
L'exploit webkit est basé sur une attaque RCE et il devrait permettre d'exécuter le kernel exploit, cependant à l'origine il a surtout été taillé pour le 4.06. Là encore, le développeur ne peut pas livrer l'intégralité du code, l'exploit permet d'exécuter du code dans le ring3, pour l'exécuter dans le ring0 il faut s'appuyer sur le kernel exploit et une chaine KROP.
Il est en ce moment même en train de rajouter le support 4.01 qui avait été oublié.
This repo is specterdev's edit of the 4.0x webkit exploit released by qwertyoruiopz.
The edit re-organizes, comments, and adds portability across 3.50 - 4.07 (3.50, 3.55, 3.70, 4.00, 4.01, 4.05 and of course 4.06/4.07). The commenting and reorganization was mostly for my own learning experience, however hopefully others can find these comments helpful and build on them or even fix them if I've made mistakes. The exploit is much more stable than FireKaku and sets up the foundation for running basic ROP chains and returns to normal execution. Credit for the exploit goes completely to qwertyoruiopz.
Organization
Files in order by name alphabetically;
expl.js - Contains the heart of the exploit and establishes a read/write primitive.
gadgets.js - Contains gadget maps and function stub maps for a variety of firmwares. Which map is used is determined in the post-exploitation phase.
index.html - The main page for the exploit. Launches the exploit and contains post-exploitation stuff, as well as output and code execution.
rop.js - Contains the ROP framework modified from Qwerty's original exploit as well as the array in which module base addresses are held and gadget addresses are calculated.
syscalls.js - Contains a system call map for a variety of firmwares as well as a 'name -> number' map for syscall ID's.
Usage
Simply setup a web-server on localhost using xampp or any other program and setup these files in a directory. You can then go to your computer's local IPv4 address (found by running ipconfig in cmd.exe) and access the exploit.