linux常用rootkit技术,unix下的 rootkit

unix下的 rootkit

传统的Rootkit是一种比普通***

防御办法:Rootkit如此可怕,得好好防它才行,实际上,最有效的防御方法是定期对重要系统文件的完整性进行核查,这类的工具很多,像 Tripwire就是一个非常不错的文件完整性检查工具。一但发现遭受到 Rootkit***,必须完全重装所有的系统文件、部件和程序,以确保安全性。

写到这里,战争似乎结束了,然而更可怕的Rootkit还没登场,那就是内核级Rootkit。在大多数操作系统中(各种Unix和Windows),内 核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得 到文件的比特位并运行你的文件浏览程序。内核级 Rootkit使***者获得对系统底层的完全控制权。***者可以修改你的内核,大多数内核级Rootkit都能进行执行重定向,即截获运行某一程序的命 令,将其重定向到***者所选中的程序并运行此程序。也就是说用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B。

内核级Rootkit对Unix的***

和传统的Rootkit不同,内核级Rootkit***时 Unix的bin/login并未被修改,但所有执行/bin/login的请求(当登录系统时将产生)都被重定向到***者制作的隐藏文件 /bin/backdoorlogin,这样当系统管理员使用检测传统级别的Rootkit的方法(比如用tripwire之类的软件检测文件的完整性) 就行不通了,因为/bin/login并没有被改变。同样的道理,***者对其他的系统程序也进行重定,这样你的操作实际就是按照***者的意愿执行了。

内核级Rootkit不仅会进行“执行重定向”设置,还有很多支持文件隐蔽。传统的Rootkit是通过替换ls程序来实现文件的隐藏,而内核级的 Rootkit则是通过对内核的修改来对ls程序欺骗,更加的阴险隐蔽。另外内核级的Rootkit还能对进程和网络进行隐藏,用户将得不到真实的系统情 况报告。

实现思路:根据系统的类型,***者有不同的方法来对内核进行修改,在N种Unix系统上修改内核最简单的方法就是利用系统本身的加载的内核模块(LKM) 的功能,因此大多数的内核级Rootkit通过利用LKM动态地将内核更新来提供新功能,新添加的模块扩展了内核,同时对内核和其他使用内核的所有东西有 了完全访问权。

因此,许多内核级Rootkit都通过LKM来实现。安装通过LKM实现的内核级Rootkit十分简单。例如,在Linux上安装Knark内核级 Rootkit只需具有根权限的***者输入命令:insmod knark.o就行了,模块被安装后就等着我们输入命令了。更妙的是整个过程不需要重启。通过LKM实现的Rootkit在Unix上十分流行。我们也常 常会通过给windows平台打LKM补丁的方法***windows。

内核级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:

©著作权归作者所有:来自51CTO博客作者mft809849218的原创作品,如需转载,请注明出处,否则将追究法律责任

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值