wazuh初探系列二 :Wazuh功能初步探知

目录

介绍

主动响应:

监控日志

"bin"目录用途:

告警信息:

etc 目录中包含了以下主要的配置文件:

ruleset:自带规则库,建议不改

rules目录:

解码器:

登录日志格式:

日志信息:

解码器解码后进入规则匹配部分:

查看规则

初步感知

1、找到ssh登录日志

2、进入解码器寻找匹配的解码值

查看ssh登录对于解码值​​​​​​​

查看0095解码值:

查看ssh解码器如何解码:

3、实时监控日志在/logs/alerts下

4、基于cmd ssh到这台服务器上,输入错误密码

监控端同步监控显示登录密码输入错误失败

(1)查询5557的含义:

(2)查询0085规则

(3)查询解码器规则——unix_chkpwd

寻找0035:

查看5557规则是否以unix_chkpwd开头:

查询日志信息:

查看安全日志:

失败登录日志:

(4)寻找pam解码器:

wazuh第二条匹配规则:

总结:wazuh登录匹配过程

多次登录失败会触发暴力破解

Wazuh配置文件解析:

linux检测后门:

linux后门:

测试:建立一个mclinZokhb文件夹


介绍

服务器端安装了wazuh的服务后,服务自动就会采集本台服务器上的信息,服务器上不需要再装agent 默认目录为:

cd /var/ossec/

主动响应:

active-response:响应的脚本

[root@wazuh-server ossec]# cd active-response

[root@wazuh-server active-response]# ls -al

监控日志

[root@wazuh-server ossec]# cd etc/

[root@wazuh-server etc]# vim ossec.conf

"bin"目录用途:

"bin"目录中包含了许多用于执行不同功能的命令行工具和可执行文件。这些工具和文件可以用于操作、管理和扩展Wazuh,包括以下常见的用途:

agent-auth:用于生成Wazuh代理的身份验证密钥,以便将代理注册到Wazuh服务器。

​ manage_agents:用于管理Wazuh代理,包括添加、删除、启用、禁用代理等操作。

logtest:用于测试和验证Wazuh规则对于特定日志的匹配情况。

ossec-control:用于控制与Wazuh相关的服务和进程,如启动、停止、重启Wazuh服务器和客户端代理等。

ossec-logcollector、ossec-remoted、ossec-analysisd等:这些工具是Wazuh的核心组件,用于日志收集、远程通信和事件分析等功能。

脚本:

[root@wazuh-server active-response]# cd bin/

[root@wazuh-server bin]# ls -al 

告警信息:

log:日志,预警核心

[root@wazuh-server ossec]# cd logs/

以下两个目录记录了何时、触发了哪些规则

/var/ossec/logs/alerts/alerts.json:json格式的预警信息,用于分析展示

/var/ossec/logs/alerts/alerts.log:适用于直接查看xxxxxxxxxx 以下两个目录记录了何时、触发了哪些规则

/var/ossec/logs/alerts/alerts.json:json格式的预警信息,用于分析展示

/var/ossec/logs/alerts/alerts.log:适用于直接查看告警信息最终在这个文件夹中:

在wazuh中,告警信息在这里:

etc 目录中包含了以下主要的配置文件:

1. ossec.conf:这是Wazuh的主要配置文件,定义了Wazuh代理的行为和设置,包括与各种日志源的集成、警报级别、远程通信设置等。

2. internal_options.conf:该文件包含了设置Wazuh的内部选项和行为的配置信息,用于配置Wazuh的内部操作、处理规则和事件转发等。

3. decoders、rules、lists目录:这些目录包含了Wazuh规则、解码器和列表的配置文件,用于定义Wazuh如何解析和处理不同类型的日志和事件。 ​

4. "etc" 目录存储了Wazuh的配置文件,使系统管理员可以在安装中进行必要的设置和自定义,以满足特定的安全监测和威胁检测需求。

ruleset:自带规则库,建议不改

rules目录:

rules目录是用于存储安全规则文件的目录,定义了Wazuh如何监控和响应不同类型的安全事件

 agentless:无代理安装,即用户名密码

解码器:

[root@wazuh-server ruleset]# cd decoders/

[root@wazuh-server decoders]# ls -al

[root@wazuh-server decoders]# grep -r -i "sshd"

登录日志格式:

[root@wazuh-server decoders]# vim 0310-ssh_decoders.xml

日志信息:

[root@wazuh-server ~]# cd /var/log

[root@wazuh-server log]# cat secure

解码器解码后进入规则匹配部分:

[root@wazuh-server ossec]# cd ruleset/

