
Exploit 0day provenant de la fuite de Hacking Team, écrit par Eugene Ching/Qavar.
Ceci est un exploit pour CVE-2015-2426 (MS-078), un 0day d'élévation locale de privilèges du noyau Windows provenant des archives d'Hacking Team (e-mail ici). Il a été développé par Eugene Ching / Qavar security. Contenu original ci-dessous :
Exploit de corruption de mémoire du noyau Windows menant à une élévation de privilèges.
Testé sur Windows 8.1 entièrement patché (au 28 janvier 2015).
Également testé pour fonctionner contre :
en supposant une RCE appropriée dans Chrome (simulée en injectant un thread dans Chrome)
L'exploit principal est implémenté dans PIC.c, fourni dans le cadre d'une solution Visual Studio 2013 Express.
La compilation de la solution produit PIC.exe.
Nous voulons finalement injecter l'exploit dans la mémoire de la cible et l'exécuter directement. Pour ce faire, nous devons injecter uniquement les instructions pertinentes (opcodes) et les données nécessaires.
Par conséquent, nous extrayons le segment de code (les opcodes) de PIC.exe, et ajoutons les données nécessaires (la police malformée, font-data.bin) à une séquence d'octets.
Cela produit les "octets bruts" que nous pouvons injecter directement dans la cible et sur lesquels appeler CreateRemoteThread().
Ce processus est automatisé par le script Python nommé make-raw-bytes.py. La sortie est raw-bytes.bin.
Pour convertir les "octets bruts" en un .exe qui injecte réellement les "octets bruts" dans une cible, nous devons appeler WriteProcessMemory() et CreateRemoteThread().
Ce processus est géré par make-injector-cpp.py. La sortie est injector.cpp, un morceau de code qui, une fois compilé, prend un PID cible et exécute l'exploit.
Par commodité, make.bat produit directement injector.exe en effectuant les étapes décrites ci-dessus.
En d'autres termes, make.bat va :