Rootkit介绍
Rootkit是一个特殊的恶意软件,它可隐藏自身以及指定的文件、进程、网络、链接、端口等信息。Rootkit可通过加载特殊的驱动修改系统内核,进而达到隐藏信息的目的。Rootkit的三要素就是:隐藏、操纵、收集数据。不同的操作系统会有不同的Rootkit,Linux系统中的Rootkit就被称为LinuxRootkit。
Rootkit具有隐身功能,无论静止时作为文件存在,还是活动时作为进程存在,都不会被察觉,它可能永远存在于计算机中。
功能
无论是那种形式的Rootkit,都需要实现以下功能:
1,远程指令执行
通过网络向Rootkit所驻留的系统发送指令,从而控制远程主机;
2,信息收集
收集系统的活动信息、网络上其它主机的数据信息等;
3,文件隐藏
把目标主机上的特定文件隐藏起来,使其不能通过常规方法查看到,这样就可以隐藏一部分系统被控制的痕迹;
4,进程隐藏
在控制目标主机或收集系统信息时会启动相关的进程,通过Rootkit可以实现对进程的隐藏;
5,网络连接隐藏
将网络连接的端口信息隐藏,利用netstat等工具无法显示隐藏的信息,这样就可以隐秘地向远端发送信息;
6,内核模块隐藏
将Rootkit自身在系统中安装的模块隐藏起来,提高自身生存能力。
Chkrootkit安装
Chkrootkit需要进行编译,安装前系统要安装gcc,centos如下。
|
yum -y install gcc |
Chkrootkit是一款用来检测rootkit的软件,运行环境为linux,可以直接通过http://www.chkrootkit.org/download/地址来下载,随后进行解压缩。
解压缩后进入chkrootkit目录使用make sense命令进行编译。
这里需要注意的是编译命令为make sense,make命令本身没有sense参数。make命令执行时,需要有一个makefile文件,来告诉make命令如何去编译程序,makefile定义了一系列规则来指定哪些文件需要先编译,哪些需要后编译,哪些需要重新编译等。
makefile文件可接受参数来编译相应的程序,其参数可通过make命令传递,例如上面的make sense,找到makefile文件,发现其中可接受sense参数,此参数后跟了其他剩余的编译参数,其他剩余的编译参数都有对应的需要编译的文件,所以这里的sense参数作用即按指定的文件顺序进行编译。
最后直接运行其chkrootkit可执行文件即可,它会对系统进行全面的rootkit检测 。
上面是chkrootkit基本用法,下面再来加深些印象,首先chkrootkit可通过h参数来查看基本的帮助信息,了解其他参数及用法,如下图。
示例
示例1:chkrootkit默认检索整个系统,我们可以通过管道去搜索INFECTED(被感染)关键字,方便查看。
我这里是刚装的新系统,chkrootkit不应该报结果,这里给出的是xorddos问题,经查证,当系统的临时目录tmp下有可执行文件时,chkrootkit就会报这个问题。
示例2:Chkrootkit也可检查系统命令是否受感染,例如ps、ls,截图如下。
示例3:chkrootkit可传入sniffer参数来检查网络接口是否处于混杂模式,混杂模式下的网络接口会接受所有经过自己的数据流,一般管理员调试或者黑客入侵搜集信息时会用到,而正常情况下网络接口都处于非混杂模式,即只接受目标地址是自己的数据流,wireshark抓包即混杂模式接受所有数据流。
问题
安装chkrootkit过程中遇到了一些问题,如下图。
首先时warning警告说是时间问题,编译出错原因是宿主机和虚拟机时间不同步导致,解决方法:在虚拟机中---->虚拟机---->设置--->选项---->vmware tools---->将客户机与虚拟机同步--->确定,如下图。
同时,还有一个错误是找不到lc,原因是在新版本linux系统下安装gcc-c++、glibc、glibc-devel这些时,都不会安装libc.a,只安装libc.so,所以编译使用到static时,libc.a没有,就会报错找不到lc,解决办法是安装glibc-static即可。例如yum(yum install glibc-static)。
总结
有些rootkit会替换系统中原有的命令程序,当执行相应的程序时,rootkit便会执行后续的恶意操作。而chkrootkit在检查过程中使用了部分系统命令给,所以当系统被入侵,则命令可能会被rootkit做了修改,这样chkrootkit的检测结果就会受到影响,我们在检测时把结果作为参考即可,并不能完全相信。同时我们也可以结合其他工具结果一块参考,例如rkhunter,关于rkhunter使用请参考另一篇文章。
网络攻防知识星球推荐,欢迎加入。
圈内会分享关于信息搜集、web渗透、内网安全、代码审计等东西,另外物联网安全也是趋势,我们平时的学习资料总结都会进行分享。
整体来说就是网络攻防这个大层面,或者说是网络安全,在这里我们创建一个纯净的技术交流平台,和密圈内的兄弟一块交流学习。