Chkrootkit 搜索核心系统程序并查找签名,同时将文件系统的遍历与产生的输出进行比较。如果该工具发现任何差异,它会有效地对抗它们,而不会让任何病毒损害您的服务器。
安装方法:
# centos7
yum -y install gcc
yum -y install gcc-c++
yum -y install make
# centos8
dnf -y install gcc
dnf -y install gcc-c++
dnf -y install make
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxf chkrootkit.tar.gz
cd chkrootkit-*
make sense
# 报错
/usr/bin/ld: 找不到 -lc
# 原因
在新版本的linux 系统 下安装 glibc-devel、glibc和gcc-c++ 时,都不会安装libc.a.** 只安装libc.so.** 所以当使用**-static** 时,libc.a C库不能使用。只能报错:找不到libc了 。
# 解决方法(安装glibc-static)
centos7:
sudo yum install -y glibc-static
centos8:
sudo dnf --enablerepo=powertools install -y glibc-static
cd ..
cp -r chkrootkit-* /usr/local/chkrootkit
rm -rf chkrootkit-*
使用方法:
示例1:
/usr/local/chkrootkit/chkrootkit
示例2:
chkrootkit默认检索整个系统,我们可以通过管道去搜索INFECTED(被感染)关键字,方便查看:
/usr/local/chkrootkit/chkrootkit | grep INFECTED
我这里是刚装的新系统,chkrootkit不应该报结果,这里给出的是xorddos问题,经查证,当系统的临时目录tmp下有可执行文件时,chkrootkit就会报这个问题。
示例3:
Chkrootkit也可检查系统命令是否受感染,例如ps、ls:
[root@3 tmp]# /usr/local/chkrootkit/chkrootkit ps ls
ROOTDIR is `/'
Checking `ps'... not infected
Checking `ls'... not infected
示例4:
chkrootkit可传入sniffer参数来检查网络接口是否处于混杂模式,混杂模式下的网络接口会接受所有经过自己的数据流,一般管理员调试或者黑客入侵搜集信息时会用到,而正常情况下网络接口都处于非混杂模式,即只接受目标地址是自己的数据流,wireshark抓包即混杂模式接受所有数据流。
[root@3 tmp]# /usr/local/chkrootkit/chkrootkit sniffer
ROOTDIR is `/'
Checking `sniffer'... not tested: can't exec ./ifpromisc