2024广东省职业技能大赛云计算赛项实战——chkrootkit安装与使用

chkrootkit安装与使用

前言

在今年比赛中有考到这样一道题,也是在公布的样卷中找到了它,今天就做做它并讲解一下:
公有云安全:入侵检测系统
使用提供的 makechk.tar.gz 包安装 chkrootkit 入侵检测工具,安装完毕后使用 chkrootkit 工具扫描系统,并将扫描结果保存到/var/log/chkrootkit/chkrootkit.log中

chkrootkit是一款用于检测UNIX系统上已知rootkit的开源工具。(rootkit是一种恶意软件,会获取对计算机系统的管理员访问权限,同时隐藏其存在)

虚拟机使用的是自行创建的CentOS7,如果你不会,那虚拟机创建的流程可以参考我这篇文章:职业技能大赛云计算赛项实战——OpenStack搭建-CSDN博客
使用镜像为CentOS-7-x86_64-DVD-2009.iso,可从阿里镜像站下载:https://mirrors.aliyun.com/centos/7/isos/x86_64/
需要用到的chkrootkit软件源代码及其依赖包:https://pan.baidu.com/s/15Mx8vu-i2sct6ayqIC2LcA?pwd=mlya
提取码:mlya

操作过程

上传软件源代码及其依赖

使用远程连接工具(SecureFX、XShell等等)将我提供的软件源代码和依赖上传到机子的主目录下

[root@localhost ~]# ls
anaconda-ks.cfg  chkrootkit.tar.gz  makechk.tar.gz

配置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

