
Preuve de concept d'exploitation pour CVE-2023-4911 (Looney Tunables) ciblant glibc ld.so pour une élévation de privilèges locale sur Ubuntu 22.10. Implémente des techniques de mise en forme du tas et de spray de pile.
Ceci est une preuve de concept (très approximative pour l'instant) pour CVE-2023-4911. Jusqu'à présent, je n'ai vérifié son fonctionnement que sur Ubuntu 22.10 kinetic. La version actuelle de l'exploit contient pas mal d'offsets "magiques". Si vous avez des suggestions sur la façon d'améliorer le heap shaping, n'hésitez pas à m'envoyer une PR :).
Cet exploit est essentiellement une implémentation de l'excellente analyse de Qualys. Il s'écarte sur certains points. Ce n'est pas nécessairement parce que je pense savoir mieux faire, c'est simplement ce qui a fonctionné sur ma VM. Il y a probablement une marge d'amélioration.
make../exploit depuis un répertoire inscriptible contenant à la fois suid_lib.so et exploit. Il créera un dossier nommé U dans le répertoire courant
et le remplira avec les bibliothèques nécessaires.Lors de mes tests limités, l'exploit nécessite entre 4000 et 8000 tentatives. Le stack spray n'est pas aussi bon que celui de l'implémentation de Qualys, cela prend donc un peu plus de temps.
Voici un exemple de l'exploit en action (accéléré) : https://youtu.be/uw0EJ5zGEKE
Si vous avez envie de bidouiller ce code, voici quelques idées pour vous lancer :