目录:
(一)Trojan Horse后门工具了解
(二)rootkit后门检测工具chkrootkit
(三)rootkit后门检测工具RKHunter
(一)Trojan Horse后门工具了解
(1.1)rootkit是Linux平台下最常见的一种Trojan Horse后门工具,它主要通过替换系统文件来达到attack和隐蔽的目的,这种Trojan Horse比普通Trojan Horse后门更加危险和隐蔽,普通的监测工具和检查手段很难发现这种Trojan Horse。rootkit的 accuse能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让 accuse者保住权限,以使它在任何时候都可以使用root权限登录到系统。
(1.2)rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍。
(1.2.1)文件级别的rootkit一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达到隐藏自己的目的。在系统遭受rootkit的 accuse后,合法的文件被Trojan Horse程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。通常容易被rootkit替换的系统程序有login、ls、ps、ifconfig、du、find、netstat等,其中login程序是最经常被替换的,因为当访问Linux时,无论是通过本地登录还是远程登录,/bin/login程序都会运行,系统将通过/bin/login来收集并核对用户的账号和密码,而rootkit就是利用这个程序的特点,使用一个带有权限后门密码的/bin/login来替换系统的/bin/login,这样accuse者通过输入设定好的密码就能轻松进入系统。此时,即使系统管理员修改root密码或者清除root密码,accuse者还是一样能通过root用户登录系统。accuse者通常在进入Linux系统后,会进行一系列的accuse动作,最常见的是安装嗅探器收集本机或者网络中其他服务器的重要数据。在默认情况下,Linux中也有一些文件系统会监控这些工具动作,例如ifconfig命令,所以,accuse者为了避免被发现,会想方设法替换其他文件系统,常见的就是ls、ps、ifconfig、du、find、netstat等。如果这些文件都被替换,那么在系统层面就很难发现rootkit已经在系统中运行了。这就是文件级别的rootkit,对系统危害很大,目前最有效的防御方法是定期对系统重要文件的完整性进行检查,如果发现文件被修改或者被替换,那么很可能系统已经遭受了rootkit的attack。检查文件完整性的工具很多,常见的有Tripwire、aide等,可以通过这些工具定期检查文件系统的完整性,以检测系统是否被rootkit的attack。
(1.2.2)内核级rootkit是比文件级rootkit更高级的一种attack方式,它可以使accuse者获得对系统底层的完全控制权,此时accuse者可以修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到attack者所选择的程序并运行此程序,也就是说,当用户要运行程序A时,被attack者修改过的内核会假装执行A程序,而实际上却执行了程序B。内核级rootkit主要依附在内核上,它并不对系统文件做任何修改,因此一般的监测工具很难检测到它的存在,这样一旦系统内核被植入rootkit,accuse者就可以对系统为所欲为而不被发现。目前对于内核级的rootkit还没有很好的防御工具,因此,做好系统安全防范就非常重要,将系统维持在最小权限内工作,只要accuse者不能获取root权限,就无法在内核中植入rootkit。
(二)rootkit后门检测工具chkrootkit
(2.1)chkrootkit是一个Linux系统下查找并检测rootkit后门的工具,chkrootkit没有包含在官方的CentOS源中,因此要采取手动编译的方法来安装,不过这种安装方法更加安全,chkrootkit的使用比较简单,直接执行chkrootkit命令即可自动开始检测系统。
(2.2)在vms001主机上首先安装gcc、gcc-c++、make等软件,接着安装Development Tools工具软件,并进入到/usr/local/src/目录中解压缩chkrootkit软件。
# yum install gcc gcc-c++ make -y
# yum groupinstall Development Tools -y
# cd /usr/local/src/---进入到/usr/local/src/目录中
# tar zxvf chkrootkit-0.49.tar.gz---在目录中解压chkrootkit软件包
(2.3)接着我们进入到chkrootkit-0.49/目录中,并执行make命令安装软件。
# make sense
(2.4)我们在系统中运行chkrootkit命令,一旦有INFECTED,说明可能被植入了rootkit
# ./chkrootkit | grep INFECTED
(2.5)我们直接执行chkrootkit可执行文件,从输出可以看出,此系统的常用执行命令并没有感染rootkit的Trojan Horse,不过对于系统来说最安全而有效的方法就是备份数据重新安装系统。
# ./chkrootkit
(2.6)chkrootkit在检查rootkit的过程中使用了部分系统命令,因此,如果服务器被hacker attacks,那么依赖的系统命令可能也已经被attack者替换,此时chkrootkit的监测结果将变得完全不可信。为了避免chkrootkit的这个问题,可以在服务器对外开放前,事先将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始系统命令让chkrootkit对rootkit进行检测。
(三)rootkit后门检测工具RKHunter
(3.1)RKHunter是一款专业的检测系统是否感染rootkit的工具,它通过执行一系列的脚本来确认服务器是否已经感染rootkit。在官方的资料中,RKHunter主要执行下面一系列的测试:①MD5校验测试,检测任何文件是否改动;②检测rootkit使用的二进制和系统工具文件;③检测特洛伊Trojan Horse程序的特征码;④检测大多常用程序的文件异常属性;⑤执行一些系统相关的测试,因为RKHunter可支持多个系统平台;⑥扫描任何混杂模式下的接口和后门程序常用的端口;⑦检测如/etc/rc.d/目录下的所有配置文件、日志文件、任何异常的隐藏文件等等,例如在检测/dev/.udev和/etc/.pwd.lock文件时候,系统被警告;⑧对一些使用常用端口的应用程序进行版本测试,如:Apache Web Server,Postfix等;⑨检测网络。
(3.2)首先我们安装RKHunter软件,先将rkhunter软件包解压缩,然后进入到rkhunter-1.4.6/目录中安装rkhunter软件。
# tar zxvf rkhunter-1.4.6.tar.gz---解压缩rkhunter软件包
# cd rkhunter-1.4.6/---进入到rkhunter-1.4.6/目录中
# ./installer.sh --install---安装rkhunter软件
(3.3)接着为基本系统程序建立校对样本,建议系统安装完成后就建立,并可以查看系统生成的校对样本。
# rkhunter --propupd---为基本系统程序建立校对样本
# ls /var/lib/rkhunter/db/rkhunter.dat---查看系统生成的校对样本
(3.4)接着我们执行检测命令
# rkhunter --check---执行检测命令
第一部分:检测系统命令,主要检测系统的二进制文件,这些文件最容易被rootkit进行accuse;[OK]表示正常,[Warning]表示由异常,[Not found]未找到。
第二部分:检测rootkit,主要检测常见的rootkit程序;[Not found]表示未感染。
第三部分:特殊或附加检测:对rootkit文件或目录检测、对恶意软件检测、对指定内核检测等。
第四部分:检测网络、系统端口、系统启动文件、系统用户和组配置、ssh配置、文件系统等
第五部分:应用程序版本检测
第六部分:总结服务器目前的安全状态
(3.5)在Linux终端使用rkhunter来检测,最大的好处在于每项的检测结果都有不同的颜色显示,如果是绿色的表示没有问题,如果是红色的,那就要引起关注了。另外,在执行检测的过程中,在每个部分检测完成后,需要以Enter键来继续。如果要让程序自动执行,可以执行如下命令:
# rkhunter --check --skip-keypress---如果我们不想每个部分都以Enter来继续,想要让程序自动持续执行可以加上--skip-keypress参数
(3.6)如果想让检测程序每天定时运行,那么可以制定计划任务。我们设定计划任务在每天9:30执行,会执行一次rkhunter命令并且自动执行Enter键,并将结果输出到/home/field/check_rkhunter/chk.txt文件中
—————— 本文至此结束,感谢阅读 ——————
原文地址:https://blog.51cto.com/13613726/2461905
时间: 2024-10-11 14:48:59