当前位置: 首页 > 工具软件 > chkrootkit > 使用案例 >

rootkit后门检测工具chkrootkit

时浩波
2023-12-01

1.安装chkrootkit
yum -y install gcc gcc-c++ make
mkdir /mytools
cd /mytools/
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar -zxf chkrootkit.tar.gz
cd chkrootkit-0.52/
make sense

错误:
[root@localhost chkrootkit-0.52]# make sense
cc -static -o strings-static strings.c
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make: *** [strings-static] Error 1

解决:
cd /mytools/chkrootkit-0.52/
yum -y install glibc-static
make clean
make sense
ln -sv /mytools/chkrootkit-0.52/ /usr/local/chkrootkit

2.使用chkrootkit

检测:/usr/local/chkrootkit/chkrootkit
/usr/local/chkrootkit/chkrootkit |grep INFECTED (没有输出代表正常)

安装完的chkrootkit程序位于/mytools/chkrootkit-0.52/chkrootkit目录下,执行如下命令即可显示chkrootkit的详细用法:
[root@localhost local]# /mytools/chkrootkit-0.52/chkrootkit -h

[root@localhost local]# /usr/local/chkrootkit/chkrootkit -h
chkrootkit各个参数的含义如下所示。

参数含义
-h显示帮助信息
-v显示版本信息
-l显示测试内容
-ddebug模式,显示检测过程的相关指令程序
-q安静模式,只显示有问题的内容
-x高级模式,显示所有检测结果
-r dir设置指定的目录为根目录
-p dir1:dir2:dirN指定chkrootkit检测时使用系统命令的目录
-n跳过NFS连接的目录

chkrootkit的使用比较简单,直接执行chkrootkit命令即可自动开始检测系统。下面是某个系统的检测结果:

[root@localhost chkrootkit]# /usr/local/chkrootkit/chkrootkit
Checking ifconfig'... INFECTED<br/>Checkingls'... INFECTED
Checking login'... INFECTED<br/>Checkingnetstat'... INFECTED
Checking ps'... INFECTED<br/>Checkingtop'... INFECTED
Checking sshd'... not infected<br/>Checkingsyslogd'... not tested
Checking tar'... not infected<br/>Checkingtcpd'... not infected
Checking tcpdump'... not infected<br/>Checkingtelnetd'... not found
从输出可以看出,此系统的ifconfig、ls、login、netstat、ps和top命令已经被感染。针对被感染rootkit的系统,最安全而有效的方法就是备份数据重新安装系统。

3.chkrootkit的缺点
chkrootkit在检查rootkit的过程中使用了部分系统命令,因此,如果服务器被×××***,那么依赖的系统命令可能也已经被***者替换,此时chkrootkit的检测结果将变得完全不可信。为了避免chkrootkit的这个问题,可以在服务器对外开放前,事先将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始系统命令让chkrootkit对rootkit进行检测。这个过程可以通过下面的操作实现:

mkdir /usr/share/.commands
cp which --skip-alias awk cut echo find egrep id head ls netstat ps strings sed uname /usr/share/.commands
/usr/local/chkrootkit/chkrootkit -p /usr/share/.commands/
cd /usr/share/
tar zcvf commands.tar.gz .commands
rm -rf commands.tar.gz
上面这段操作是在/usr/share/下建立了一个.commands隐藏文件,然后将chkrootkit使用的系统命令进行备份到这个目录下。为了安全起见,可以将.commands目录压缩打包,然后下载到一个安全的地方进行备份,以后如果服务器遭受***,就可以将这个备份上传到服务器任意路径下,然后通过chkrootkit命令的“-p”参数指定这个路径进行检测即可。

转载于:https://blog.51cto.com/13810275/2280984

 类似资料: