我正尝试在Intel Core-i5 4300M CPU 上使用未修补的内核4.8.0-36来利用Ubuntu 16.04的崩溃安全漏洞。
首先,我使用内核模块将秘密数据存储在内核空间中的某个地址:
static __init int initialize_proc(void){
char* key_val = "abcd";
printk("Secret data address = %p\n", key_val);
printk("Value at %p = %s\n", key_val, key_val);
}
Run Code Online (Sandbox Code Playgroud)
printk语句为我提供了机密数据的地址。
Mar 30 07:00:49 VM kernel: [62055.121882] Secret data address = fa2ef024
Mar 30 07:00:49 VM kernel: [62055.121883] Value at fa2ef024 = abcd
Run Code Online (Sandbox Code Playgroud)
然后,我尝试在此位置访问数据,并在下一条指令中使用它来缓存数组的元素。
Mar 30 07:00:49 VM kernel: [62055.121882] Secret data address = fa2ef024
Mar 30 07:00:49 VM kernel: [62055.121883] Value at fa2ef024 = abcd …Run Code Online (Sandbox Code Playgroud)