[root@wazuh-server ruleset]# cd rules/

查看规则

以0095为例:进入解码值寻找对应值

[root@wazuh-server etc]# cd ../ruleset/rules/

[root@wazuh-server rules]# ls -al

[root@wazuh-servet rules]# vim 0095-sshd_rules.xml

在wazuh对应的监控警告值为:

初步感知

hids基于主机的ids,所以监控的都是主机上的各种信息,文件夹或者命令执行结果等,看核心配置中的目录监控,可以看到监控了登录日志

1、找到ssh登录日志

[root@wazuh-server ~]# cd /var/ossec/

[root@wazuh-server ossec]# cd ets/

-bash: cd: ets/: No such file or directory

[root@wazuh-server ossec]# cd etc/

[root@wazuh-server etc]# vim occess.conf

2、进入解码器寻找匹配的解码值

查看ssh登录对于解码值

[root@wazuh-server ~]# cd /var/ossec/ruleset/rules

查看0095解码值:

[root@wazuh-server ossec]# cd ruleset/rules/

[root@wazuh-server rules]# ls -al

[root@wazuh-server rules]# vim 0095-sshd_rules.xml

查看ssh解码器如何解码:

[root@wazuh-server ruleset]# cd decoders/

[root@wazuh-server decoders]# grep -r -i "sshd"

 可见解码是0310:

[root@wazuh-server decoders]# ls -al

登录成功日志:

[root@wazuh-server log]# cat secure

3、实时监控日志在/logs/alerts下

[root@wazuh-server alerts]# tail -f alerts.log

此时已经进入监控状态

4、基于cmd ssh到这台服务器上,输入错误密码

输入三次密码错误自动退出登录:

监控端同步监控显示登录密码输入错误失败

首次触发规则:5557

(1)查询5557的含义:

[root@wazuh-server rules]# find . -type f -name "*.xml" -print0 | xargs -0 grep -r -i "5557"

由此可见规则是0085

(2)查询0085规则

[root@wazuh-server rules]# vim 0085-pam_rules.xml[root@wazuh-server rules]# vim 0085-pam_rules.xml

查询5557:

其中5557对于的父类规则为5556

父类规则5556的解码器——unix_chkpwd

(3)查询解码器规则——unix_chkpwd

[root@wazuh-server ~]# cd /var/ossec/ruleset/decoders/

[root@wazuh-server decoders]# grep -r -i "unix_chkpwd"

寻找0035:

[root@wazuh-server decoders]# vim 0350-unix_decoders.xml

此时监控已触发

查看5557规则是否以unix_chkpwd开头:

查询日志信息:

[root@wazuh-server wazuh-user]# cd /var/log/

[root@wazuh-server log]# ls -al

筛选到安全信息日志:

查看安全日志:

[root@wazuh-server log]# cat secure-20230820

失败登录日志:

(4)寻找pam解码器:

wazuh第二条匹配规则:

[root@wazuh-server decoders]# ls -al | grep pam

总结:wazuh登录匹配过程

  1. wazuh接收到数据后先进行日志分析

  2. 将分析的日志发送到相应的解码器中,通过解码器进行解码

  3. 解码完后发送到相应的规则,把解码完的数据通过规则再次进行匹配

  4. 匹配完成后展示到wazuh Security events日志中

多次登录失败会触发暴力破解

  

Wazuh配置文件解析:

<ossec_config>:这是配置文件的根元素。
​
<global>:在<global>元素下,可以配置与全局设置相关的参数。以下是其中一些重要参数:
​
<jsonout_output>yes</jsonout_output>:允许将输出转换为JSON格式。
​
<alerts_log>yes</alerts_log>:启用将警报记录到alerts.log文件中。
​
<logall>no</logall>:禁止将所有日志记录到数据库。
​
<logall_json>no</logall_json>:禁用将所有日志记录为JSON格式。
​
<email_notification>no</email_notification>:禁用电子邮件通知功能。
​
<smtp_server>smtp.example.wazuh.com</smtp_server>:SMTP服务器地址。
​
<email_from>wazuh@example.wazuh.com</email_from>:电子邮件通知的发件人地址。
​
<email_to>recipient@example.wazuh.com</email_to>:电子邮件通知的收件人地址。
​
<email_maxperhour>12</email_maxperhour>:每小时发送的最大电子邮件通知数量。
​
<email_log_source>alerts.log</email_log_source>:将警报记录到日志文件alerts.log中。
​
<agents_disconnection_time>10m</agents_disconnection_time>:启动计时器以检测代理与Wazuh服务器的连接中断的时间,此处设置为10分钟。
​
<agents_disconnection_alert_time>0</agents_disconnection_alert_time>:如果代理与Wazuh服务器的连接中断超过设置的时间,将发出警报。
​
<alerts>:在<alerts>元素下,可以配置与警报相关的参数。以下是其中两个重要参数:
​
<log_alert_level>3</log_alert_level>:将日志记录的警报级别设置为3(默认为7),表示只记录高级别的警报。
​
<email_alert_level>12</email_alert_level>:设置通过电子邮件发送的警报级别为12(默认为12),表示发送所有级别的警报。
​
<logging>:在<logging>元素下,可以配置日志格式相关的参数。以下是其中一个重要参数:
​
<log_format>plain</log_format>:将内部日志记录格式设置为简单文本格式。

