Chkrootkit使用方法
所谓rootkit,是一类入侵者经常使用的工具。这类工具通常非常的隐秘、令用户不易察觉,通过这类工具,入侵者建立了一条能够常时入侵系统,或者说对系统进行实时控制的途径。所以,我们用自由软件chkrootkit来建立入侵监测系统,来保证对系统是否被安装了rootkit进行监测。chkrootkit在监测rootkit是否被安装的过程中,需要使用到一些操作系统本身的命令。但不排除一种情况,那就是入侵者有针对性的已经将chkrootkit使用的系统命令也做修改,使得chkrootkit无法监测rootkit,从而达到即使系统安装了chkrootkit也无法检测出rootkit的存在,从而依然对系统有着控制的途径,而达到入侵的目的。那样的话,用chkrootkit构建入侵监测系统将失去任何意义。对此,我们在操作系统刚被安装之后,或者说服务器开放之前,让chkrootkit就开始工作。而且,在服务器开放之前,备份chkrootkit使用的系统命令,在一些必要的时候(怀疑系统命令已被修改的情况等等),让chkrootkit使用初始备份的系统命令进行工作。
安装方法:
解压安装包
安装依赖包
yuminstallgccgcc-c++cmakemakeglibc-static–y
cdchkrootkit-0.50/
makesense
cp-rchkrootkit-0.50/usr/local/chkrootkit/
rm-rfchkrootkit-0.50/
好现在安装完成了。
刚才已经说过了,如果是在被入侵之后使用chkrootkit的话那就失去了意义,所以服务上线之前备份chkrootkit的系统命令。
安全提示:由于chkrootkit的检查过程使用了部分系统命令。因此,如果服务器被入侵,则依赖的系统命令可能也已经被入侵者做了手脚,chkrootkit的结果将变得完全不可信,甚至连系统ls等查看文件的基础命令也变得不可信。
让chkrootkit的监测自动化
#!/bin/bash
PATH=/usr/bin:/bin
TMPLOG=`mktemp`
#Runthechkrootkit
/usr/local/chkrootkit/chkrootkit>$TMPLOG
#Outputthelog
cat$TMPLOG|logger-tchkrootkit
#bindsheofSMTPSllHowtodosomewrongs
if[!-z"$(grep465$TMPLOG)"]&&\
[-z$(/usr/sbin/lsof-i:465|grepbindshell)];then
sed-i''/465/d''$TMPLOG
fi
#Iftherootkithavebeenfound,mailroot
[!-z"$(grepINFECTED$TMPLOG)"]&&\
grepINFECTED$TMPLOG|mail-s"chkrootkitreportin`hostname`"root
rm-f$TMPLOG
chmod700chkrootkit←赋予脚本可被执行的权限
mvchkrootkit/etc/cron.daily/←将脚本移动到每天自动运行的目录中或定时执行
chkrootkit相关的系统命令的备份
如前言所述,当chkrootkit使用的系统命令被入侵者更改后,chkrootkit对rootkit的监测将失效。所以,我们事前将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始命令,让chkrootkit对rootkit进行检测。
mkdir/root/commands/←建立暂时容纳命令备份的目录
cp`which--skip-aliasawkcutsshechoegrepfindheadidlsnetstatpsstringsseduname`/root/commands/←(连续输入无换行)备份系统命令到建立好的目录
/usr/local/chkrootkit/chkrootkit-p/root/commands|grepINFECTED←用备份的命令运行chkrootkit
tarcvf/root/commands.tar/root/commands/←将命令打包
gzip/root/commands.tar←将打包的文件压缩
然后将压缩后的commands.tar.gz用SCP软件下载到安全的地方
rm-rfcommands←为安全起见,删除服务器端备份的系统命令及相关文件
如果以后想通过备份的原始系统命令来运行chkrootkit的时候,只需用SCP软件将备份的命令打包压缩文件上传至服务器端已知位置并解压缩,然后运行在chkrootkit的时候指定相应的目录即可。例如,假设已经将备份上传至root用户目录的情况如下:
tarzxvf/root/commands.tar.gz←解开压缩的命令备份
/usr/local/chkrootkit/chkrootkit-p/root/commands|grepINFECTED←用备份的命令运行chkrootkit
然后在运行后删除相应遗留文件即可rootkithunter的安装使用
./installer.sh--layoutdefault--install
指令参数说明:
/usr/local/bin/rkhunter
Usage:rkhunter{--check|--update|--versioncheck|
--propupd[{filename|directory|packagename},...]|
--list[{tests|{lang|languages}|rootkits},...]|
--version|--help}[options]
Currentoptionsare:
--append-log在日志文件后追加日志,而不覆盖原有日志
--bindir...Usethespecifiedcommanddirectories
-c,--check检测当前系统
--cs2,--color-set2Usethesecondcolorsetforoutput
--configfile使用特定的配置文件
--cronjob作为cron定期运行
(包含参数-c,--sk,--nocolors)
--dbdirUsethespecifieddatabasedirectory
--debugDebug模式(不要使用除非要求使用)
--disable[,...]跳过指定检查对象(默认为无)
--display-logfile在最后显示日志文件内容
--enable[,...]对指定检测对象进行检查
(默认检测所有对象)
--hash{MD5|SHA1|NONE|使用指定的文件哈希函数
}(DefaultisSHA1)
-h,--help显示帮助菜单
--lang,--language指定使用的语言
(DefaultisEnglish)
--list[tests|languages|罗列测试对象明朝,使用语言,可检测的木马程序
rootkits]
-l,--logfile[file]写到指定的日志文件名
(Defaultis/var/log/rkhunter.log)
--noappend-log不追加日志,直接覆盖日志文件
--nocolors输出只显示黑白两色
--nolog不写入日志文件
--nomow,--no-mail-on-warning如果有警告信息,不发送邮件
--ns,--nosummary不显示检查结果的统计数据
--novl,--no-verbose-logging不显示详细记录
--pkgmgr{RPM|DPKG|BSD|使用特定的包管理用于文件的哈希值验证
NONE}(DefaultisNONE)
--propupd[file|directory|更新整个文件属性数据库或仅仅更新指定条目
package]...
-q,--quiet安静模式(nooutputatall)
--rwo,--report-warnings-only只显示警告信息
-r,--rootdir使用指定的root目录
--sk,--skip-keypress自动完成所有检测,跳过键盘输入
--summary显示检测结果的统计信息
(Thisisthedefault)
--syslog[facility.priority]记录检测启动和结束时间到系统日志中
(Defaultlevelisauthpriv.notice)
--tmpdir使用指定的临时目录
--update检测更新内容
--vl,--verbose-logging使用详细日志记录(onbydefault)
-V,--version显示版本信息
--versioncheck检测最新版本
-x,--autox当X在使用时,自动启动检测
-X,--no-autox当X在使用时,不自启检测
|
|