Lavorare con questo PoC
Eseguendolo:
# ./secret
[+] Secret: Sample text
[+] Virtual address of secret: 0x4af528
[+] Physical address of secret: 0x172bc3528
[+] Exit with Ctrl+C if you are done reading the secret
Tuttavia la lettura non mostra nulla:
$ ./physical_reader 0x172bc3528
[+] Physical address : 0x172bc3528
[+] Physical offset : 0xffff880000000000
[+] Reading virtual address: 0xffff880172bc3528
Ho KASLR disabilitato.
BOOT_IMAGE=/boot/vmlinuz-4.4.0-93-generic root=UUID=6c2b06f8-b8dd-4117-a77e-2425b27fb749 ro quiet splash crashkernel=384M-2G:128M,2G-:256M vt.handoff=7
Il test di affidabilità funziona bene:
# ./reliability
[-] Success rate: 99.40% (read 166 values)
Qualcuno ha un'idea del motivo per cui non può leggere l'indirizzo di memoria da segreto?
Senza KASLR, l'offset fisico rimarrà sempre 0xffff880000000000, giusto?
Grazie,