Rootkit的类型、功能及主要技术_第1页
Rootkit的类型、功能及主要技术_第2页
Rootkit的类型、功能及主要技术_第3页
Rootkit的类型、功能及主要技术_第4页
Rootkit的类型、功能及主要技术_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Rootkit的类型、功能及主要技术Rootkit 的类型小结1.固化 Rootkits 和 BIOS Rootkits固化程序是存于 ROM 中,通常很小,使用系统硬件和 BIOS 创建顽固的软件镜像。将制定的代码植入到BIOS中,刷新BIOS,在BIOS初始化的末尾获得运行机会。重启无用、 格式化无用,在硬盘上无法探测,现有的安全软件将大部分的扫描时间用在了对硬盘的扫描 上。本文整理:(第三方信息安全网) HYPERLINK / /内核级 Rootkits内核级Rootkits(Kernelland Rootkits)是通过修改内核、增加额外的代码、直接修改系统调用表、系统调用跳转(Sys

2、caHJump),并能够替换一个操作系统的部分功能,包括内核和 相关的设备驱动程序。现在的操作系统大多没有强化内核和驱动程序的不同特性。许多内核 模式的Rootkit是作为设备驱动程序而开发,或者作为可加载模块,如Linux中的可加载 模块或Windows中的设备驱动程序,这类Rootkit极其危险,它可获得不受限制的安全访 问权。如果代码中有任何一点错误,那么内核级别的任何代码操作都将对整个系统的稳定性 产生深远的影响。特点:无进程;无端口。与用户级Rootkit相比,与操作系统处于同一级别,可以修改或 破坏由其它软件所发出的任何请求。用户态 Rootkits用户态 Rootkits(Use

3、rland Rootkits)是运行在 Ring3 级的 Rootkit, 由于 Ring3 级就是 用户应用级的程序,而且信任级别低,每一个程序运行,操作系统给这一层的最小权限。用 户态Rootkit使用各种方法隐藏进程、文件,注入模块、修改注册表等。应用级 Rootkits应用级 Rootkits 通过具有特洛伊木马特征的伪装代码来替换普通的应用程序的二进制代码,也可以使用Hook、补丁、注入代码或其它方式来修改现有应用程序的行为。代码库 Rootkits代码库Rootkits用隐藏攻击者信息的方法进行补丁、Hook、替换系统调用。这种Rootkit可 以通过检查代码库( 如 Window

4、s 中 DLL) 的改变而发现其踪迹。实际上,很难检测一些应用 程序和补丁包一起发行的多种程序库中的 Rootkit。虚拟化 Rootkits 与 HypervisorRootkits虚拟化Rootkit(Virtual Rootkits)是利用虚拟机技术的虚拟机Rootkit (是模仿软件虚拟机形式的Rootkit)。这种Rootkit通过修改计算机的启动顺序而发生作用,目的是加载 自己而不是原始的操作系统。一旦加载到内存,虚拟化Rootkits就会将原始的操作系统加 载为一个虚拟机,这使得Rootkit能够截获客户操作系统所发出的所有硬件请求。Hypervisor Rootkits是一种基

5、于硬件或固化的Rootkit。它具有管理员权限的管理程序,可以在支持硬件协助虚拟化和未安装虚拟化软件的系统上安装基于Hypervisor的Rootkit。然后,这个基于Hypervisor的Rootkit将可以在比操作系统本身更高的权限级 别上运行。特点:合法内核模式代码降低了检测出攻击者 Hypervisor 模式代码的能力。它是在硬件上 运行的虚拟的环境,由于攻击者强行在真正的内核插入虚拟机,在硬件上运行,因此,这常 被误认为是内核Rootkits。在攻击者执行内核模式代码之前,Hypervisor Rootkits不会 运行。当一个系统被 Hypervisor Rootkits 感染时,

6、在该系统的 Kernelland 没有任何迹象, 这是与Hypervisor Rootkits而不是真正的硬件交互。因此,几乎是不可能从Kernelland、Userland 和应用层检测到。在 Rootkit 和 Anti-Rootkit 的对抗中,取决于对该 Hypervisor 层的检测和预防,以及在哪一层安装了 Rootkit。谁先去接近硬件就是赢者。这意味着如果用户运行 基于 Userland 或 Kernelland 的 Anti-Rootkit 工具 ,无法 检测到HypervisorRootkits,因为前者不是运行在真实的硬件上,但高于真正的硬件虚拟机。rootkit 的常见

