wazuh安装、Rootkit原理解析与检测实践

news2024/9/21 14:51:29

目录

1.wazuh

1)什么是wazuh

 2)安装wazuh

方法一:仓库安装(跟着官方文档走)

 方法二:虚拟机OVA安装

2.Rootkit原理解析与检测实践

Rootkit主要分为以下2种

解压并编译这个文件

 利用chkrootkit检查rootkit

chkrootkit安装

3.wazuh的规则、解码器等告警原理以及主动响应

1)主动响应

2)规则以及解码器

3)告警信息 


1.wazuh

1)什么是wazuh

Wazuh 是一个免费的开源安全平台,统一了 XDR 和 SIEM 功能。它可以保护本地、虚拟化、容器化和基于云的环境中的工作负载。

Wazuh 帮助组织和个人保护其数据资产免受安全威胁。它被全球数千个组织广泛使用,从小型企业到大型企业。

Wazuh的使用场景有:

入侵检测
日志数据分析
完整性检查
漏洞检测
配置评估
应急响应
云、容器安全等

 2)安装wazuh

方法一:仓库安装(跟着官方文档走)

地址:一体化部署 - 使用 Elastic Stack 安装 Wazuh

 方法二:虚拟机OVA安装

在浏览器里面下载一个ova,然后后面就更安装虚拟机一样就行

下载链接:https://packages.wazuh.com/4.x/vm/wazuh-4.2.5_1.13.2.ova

安装完成: 

2.Rootkit原理解析与检测实践

Rootkit主要分为以下2种

用户态Rootkit(User-mode Rootkit):一般通过覆盖系统二进制和库文件来实现。它具有如下的特点:

它通常替换的二进制文件为ps、netstat、du、ping、lsof、ssh、sshd等,例如已知的Linux t0rn rootkit(https://www.sans.org/security-resources/malwarefaq/t0rn-rootkit,访问日期:2019年2月11日)替换的文件就包括ps(用于隐藏进程)、du(用于隐藏特定文件和目录)。

它也可能使用环境变量LD_PRELOAD和/etc/ld.so.preload、/etc/ld.so.conf等加载黑客自定义的恶意库文件来实现隐藏。例如,beurk(GitHub - unix-thrust/beurk: BEURK Experimental Unix RootKit)这个Rootkit正是使用了这种技术。

它还可能直接在现有进程中加载恶意模块来实现隐藏。例如,在GitHub上托管的这个项目GitHub - ChristianPapathanasiou/apache-rootkit: A malicious Apache module with rootkit functionality就是在Apache进程中注入恶意动态加载库来实现远程控制和隐藏的Rootkit。

它不依赖于内核(Kernel-independent)。

需要为特定的平台而编译。

内核态Rootkit(Kernel-mode Rootkit):通常通过可加载内核模块(LoadableKernel Module,LKM)将恶意代码被直接加载进内核中。它具有如下的特点:

它直接访问/dev/{k,}mem。

更加隐蔽,更难以检测,通常包含后门。

在这里需要指出的是,用于获得root权限的漏洞利用工具不是Rootkit;用于获得root权限的漏洞利用工具被称为提权工具。通常情况下,黑客攻击的动作序列为:

(1)定位目标主机上的漏洞,这一般是通过网络扫描和Web应用扫描工具来实现的。

(2)利用漏洞提权。在步骤(1)中获得的权限可能不是root超级用户权限,此时黑客通过系统中的本地提权漏洞非法的获得root权限。

(3)提权成功后安装Rootkit。

(4)擦除痕迹,通过删除本地日志、操作历史等擦除痕迹。

(5)长期利用被植入了Rootkit的主机。黑客可能会把这些植入了Rootkit的主机作为挖矿机、发动DDoS分布式拒绝服务攻击的僵尸网络等等。

根据rootkit官方文档 下载beurk-dev.zip,并且传到虚拟机/root目录下: 

g​​​​​​​unix-thrust/beurk: BEURK Experimental Unix RootKit (github.com)icon-default.png?t=N6B9https://github.com/unix-thrust/beurk

解压并编译这个文件

root@ubuntu:~# unzip beurk-dev.zip 

root@ubuntu:~# cd beurk-dev/

 安装

    scp libselinux.so root@victim.com:/lib/
    ssh root@victim.com 'echo /lib/libselinux.so >> /etc/ld.so.preload'

 利用chkrootkit检查rootkit

Chkrootkit是本地化的检测rootkit迹象的安全工具,其官方网站是http://www.chkrootkit.org。Chkrootkit包含:

chkrootkit:这是一个shell脚本,用于检查系统二进制文件是否被rootkit修改。

ifpromisc.c:检查网络端口是否处于混杂模式(promiscuousmode)。

chklastlog.c:检查lastlog是否删除。

chkwtmp.c:检查wtmp是否删除。

check_wtmpx.c:检查wtmpx是否删除(仅适用于Solaris)

chkproc.c:检查可加载内核模块木马的痕迹。

chkdirs.c:检查可加载内核模块木马的痕迹。

strings.c:快捷的字符串替换。

chkutmp.c:检查utmp是否删除

chkrootkit安装

cd /opt #进入/opt目录
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz #下载源码包
2019-02-11 11:25:35 (17.9 KB/s) -‘chkrootkit.tar.gz’ saved [40031] #完成下载源码包
wgetftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5 #下载md5校验文件
2019-02-11 11:25:53 (3.18 MB/s) -‘chkrootkit.md5’ saved [52] #完成下载md5校验文件
md5sum chkrootkit.tar.gz #计算源码包md5
0c864b41cae9ef9381292b51104b0a04  chkrootkit.tar.gz #md5计算结果
cat chkrootkit.md5 #查看md5校验文件内容
0c864b41cae9ef9381292b51104b0a04  chkrootkit.tar.gz #和已下载源码包md5对比,文件完整性校验通过
tar zxvf chkrootkit.tar.gz #解压源码包
cd chkrootkit-0.52 #进入源码包解压目录make sense #编译安装

在/opt/chkrootkit-0.52/目录下存储了编译后的二进制文件和相关脚本。执行Rootkit检查的命令如下 

cd /opt/chkrootkit-0.52
./chkrootkit

3.wazuh的规则、解码器等告警原理以及主动响应

1)主动响应

