
Démonstration de méthode d'exploitation hbp du noyau Linux. (c'est-à-dire la version dégradée de CVE-2022-42703)
fork depuis https://github.com/veritas501/hbp_attack_demo
Référence au blog P0 : https://googleprojectzero.blogspot.com/2022/12/exploiting-CVE-2022-42703-bringing-back-the-stack-attack.html
J'ai créé un vuln module, faisons comme si nous avions une primitive d'écriture à une adresse arbitraire dans le noyau, mais avec KASLR activé, nous n'avons pas de fuite d'adresse pour le moment.
Ainsi, en utilisant la caractéristique que cpu_entry_area n'est pas randomisé par KASLR et que les points d'arrêt matériels peuvent être déclenchés en mode noyau, on peut réaliser la fuite de KASLR et du canary sur la pile du noyau, puis effectuer une attaque ROP pour une élévation de privilèges.
Blog : https://veritas501.github.io/2023_03-22-一种借助硬件断点的提权思路分析与演示

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.103.tar.xz
ctrl + \ pour quitter qemu
Le vmlinux avec symboles est trop volumineux, il serait rejeté. On ne peut utiliser que bzImage.