linux检测后门:

[root@wazuh-server ossec]# cd etc/
[root@wazuh-server etc]# ls -al

 

[root@wazuh-server etc]# cd rootcheck/

linux后门:

[root@wazuh-server rootcheck]# vim rootkit_files.txt

测试:建立一个mclinZokhb文件夹

[root@wazuh-server alerts]# cd /tmp/

[root@wazuh-server tmp]# touch mcliZokhb

重启wazuh服务器

[root@wazuh-server tmp]# systemctl restart wazuh-manager

此时,告警信息已检测到:

[root@wazuh-server rootcheck]# vim rootkit_trojans.txt 

检测恶意工具有无被替换——以bin/sh开头的恶意代码

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

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

相关文章

财务数据分析模板有哪些,能满足决策吗?

虽然企业的业务经营各有不同&#xff0c;但在财务数据分析上却有着相似的需求与流程&#xff0c;因此财务数据分析是可以形成一套标准化模板的。奥威BI数据可视化工具从多年丰富的BI项目中总结经验&#xff0c;形成一套标准化、系统化的财务数据分析模板&#xff0c;内含资产负…

CentOS中Oracle11g进程有哪些

最近遇到Oracle数据库运行过程实例进程由于某种原因导致中止的问题&#xff0c;专门看了下正常Oracle数据库启动后的进程有哪些&#xff0c;查阅资料了解了下各进程的作用&#xff0c;记录如下。 oracle 3032 1 0 07:36 ? 00:00:00 ora_pmon_orcl oracle …

最优的家电设备交互方式是什么?详解家电设备交互的演进之旅

家电&#xff0c;在人们的日常生活中扮演着不可或缺的角色&#xff0c;也是提升人们幸福感的重要组成部分&#xff0c;那你了解家电的发展史吗&#xff1f; 70年代 结婚流行“四大件”&#xff1a;手表、自行车、缝纫机&#xff0c;收音机&#xff0c;合成“三转一响”。 80年…

git 回滚相关问题

原本用as自带的git执行回滚任务&#xff0c; 但是提交之后发现并没有成功&#xff0c; 后面通过命令行的方式重新回滚并且提交上去&#xff0c;就可以了 说明as的git还是有点小瑕疵&#xff0c;还是命令行最稳妥 相关博文&#xff1a; git代码回滚操作_imkaifan的博客-CSDN博…

网络安全(大厂)面试题

以下为网络安全各个方向涉及的面试题&#xff0c;星数越多代表问题出现的几率越大&#xff0c;祝各位都能找到满意的工作。 注&#xff1a;本套面试题&#xff0c;已整理成pdf文档&#xff0c;但内容还在持续更新中&#xff0c;因为无论如何都不可能覆盖所有的面试问题&#xf…

Springboot 自定义 Mybatis拦截器,实现 动态查询条件SQL自动组装拼接(玩具)

前言 ps&#xff1a;最近在参与3100保卫战&#xff0c;战况很激烈&#xff0c;刚刚打完仗&#xff0c;来更新一下之前写了一半的博客。 该篇针对日常写查询的时候&#xff0c;那些动态条件sql 做个简单的封装&#xff0c;自动生成&#xff08;抛砖引玉&#xff0c;搞个小玩具&a…

Shell语法揭秘:深入探讨常见Linux Shell之间的语法转换

深入探讨常见Linux Shell之间的语法转换 一、引言二、Linux常用Shell&#xff1a;Bash、Zsh、Ksh、Csh、Tcsh和Fish的简介2.1、Bash、Zsh、Ksh、Csh、Tcsh和Fish的特点和用途2.2、语法差异是常见Shell之间的主要区别 三、变量和环境设置的语法差异3.1、变量定义和使用的不同语法…

【算法】活用双指针完成复写零操作

