Rootkit真刀真枪的权限保卫战

互联网 | 编辑: 2005-06-29 00:00:00转载 一键看全文

通常,我们在获得了对目标的控制权后,还想保持这种控制权限,于是就出现了木马后门,Rootkit之类的保护权限的手段。

3内核级Rootkit实例 

  现在有大量的内核级Rootkit可用,就选几种比较强大的来跟大家讨论一下。 

  一、linux上的内核级Rootkit:Knark 

  Knark具有各种标准的内核级Rootkit功能,包括执行重定向,文件隐藏,进程隐藏和网络隐藏。另外,还有不少比较过瘾的功能,如: 

  1、远程执行:我们可以通过网络向运行Knark的机器发送一条命令,源地址是假造的,命令被发往UDP端口53,使之表面上看起来像是DNS流量。我们就可以利用这个功能来升级Knark,删除系统文件或任何我们想做的事。 

  2、任务攻击:当某一进程在系统上运行时,它总是具有与UID和有效的UID(EUID)相关的权限。另外进程还具有与文件系统UID(FSUID)相关的文件及目录访问权。Knark的任务攻击能力可实时地将进程UID,EUID和FSUID改变。进程在不停止运动的情况下突然具有了新的权限。 

  3、隐藏混杂模式:同一般的RootKit一样,入侵者也会在受害者机器上运行嗅探器。我们可以用文件隐藏和进程隐藏将嗅探器隐藏起来。然而,以太网卡会被设成混杂模式,管理员可以检查到这一点Knark将内核进行了修改,使之隐瞒网卡的混合模式,这将使嗅探变得更加隐秘。 

  4、实时进程隐藏:Knark可以将一个正在运行的进程隐藏起来。通过发送信号31给一个进程,此进程将消失,但仍在运行。命令kill-31 process_id将阻止内核汇报任何有关此进程的信息。进程在运行时,ps和lsof命令的使用都不能显示此进程。 

  5、内核模块隐藏:Linux中的lsmod命令可以列出当前在机器上安装的LKM,我们自然不想让管理员看到Knark模块,因此Knark包含了一个单独的模块modhide,modhide将Knark和自己隐藏了起来。这样,当我们用Knark攻击一个系统时,我们首先为Knark.o做一个insmod,然后为modhide.o做一个insmod。这样不管谁运行lsmod命令,这些模块都不会被发现。 

  二、另一个Linux上的内核级Rootkit:Adore 

  同Knark一样,Adore也是一个针对Linux的LKM RootKit,他包含了标准的内核级Rootkit功能,如文件隐藏,进程隐藏,网络隐藏和内核模块隐藏。我们只所以讨论Adore,是因为他还有一个非常强大的功能:内置的根权限后门。 

  Adore的根权限后门可以让我们连接到系统上并获得根权限的命令外壳,此功能十分直接了当 ,Adore将此功能巧妙的包含在内核模块中了。这一招十分难破,因为管理员看不到任何文件、进程、侦听网络端口的迹象。 

  防御办法:防御内核级的Rootkit的根本办法是不要让攻击者得到你的机器的系统的根本权限(Unix里的root和windows里的admin),不过这看起来像废话:),目前对内核级的Rootkit还没有绝对的防御体系。 

  现在也存在一些Rootkit自动检测工具,但都不是很可靠。同时内核级的Rootkit也在不断的发展中,对一些系统来说防御它最好的办法是使用不支持LKM的内核,Linux的内核就可以设成不支持LKM的单一内核。 

  下面是一些图例,帮助大家理解。

 

  图:普通应用级别的木马后门

  图:传统的RootKit

  图:内核级的RootKit

(转自赛迪网)

提示:试试键盘 “← →” 可以实现快速翻页 

总共 3 页< 上一页123
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