主动响应的主要作用是检测到危险或者是告警之后,在一定条件下(比如告警等级大于7或者触发了某条或多条规则),可以做出一系列反应来禁止入侵者访问或登录你的系统。主动响应的脚本在/var/ossec/active-response/bin目录下

2)规则以及解码器

规则

用户的自定义规则是在/var/ossec/etc/rules目录下

wazuh的规则在/var/ossec/ruleset/rules目录下

解码器 

Wazuh中的解码器就是从特定类型的事件中提取相关数据。解码分为预解码阶段和解码阶段。

预解码阶段:从已知字段(如syslog记录头中的字段)提取静态信息。这通常包括时间戳、主机名和程序名,这些值通常在所有syslog消息中都能找到,而不管哪个应用程序生成它们。
解码阶段:将从事件中提取更多的动态信息,如源IP地址、用户名、URL等等。一个或多个解码器专门用于从许多不同的应用程序和日志源中提取字段数据。

3)告警信息 

日志的目录是在/var/ossec/logs/alerts目录下

以.json结尾的文件是json格式的日志,主要用于ELK分析展示

以.log结尾的文件是我们查看起来比较方便的格式

 

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

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

相关文章

看了这么多热闹,AI帮助你解决实际问题了吗?

经历了近两个月的日更之后,这个星期发文频率有所下降,日更需要花费更多的时间精力,而这恰恰是一个人忙起来之后无法保证的。后续发文频率稍做调整,内容会继续保持更新。 前几日小米发布会(雷老板2023年度演讲&#xff…

EndNote-文献管理工具【安装篇】

下载:(文末附安装包,建议使用这一个,官网都需要付费) 打开安装包,双击: 安装完了之后不要直接运行,因为EndNote软件少了一个类型的软件:GB/T17714。 因此我们需要把这个…

实现两个栈模拟队列

实现两个栈模拟队列 思路:可以想象一下左手和右手,两个栈:stack1(数据所在的栈) ,stack2(临时存放)。 入队:需要将入队 num 加在 stack1 的栈顶即可; 出队&am…

plt绘制箱型图+散点图

import numpy as np import matplotlib.pyplot as plt# 创建示例数据 np.random.seed(1) data [np.random.normal(0, std, 100) for std in range(1, 4)]# 绘制箱型图 plt.boxplot(data, patch_artistTrue,zorder0)# 添加数据点的散点图,并设置参数以避免重叠 for …

[四次挥手]TCP四次挥手握手由入门到精通(知识精讲)

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

Pytorch的torch.utils.data中Dataset以及DataLoader等详解

在我们进行深度学习的过程中,不免要用到数据集,那么数据集是如何加载到我们的模型中进行训练的呢?以往我们大多数初学者肯定都是拿网上的代码直接用,但是它底层的原理到底是什么还是不太清楚。所以今天就从内置的Dataset函数和自定…

【Go】Go 文本匹配 - 正则表达式基础与编程中的应用 (8000+字)

正则表达式(Regular Expression, 缩写常用regex, regexp表示)是计算机科学中的一个概念,很多高级语言都支持正则表达式。 目录 何为正则表达式 语法规则 普通字符 字符转义 限定符 定位符 分组构造 模式匹配 regexp包 MatchString…

websocker无法注入依赖

在公司中准备用websocker统计在线人数,在WebSocketServer使用StringRedisTemplate保存数据到redis中去,但是在保存的时候显示 StringRedisTemplate变量为null 详细问题 2023-08-20 10:37:14.109 ERROR 28240 --- [nio-7125-exec-1] o.a.t.websocket.po…

【AI】文心一言的使用

一、获得内测资格: 1、点击网页链接申请:https://yiyan.baidu.com/ 2、点击加入体验,等待通过 二、获得AI伙伴内测名额 1、收到短信通知,点击链接 网页Link:https://chat.baidu.com/page/launch.html?fa&sourc…

LeetCode_Java_2236. 判断根结点是否等于子结点之和

2236. 判断根结点是否等于子结点之和 给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左子结点和右子结点。 如果根结点值等于两个子结点值之和,返回 true ,否则返回 false 。 示例1 输入:roo…

【CMake保姆级教程】CMake的使用

文章目录 前言CMake的使用注释注释行注释块 CMake操作共处一室VIP 包房 前言 在上节课我们已经讲了CMake的安装和简单使用,本节课我们来讲解CMake的命令和他的含义 CMake的使用 CMake支持大写、小写、混合大小写的命令。如果在编写CMakeLists.txt文件时使用的工具…

vue3中的router和useRouter的区别

结论:从vue-router的官方文档中发现,useRouter需要在setup中使用,而router可以在任何组件中使用。二者是等价的,适用场景不同。 问题:使用useRouter创建的实例,未能成功调用方法push()。会报错:…

gdb 常用命令

gdb 常用命令 文章目录 gdb 常用命令gdb 调试一般步骤常用命令infostep、next、continue、finish、untilexaminebreakinfo 、enable、disable和delete命令 backtrace和framebacktraceframe listprintwhatis和ptypethreadnext、stepreturn、finishuntiljumpdisassembleset args …

攻防世界-can_has_stdio?

原题 解题思路 这使用的是brainfuck语言,语言介绍如下:Brainfuck详解。 使用网站解码即可:CTF在线工具。

《HeadFirst设计模式(第二版)》第十一章代码——代理模式

代码文件目录: RMI: MyRemote package Chapter11_ProxyPattern.RMI;import java.rmi.Remote; import java.rmi.RemoteException;public interface MyRemote extends Remote {public String sayHello() throws RemoteException; }MyRemoteClient packa…

前端Vue自定义等分底部菜单导航按钮 自适应文字宽度 可更改组件位置

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

Windows 平台下微软开发的神器 PowerToys 使用笔记

文章目录 Part.I IntroductionPart.II 安装Part.III 常用操作Chap.I 快捷键Chap.II 分屏示例 Reference Part.I Introduction PowerToys 是一款来自微软的系统增强工具,就像是一个神奇的 Win10 外挂,整套软件由若干子组件构成,包括&#xff…

从零开始创建 Spring Cloud 分布式项目,不会你打我

目录 一、Spring Cloud 和 分布式 二、创建新项目 三、导入 Spring Cloud 依赖 四、配置 Spring Cloud 一、Spring Cloud 和 分布式 Spring Cloud是一个基于Spring框架的开源微服务框架,它提供了一系列工具和组件,用于帮助开发人员构建分布式系统中…

EndNote极简入门【如何使用】

在开始菜单栏打开: (点左下角忽略即可) 第一次打开呢就如下图所示: 空白的,只有一个灰色的界面: 新建一个自己库: 然后就会弹出东西啦: 导出endnote学术期刊的引文:&…

人工智能时代未来程序员必备的三大利器:异,理,说

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…