Problem: 1089. 复写零 文章目录 题目解析算法原理分析找到最后一个复写的位置从后往前进行复写操作 代码展示 题目解析 首先我们来分析一下本题的题目意思 可以看到题目中给到了一个数组&#xff0c;意思是让我们将数组中的零元素都复写一遍&#xff0c;然后将其余的元素向后平…

无涯教程-PHP - preg_grep()函数

preg_grep() - 语法 array preg_grep ( string $pattern, array $input [, int $flags] ); 返回由与给定模式匹配的输入数组元素组成的数组。 如果将flag设置为PREG_GREP_INVERT&#xff0c;则此函数返回输入数组中与给定模式不匹配的元素。 preg_grep() - 返回值 返回使用…

odoo安装启动遇到的问题

问题&#xff1a;在第一次加载odoo配置文件的时候&#xff0c;启动失败 方法&#xff1a; 1、先检查odoo.conf的内容&#xff0c;尤其是路径 [options] ; This is the password that allows database operations: ; admin_passwd admin db_host 127.0.0.1 db_port 5432 d…

React(8)

千锋学习视频https://www.bilibili.com/video/BV1dP4y1c7qd?p72&spm_id_frompageDriver&vd_sourcef07a5c4baae42e64ab4bebdd9f3cd1b3 1.React 路由 1.1 什么是路由&#xff1f; 路由是根据不同的 url 地址展示不同的内容或页面。 一个针对React而设计的路由解决方案…

如何使用 Docker Compose 运行 OSS Wordle 克隆

了解如何使用 Docker Compose 在五分钟内运行您自己的流行 Wordle 克隆实例。您将如何部署 Wordle&#xff1f; Wordle在 2021 年底发布后席卷了互联网。对于许多人来说&#xff0c;这仍然是一种早晨的仪式&#xff0c;与一杯咖啡和一天的开始完美搭配。作为一名 DevOps 工程师…

SQL Server 执行报错: “minus“ 附近有语法错误。

sql server 执行带 minus 的语句一直报错&#xff0c;如下图&#xff1a; 找了好久才知道minus是Oracle里面的语法&#xff0c;SQL server 应用 EXCEPT。

存储IO路径:Linux下的“快递之旅”

相信大家都有过网购的经历,当我们在电商平台上浏览心仪的商品并下单时,快递小哥会负责将物品从商家手中送至我们手中。在这个过程中,快递小哥需要经过一系列的流程才能将物品准确送达。同样,在Linux系统中,当用户下发一笔读写操作时,这些数据也需要经过一系列的流程才能最…

【面试】项目经理面试题

文章目录 一、项目管理面试中通常会问到的问题1.项目管理软件工具知识2.做项目计划的技能3.人员管理技能4.沟通技巧5.方法论知识 二、问面试官的问题三. 面试系列推荐 一、项目管理面试中通常会问到的问题 1.项目管理软件工具知识 问题 1: 工期和工作量之间的差异是什么? 答案…

Shell 编程快速入门 之 数学计算和函数基础

目录 1. 求两数之和 整数之和 浮点数之和 2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别 3. shell函数基础知识 函数定义 函数名 函数体 参数 返回值 return返回值的含义 return与…

opencv 进阶16-基于FAST特征和BRIEF描述符的ORB(图像匹配)

在计算机视觉领域&#xff0c;从图像中提取和匹配特征的能力对于对象识别、图像拼接和相机定位等任务至关重要。实现这一目标的一种流行方法是 ORB&#xff08;Oriented FAST and Rotated Brief&#xff09;特征检测器和描述符。ORB 由 Ethan Rublee 等人开发&#xff0c;结合了…

基于STC15单片机-LM35-DS8B20温度测量-DS1302计时-proteus仿真-源程序

一、系统方案 本设计采用STC15单片机作为主控器。 DS18B20采集温度值送到液晶1602显示。 DS1302计时&#xff0c;日期送到液晶1602显示。 LM35采集另一路温度值送到数码管显示。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /IO初始化为…

前端console.log打印内容与后端请求返回数据不一致

后端传值num0 前端打印num1 ,如图&#xff0c;console.log后台显示的数据与展开后不一致 造成该问题原因是深拷贝与浅拷贝的问题。 var obj JSON.parse(JSON.stringify(res)) 修改后打印 正常

【0基础入门Python Web笔记】二、python 之逻辑运算和制流程语句

二、python 之逻辑运算和制流程语句 逻辑运算控制流程语句条件语句&#xff08;if语句&#xff09;循环结构&#xff08;for循环、while循环&#xff09;continue、break和pass关键字控制流程语句的嵌套以及elif 更多实战项目可进入下方官网 逻辑运算 Python提供基本的逻辑运算…