linux Rootkit检查

Rootkit是linux系统下常见一种木马后门程序,通过替换系统文件来达到隐藏和入侵的目的,攻击能力极强

Rootkit分类和原理:

  1. 隐藏进程
  2. 隐藏文件
  3. 隐藏网络端口
  4. 后门功能
  5. 键盘记录

Rootkit主要分一下两种

1 用户态:一般通过覆盖系统二进制和库文件来实现

2 内核态: 通常通过可加载内核模块将恶意代码直接加载进内核中

 

利用Chkrootkit检测Rootkit

Chkrootkit安装

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit-0.53.tar.gz

tar xf chkrootkit-0.53.tar.gz

cd chkrootkit-0.53

make sense

mv ../chkrootkit-0.53 /usr/local/chkrootkit

 

编译报错

make sense cc -static  -o strings-static strings.c /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status make: *** [strings-static] Error 1

解决

yum -y install glibc-static

 

Chkrootkit包含以下部分

linux Rootkit检查

chkproc 检查可加载内核模块木马的痕迹

chklastlog 检查lastlog是否被删除

chkwtmp 检查wtmp是否被删除

chkrootkit 用于检查系统二进制文件是否被Rootkit修改

strings-static 快捷的字符串被替换

chkutmp 检查utmp是否被删除

ifpromisc 检查网络端口是否处于混杂模式

chkdirs 检查可加载内核模块木马的痕迹

check_wtmpx 检查wtmpx是否被删除(仅适用于Solaris)

 

检查系统二进制文件是否被修改

/usr/local/chkrootkit/chkrootkit

linux Rootkit检查

输出结果中可能包含的状态字段

INFECTED     检测出了一个可能被已知Rootkit修改过的命令

not infected   未检出出任何已知Rootkit指纹

not tested     未执行测试,在以下情形中发生这种情况

  1. 这种测试是特定于某种操作系统的
  2. 这种测试依赖于外部程序,但这个程序不存在
  3. 给定了一些特定的命令行选项

not found  要检查命令对象不存在

Vulnerable but disabled  命令虽然被感染,但没有在使用中

 

 

利用Rkhunter检测Rootkit

安装Rkhunter

wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz

tar xf rkhunter-1.4.6.tar.gz
cd rkhunter-1.4.6/
./installer.sh --install

进行系统扫描

/usr/local/bin/rkhunter -c
linux Rootkit检查

linux Rootkit检查

Suspect files: 3  可疑文件数量

Possible rootkits: 0 可能Rootkit数量

执行完毕后,扫描日志会写入/var/log/rkhunter.log中

如果Suspect files和Possible rootkits不为0 则表示发现可疑文件,从日志中查找Warning的相关进行详细分析

linux Rootkit检查