我们安全爱好者,都接触过Rootkit,它对我们入侵后的保护提供了强大的支持。现今比较流行的Rootkit有Hxdef,NtRootkit和AFX Rootkit,而且Hxdef和AFX Rootkit还提供了源代码,对我们的学习提供了很大的方便。这些Rootkit都是使用HOOK技术实现的,欺骗的是用户,而不是操作系统。使用HOOK开发Rootkit是比较简单的,虽然现在也有很多其他的技术,但门槛都太高,很多技术都需要硬编码,对于我等菜鸟,实在是没有这么高深的技术。而HOOK就不同了,它开发简单,兼容性好,而且它几乎是你在编程道路上的一项必学技术,因为太多地方需要HOOK了,使用HOOK开发Rootkit不过是其中的一个应用而已,也是学习HOOK的一项比较好的实践机会。好了,进入正题,本文涉及的内容虽然不深,但也需要你有Windows编程以及驱动程序设计的基础。另外,本文的所有内容均在Windows 2000 SP4下测试成功,如无特殊提示,所以内容都是以Windows 2000 SP4、Intel x86为平台介绍的。
一、序言
针对本文开发的Rootkit,我们常常把它称作Hook System Call、Sysem Service Call或System Service Dispatching,更正规的说法是Hook Windows系统服务调用,它是系统中的一个关键接口,提供了系统由用户态切换到内核态的功能。我们知道,一般处理器可以提供从Ring0到Ring3四种处理器模式,其中必须提供2种,就是Ring0和Ring3。一些特殊的处理器指令只能在内核模式执行,一些高端内存也必须在内核模式下才能访问(可以通过内存映射的方法解决,请参考其他文章,本文不做介绍)。Windows系统就是利用了这2个处理器模式,将系统的关键组件保护起来,只有在内核模式才可以访问,并提供了一个上层接口,供用户程序访问,一切都是在MS的管理之下(悲哀啊!)。下面是Windowx体系结构的简略图。
[-------------------Windowx体系结构---------------------]
系统进程,服务进程,应用程序,环境子系统
应用程序编程接口(API)
基于NTDLL.DLL的本地系统服务
(用户模式)
---------------------------------------------------------------
(内核模式)
系统服务调用(SSDT)
执行体(Executive)
系统内核,设备驱动(Kernel)
硬件抽象层(HAL)
hook小结
作者:Wxbsoft时间:08-05-24
- 最新文章
- 内核级HOOK的几种实现与应用
- 实现内核级HOOK对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不...
- Windows平台内核级文件访问
- 1.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,...
- 相关文章
- 内核级HOOK的几种实现与应用
- 实现内核级HOOK对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不...
- kernel inline hook 绕过vice检测
- 在user mode的inline hook比较好用,因为很少有多线程的问题,所以可以采用把...
热门关注