7、功能:隐藏文件:通过strace ls可以发现ls命令其实是通过sys_getdents64获得文件目录的,因此可以通过修改sys_getdents64系统调用或者更底层的readdir实现隐藏文件及目录, 还有对 ext2 文件系统直接进行修改的方法,不过实现起来不够方便,也有一些具体的限制。隐藏进程:隐藏进程的方法和隐藏文件类似,ps命令是通过读取/proc文件系统下的进程目 录获得进程信息的,只要能够隐藏/proc文件系统下的进程目录就可以达到隐藏进程的效 果,即 hook sys_getdents64和 readdir 等。隐藏连接:netstat命令是通过读取/proc文件系统下的n

8、et/tcp和net/udp文件获得当前 连接信息,因此可以通过hook sys_read调用实现隐藏连接,也可以修改tcp4_seq_show 和 udp4_seq_show 等函数实现。隐藏模块:lsmod命令主要是通过sys_query_module系统调用获得模块信息,可以通过hook sys_query_module 系统调用隐藏模块,也可以通过将模块从内核模块链表中摘除从而达到 隐藏效果。嗅探工具:嗅探工具可以通过libpcap库直接访问链路层,截获数据包,也可以通过linux 的netfilter框架在IP层的hook点上截获数据包。嗅探器要获得网络上的其他数据包需要 将网卡设置

9、为混杂模式,这是通过ioctl系统调用的SIOCSIFFLAGS命令实现的,查看网卡 的当前模式是通过SIOCGIFFLAGS命令,因此可以通过hook sys_ioctl隐藏网卡的混杂模式。密码记录:密码记录可以通过hook sys_read系统调用实现,比如通过判断当前运行的进程名或者当前终端是否关闭回显,可以获取用户的输入密码。hook sys_read还可以实现login 后门等其它功能。日志擦除:传统的 unix 日志主要在/var/log/messages, /var/log/lastlog, /var/run/utmp,/var /log/wtmp下,可以通过编写相应的工具对日志

10、文件进行修改,还可以将HISTFILE等 环境变设为/dev/null隐藏用户的一些操作信息。内核后门:可以是本地的提权后门和网络的监听后门,本地的提权可以通过对内核模块发送定制命令实现,网络内核后门可以在IP层对进入主机的数据包进行监听,发现匹配的指定 数据包后立刻启动回连进程。rootkit 的主要技术:lkm注射、模块摘除、拦截中断0 x80、0 x01)、劫持系统调用、运行时补丁、inline hook、 端口反弹lkm注射:也是一种隐藏内核模块的方法,通过感染系统的lkm,在不影响原有功能的情况 下将rootkit模块链接到系统lkm中,在模块运行时获得控制权,初始化后调用系统lkm

11、 的初始化函数, lkm 注射涉及到 elf 文件格式与模块加载机制。模块摘除:主要是指将模块从模块链表中摘除从而隐藏模块的方法,最新加载的模块总是在 模块链表的表头,因此可以在加载完rootkit模块后再加载一个清除模块将rootkit模块信 息从链表中删除,再退出清除模块,新版本内核中也可以通过判断模块信息后直接list_del。拦截中断:主要通过sidt指令获得中断调用表的地址,进而获取中断处理程序的入口地址, 修改对应的中断处理程序nt 0 x80, int 0 x1等。其中拦截int 0 x1是较新的技术,主 要利用系统的调试机制,通过设置DR寄存器在要拦截的内存地址上下断点,从而在

12、执行到 指定指令时转入0 x1中断的处理程序,通过修改0 x1中断的处理程序即可实现想要的功能。劫持系统调用:和拦截中断类似,但主要是对系统调用表进行修改,可以直接替换原系统调 用表,也可以修改系统调用表的入口地址。在2.4内核之前,内核的系统调用表地址是导出 的,因此可以直接对其进行修改。但在2.6内核之后,系统调用表的地址已经不再导出,需 要对 0 x80 中断处理程序进行分析从而获取系统调用表的地址。运行时补丁:字符设备驱动程序和块设备驱动程序在加载时都会向系统注册一个Struct file_operations结构实现指定的read、write等操作,文件系统也是如此,通过修改文件 系统的file_operatio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论