原理
rootkit通常是指攻击者拿到root权限以后在行为这块做隐藏的恶意软件,其工作环境包括用户态和内核态,用户态的手法一般是通过ld_preload hook glibc,内核态则是写lkm去hook系统调用。hook系统调用技术其实也有细分,包括kernel inline hook、kprobe、sys_call_table hook等,这篇博客所记录的就是最基础的sys_call_table hook这块的内容。
研究过程
sys_call_table modify
sys_call_table地址获取
sys_call_table地址获取方式有如下几种:
1、从/boot/System.map中获取
2、从/proc/kallsyms中获取
3、idt劫持
4、暴力搜索