安装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
...
#在说明文档的这一段,我们可以知道目录里的那些包都是干嘛用的* chkrootkit: a shell script that checks system binaries forrootkit modification.
#这是一个shell脚本,用于检查系统二进制文件是否被rootkit修改过。我们后续使用命令也是执行这个脚本* ifpromisc.c: checks if the network interface is in promiscuousmode.
#用于检查网络接口是否处于混杂模式* 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 senseAfter that it is ready to use and you can simply type:# ./chkrootkit6. Usage--------chkrootkit must run as root.  The simplest way is:# ./chkrootkit
#编译安装
[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 `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
...

后语

持续更新…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音乐界的颠覆与挑战分析

最近的一个月,音乐界掀起了一场科技革命。一系列音乐大模型轮番上线,将素人生产音乐的门槛降到了最低。这一系列科技产品,不仅引发了大众对音乐产业未来发展的热烈讨论,也带来了新的挑战和问题。  一方面,这些AI音乐…

定时器-前端使用定时器3s轮询状态接口,2min为接口超时

背景 众所周知,后端是处理不了复杂的任务的,所以经过人家的技术讨论之后,把业务放在前端来实现。记录一下这次的离大谱需求吧。 如图所示,这个页面有5个列表,默认加载计划列表。但是由于后端的种种原因,这…

PHP XML: 解析、生成与操作指南

PHP XML: 解析、生成与操作指南 PHP,作为一种流行的服务器端脚本语言,提供了强大的功能来处理XML(可扩展标记语言)数据。XML是一种用于存储和传输数据的标记语言,它通过标签来标识数据。在Web开发中,XML常用于数据交换、配置文件和结构化文档。本文将详细介绍如何使用PH…

C++ | Leetcode C++题解之第171题Excel表列序号

题目: 题解: class Solution { public:int titleToNumber(string columnTitle) {int number 0;long multiple 1;for (int i columnTitle.size() - 1; i > 0; i--) {int k columnTitle[i] - A 1;number k * multiple;multiple * 26;}return num…

QT中利用QMovie实现动态加载效果

1、效果 2、代码 #include "widget.h" #include "ui_widget.h" #include <QLabel> #include <QMovie>

【Python Cookbook】S02E15 在文本中处理 HTML 和 XML 实体

目录 问题解决方案讨论 问题 我们如果想要将 HTML 实体以及 XML 实体内容替换成相对应的文本内容&#xff0c;怎么做&#xff1f; 解决方案 s "Elements are written as <tag>txt</tag>."import html print(html.escape(s)) print("-"*20,…

数据分析中如何理解透视表

透视表&#xff08;Pivot Table&#xff09;是数据分析中一种非常强大的工具&#xff0c;用于快速汇总、分析、探索和展示数据。透视表可以根据数据的不同维度和指标进行重组和计算&#xff0c;帮助用户从大量数据中提取有用的信息和发现数据中的模式和趋势。 透视表的基本概念…

在服务器上搭配大模型的运行环境详细版(docker+ollama+langchain等工具)

用到的工具 1.anaconda3环境安装 anaconda3导出环境 #导出环境 conda env export --name your_env_name > custom_environment.yaml #导入环境 conda env create -f environment.yaml2.前置的docker软件安装、docker镜像如何进行转移 sudo apt-get update #时期能访问阿…

在Linux/Ubuntu/Debian中使用SSH连接远程服务器VPS

在Linux/Ubuntu/Debian中使用SSH连接远程服务器VPS 在远程管理服务器时&#xff0c;SSH&#xff08;Secure Shell&#xff09;协议是我们常用的工具之一。它提供了一种加密的方式来访问和管理远程主机。默认情况下&#xff0c;SSH使用22端口&#xff0c;但有时我们需要通过指定…

Redisson-DelayedQueue-原理

归档 GitHub: Redisson-DelayedQueue-原理 Unit-Test RedissonDelayedQueueTest 常规测试 Test public void testCommon() throws InterruptedException {RBlockingQueue<String> destinationQueue redisson.getBlockingQueue("delay_queue"); // 目标队…

YOLOv10训练自己的数据集(图像目标检测)

目录 1、下载代码 2、环境配置 3、准备数据集 4、yolov10训练 可能会出现报错&#xff1a; 1、下载代码 源码地址&#xff1a;https://github.com/THU-MIG/yolov10 2、环境配置 打开源代码&#xff0c;在Terminal中&#xff0c;使用conda 创建虚拟环境配置 命令如下&a…

Python基础教程(二十五):内置函数整理

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Java基础入门day66

day66 内网穿透 NatApp NATAPP-内网穿透 基于ngrok的国内高速内网映射工具 开启您的内网穿透之旅 下载安装后&#xff0c;注册一个账号&#xff0c;可以免费使用内网穿透&#xff0c;不稳定&#xff0c;也可以自行选择收费版本 在下载好app的同级目录&#xff0c;放置一个con…

elementUI的table使用展开功能( type=“expand“ ),展开时合起上一次展开的内容,始终保持展开内容为一个,并且再次点击合起自身

直接上代码了没什么可讲的,主要是用到 row-key"id" :expand-row-keys"expands row-click"handleRowClick" <template><div class"ele-body"><el-card shadow"never"><!-- 数据表格 --><ele-pro-t…

将AI带入企业,红帽选择了开源

伴随着生成式AI与大模型技术的飞速发展&#xff0c;业界人士对于生成式AI应用在企业的落地也愈发关注。 近日在2024红帽媒体Open讲上&#xff0c;红帽全球副总裁兼大中华区总裁曹衡康深入剖析了AI在混合云中的应用及其带来的资源利用最大化优势&#xff0c;并同与会媒体共同探讨…

Redis-数据类型-List

文章目录 1、通过客户端连接redis2、切换到第二个数据库 db13、查看当前库所有key4、从左边插入一个或多个值5、按照索引下标获得元素(从左到右)6、针对key指定的list&#xff0c;从右边放入元素7、返回list集合的长度8、从左边弹出一个元素。弹出返回删除9、从右边弹出一个元素…

《米小圈动画汉字》汉字教育动画化:传统与创新的完美融合!

汉字&#xff0c;作为中华文化的瑰宝&#xff0c;承载着千百年来中华民族的智慧和思想。每一个汉字不仅仅是一个符号&#xff0c;更是一段历史的见证&#xff0c;一种文化的传承。在当今全球化的背景下&#xff0c;汉字教育面临着新的挑战与机遇。在这种背景下&#xff0c;如何…

关于如何得到Mindspore lite所需要的.ms模型

关于如何得到Mindspore lite所需要的.ms模型 一、.ckpt模型文件转.mindir模型二、.mindir模型转.ms模型三、其它3.1 代码3.2 数据 四、参考文档 一、.ckpt模型文件转.mindir模型 由于要得到ms模型&#xff0c;mindspore的所有模型里面&#xff0c;是必须要用mindir模型才可以进…

STM32C8T6与TB6612

好久没写博客了&#xff0c;今天水一篇 接线

【Unity设计模式】状态编程模式

前言 最近在学习Unity游戏设计模式&#xff0c;看到两本比较适合入门的书&#xff0c;一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式&#xff0c;因此很值得学习 本…