广东省赛题
[root@localhost ~]# ls
anaconda-ks.cfg chkrootkit.tar.gz makechk.tar.gz
1
2
配置YUM源
#将安装chkrootkit所需的依赖包解压至/opt目录
[root@localhost ~]# tar -zxf makechk.tar.gz -C /opt/
[root@localhost ~]# ls /opt
makechk
#删除系统自带的默认源
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
#创建新的仓库文件
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[makechk]
name=makechk
baseurl=file:///opt/makechk
enabled=1
gpgcheck=0
1
2
3
4
5
6
7
8
9
10
11
12
13
安装chkrootkit
#安装所需依赖
[root@localhost ~]# yum -y install gcc gcc-c++ make glibc-static
#解压chkrootkit源代码压缩包
[root@localhost ~]# tar -zxf chkrootkit.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg chkrootkit-0.55 chkrootkit.tar.gz makechk.tar.gz
#进入其目录
[root@localhost ~]# cd chkrootkit-0.55/
[root@localhost chkrootkit-0.55]#
#进入其目录我们可以看到有很多文件
[root@localhost chkrootkit-0.55]# ls
ACKNOWLEDGMENTS chkproc.c chkwtmp.c patch strings.c
check_wtmpx.c chkrootkit COPYRIGHT README
chkdirs.c chkrootkit.lsm ifpromisc.c README.chklastlog
chklastlog.c chkutmp.c Makefile README.chkwtmp
#我们可以查看它的说明文档README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
#在说明文档的这一段,我们可以知道目录里的那些包都是干嘛用的
* chkrootkit: a shell script that checks system binaries for
rootkit modification.
#这是一个shell脚本,用于检查系统二进制文件是否被rootkit修改过。我们后续使用命令也是执行这个脚本
* ifpromisc.c: checks if the network interface is in promiscuous
mode.
#用于检查网络接口是否处于混杂模式
* chklastlog.c: checks for lastlog deletions.
#用于检查lastlog文件是否被删除。lastlog文件是记录了用户最后一次登录信息的文件,只有root用户才能直接读取它。这个文件可以帮助我们监控用户的活动,并可用于安全审计和故障排查
* chkwtmp.c: checks for wtmp deletions.
#用于检查wtmp文件是否被删除。wtmp文件是记录所有用户登录和注销信息的文件,也是只有root用户才能直接读取它,对于系统安全和管理非常重要
* check_wtmpx.c: checks for wtmpx deletions. (Solaris only)
#用于检查wtmpx文件是否被删除,仅适用于Solaris系统
* chkproc.c: checks for signs of LKM trojans.
* chkdirs.c: checks for signs of LKM trojans.
#上面这俩都是用于检测恶意的可加载内核模块的,trojans应该都不陌生,就是特洛伊木马,而LKM(Loadable Kernel Module),即可加载内核模块。内核是操作系统的核心部分,负责管理和控制系统的各种资源和功能。内核模块是一种动态加载到内核中的软件组件,用于扩展内核的功能。LKM允许在运行的系统中动态地加载和卸载模块,而无需重新启动系统。也正因为LKM具有强大的特权级别和直接访问系统内核的能力,监测和识别系统中是否存在可疑的LKM模块才格外重要。
* strings.c: quick and dirty strings replacement.
#用于快速替换字符串,解释里的dirty并不是说这个字符串很脏,而是替换字符串的方法不规范、不优雅、不够严谨或不完善,因此说成脏~
* chkutmp.c: checks for utmp deletions.
#用于检查utmp文件是否被删除,utmp文件是记录系统上当前登录用户的相关信息的文件,上面提到的wtmp文件是记录所有用户的,你可以把wtmp文件看成是是 utmp文件的历史记录。
...
#说明文档的这一段,告诉了我们chkrootkit的安装方法以及简单的使用方法,我们直接照做就好了
5. Installation
---------------
To compile the C programs type:
# make sense
After that it is ready to use and you can simply type:
# ./chkrootkit
6. Usage
--------
chkrootkit must run as root. The simplest way is:
# ./chkrootkit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#编译安装
[root@localhost chkrootkit-0.55]# make sense
cc -DHAVE_LASTLOG_H -o chklastlog chklastlog.c
cc -DHAVE_LASTLOG_H -o chkwtmp chkwtmp.c
cc -DHAVE_LASTLOG_H -D_FILE_OFFSET_BITS=64 -o ifpromisc ifpromisc.c
cc -o chkproc chkproc.c
cc -o chkdirs chkdirs.c
cc -o check_wtmpx check_wtmpx.c
cc -static -o strings-static strings.c
cc -o chkutmp chkutmp.c
#创建日志文件
[root@localhost chkrootkit-0.55]# mkdir -p /var/log/chkrootkit
[root@localhost chkrootkit-0.55]# touch /var/log/chkrootkit/chkrootkit.log
#使用检测命令,将结果保存到日志文件当中
[root@localhost chkrootkit-0.55]# ./chkrootkit > /var/log/chkrootkit/chkrootkit.log
#可以去看一下检测出来的结果
[root@localhost chkrootkit-0.55]# vi /var/log/chkrootkit/chkrootkit.log
ROOTDIR is `/'
- 点赞
- 收藏
- 关注作者
评论(0)