前言
Rootkit是我从大一就听说过的技术,不过那个时候几乎是0基础,也完全不懂这是个什么玩意儿,其实到现在我也不懂rootkit是如何修改内核层和隐藏自己的,不过最近在学习用户态的rootkit,倒是了解了一番,做个笔记。
用户态Rootkit的种类
首先我了解的用户态的rootkit是分为两种,一种是IAT hook,还有一种就是inline hook。解释一下,rootkit不同于其他恶意代码的地方简单的说,我的理解就是可以非常好的隐藏自己,所以在rootkit中会用到一种常见的技术叫做hook技术。
IAT hook
这种方法是比较容易理解的,因为在windows系统中,每一个程序都会有导入表,导出表,而程序调用一些函数也是通过导入表,然后跳转函数的真实地址(DLL中)并执行函数,所以这种方法就是直接修改IAT表,修改某个函数的地址为恶意代码的地址然后在跳转回真实的函数,执行,就完美的运行了恶意代码,而且程序看起来并不会有什么异常

原谅我这个垃圾画画水平
Inline hook
Inline hook简单的说就是修改api函数的代码,不过要先将函数的前几个字节改为跳转指令,跳转到恶意代码处,恶意代码的最后一部分是原函数被修改的指令跳转到原函数的指令。

通过一个小程序来看

首先图中有三个函数,第一个函数和第三个函


2786

被折叠的 条评论
为什么被折叠?



