当前位置: 代码迷 >> 综合 >> Linux下Rootkit介绍
  详细解决方案

Linux下Rootkit介绍

热度:7   发布时间:2024-01-28 16:05:27.0

Linux下的RootKit简单介绍和分析

        本文对Linux中的Rootkit进行简单介绍,主要用于防护方案对Rootkit的防御效果介绍。

       RootKit分为用户态rootkit和内核级rootkit。内核级rootkit可分为基于LKM的rootkit(又细分为系统调用表修改类以及VFS层rookit等)和非LKM的rootkit(如系统调用表重定向等)。Linux下还有BIOS、PCI、Boot(NTLDR、BCD、Grub)等更新颖技术的rootkit。

         下面用表格形式说明几种典型的代表:

典型代表

控制方式

内核版本

隐藏/反检测特点

备注

Lrk5

主动连接

2.6.x

替换用户态ls,ps,netstat等

第一代用户态rootkit,代码较多,安装简洁,容易上手

Knark-0.59

主动连接

2.2.x

Knark0.59具有以下特性:

  1. 隐藏或显示文件或目录;
  2. 隐藏进程;
  3. 隐藏TCP或UDP连接
  4. 程序执行重定向
  5. 改变一个运行进程的UID/GID的工具
  6. 非授权地、特权程序远程执行守护进程

Linux 2.2内核下功能强大的LKM。调用表修改类rootkit通过修改导出的系统调用表,对与攻击行为相关的系统调用进行替换,隐藏攻击者的行踪。

Sk-1.3b

主动连接

反向链接

2.2.x

2.4.x

Sk后门服务端程序为静态ELF文件,压缩之后就几十K的大小;

Sk采用动态隐藏的方式来隐藏指定的内容,包括文件、进程、网络连接;

Sk2可以感染系统的elf文件达到自启动的目的,也可以通过替换系统的init文件来实现自动启动

全称suckit(super user control kit),运行于Linux 2.4内核下最经典的非LKM层rootkit。并没有修改系统调用跳转表的内容,而是首先拷贝了系统调用表,然后将拷贝的系统调用表安装入侵者的意图进行修改,执行入侵者改写的系统调用相应函数。然后将system_call从旧的系统调用表上移开,指向新的系统调用表

Adore-ng-056-wztfix

主动连接

反向链接

2.4.x-2.6.x

Adore-ng稳定性较好;

Adore-ng后门服务端程序具体环境动态编译;

须使用客户端手动的去隐藏指定的进程、网络和文件

Linux 2.4-2.6经典的LKM;VFS层rootkit,并不修改系统调用层的内容,而是通过修改VFS层的具体处理函数,如替换VFS层的file_ops等函数,来实现信息隐藏目的。

WNPS

主动连接

反向链接

2.6.x

隐藏指定文件

隐藏文件中特定的内容

隐藏进程

动态隐藏网络连接、进程

隐藏自身模块

保护相关模块、进程、文件不被跟踪

 

2.6内核通用

Ddrk

主动连接

2.6.x

隐藏性好

隐藏进程

隐藏网络连接

隐藏自身模块

是一个Linux结合sk和adore-ng优点,内核态+用户态的rootkit