配色: 字号:
chkrootkit
2016-07-08 | 阅:  转:  |  分享 
  
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在使用时,不自启检测























献花(0)
+1
(本文系苏鱼鱼的IT...首藏)