使用WAZUH检测LD_PRELAOD劫持、SQL注入、主动响应防御

目录

1、检查后门

使用工具检测后门

1.chkrootkit

2.rkhunter

手动检查文件

检查ld.so.preload文件

2、检测LD_PRELOAD

ubuntu配置

wazuh配置

3、检测SQL注入

ubuntu配置

攻击模拟

4、主动响应


wauzh的安装以及设置代理可以参考本篇:WAZUH的安装、设置代理-CSDN博客

前面我们也介绍过使用LD_PRELOAD劫持动态链接库 ,然后本篇就介绍一下如何使用wazu来检测LP_PRELOAD劫持和SQL注入

1、检查后门

使用工具检测后门

1.chkrootkit

可以直接在命令行中进行安装

apt-get install chkrootkit

然后直接执行chkrootkit就会自动进行后门检测

2.rkhunter

该工具也同样可以使用apt命令直接安装

apt install rkhunter

安装完成后,执行rkhuter -c就会进行后门检测

手动检查文件

虽然工具会提高查找效率,但是我们进行后门检测时,不能仅仅依赖工具,还需要检查一些文件中是否有恶意的文件

检查ld.so.preload文件

/etc/ld.so.preload文件是Linux系统中的一个配置文件,它用于指定在程序加载时要预先加载的共享库,这些共享库会在程序启动时被加载到内存中,以便提供额外的功能或修改程序的行为。

我们如果发现这个文件里面有东西,那么大概率都是攻击者的恶意文件

2、检测LD_PRELOAD

那么下面就演示一下使用wazuh来检测LD_PRELOAD劫持的过程

ubuntu配置

(1)首先我们需要在代理设备上安装监控软件

这里的代理设备以Ubuntu为例,安装监控软件

apt-get install -y auditd

(2)加入对ld_preload劫持的监控规则

echo "-w /etc/ld.so.preload -p wa -k possible_preload_hijack" >> /etc/audit/rules.d/audit.rules

这条规则的意思就是:监控这个/etc/ld.so.preload文件的写入或者增加,就会发出告警 possible_preload_hijack

增加完成后我们可以看一下该文件

可以看到这条规则已经加入到文件里面了

(3)加入规则后需要重新加载以下规则文件

auditctl -R /etc/audit/rules.d/audit.rules

(4)可以查看一下规则是否成功加载 

auditctl -l

(5)然后需要修改一下配置文件

vim /var/ossec/etc/ossec.conf

将一下内容增加到locafile文件的最后

  <localfile><log_format>syslog</log_format><location>/var/log/auidt/audit.log</location></localfile>

这里的意思就是监控环境变量

最后重启客户端的wazuh-agent代理服务即可

systemctl restart wazuh-agent

(6)我们现在可以在服务端监控客户端的ld.so.preload文件中试着写一个文件看看规则是否会生效

然后试着执行任意命令:

可以看到,由于在执行命令前会加载该文件中的so文件,但是由于我们随意写了一个文件,就报错说没有该文件,但是确实是加载了

然后我们查看一下日志文件:

tail /var/log/audit/audit.log

可以看到日志文件也记录了该日志

wazuh配置

(1)编辑触发规则

进入到目录:/var/ossec/etc/rules
增加规则:vim local_rules.xml
规则内容:
将一下内容增加到该文件下面<rule id="100125" level="10"><if_sid>80700</if_sid><field name="audit.key">possible_preload_hijack</field><description>[Config file "ld.so.preload" has been added, modified, or deleted]: Possible dynamic linker hijacking</description><mitre><id>T1574.006</id></mitre></rule>

注:这里不在/var/ossec/ruleset/rules目录中写而是在ossec/rules/ruleset/etc/rules/用户自定义目录写,是因为当wazu升级后如果写在前面的目录由于系统会自动更细,自己写的规则会被删除,但是自定义的规则就不会被删除

(2)重启服务

systemctl restart wazuh-manager.service

(3)然后在客户端模拟恶意用户试着给ls.so.preload文件中增加一个.so文件

(4)然后在wazuh中查看一下安全事件

可以看到了因为客户端的ld.so.preload文件被修改因此wazu上产生了该事件的警告

3、检测SQL注入

不知道SQL注入的小伙伴可以简单的这样理解sql注入即可:SQL 注入是一种攻击,攻击者将恶意代码插入到传输到数据库服务器的字符串中进行解析和执行。成功的 SQL 注入攻击会导致对数据库中包含的机密信息进行未经授权的访问。

本实验中,我模拟sql注入的行为,对ubuntu主机的服务进行sql注入行为然后在wazuh中进行检测

ubuntu配置

执行以下步骤安装 Apache 并配置 Wazuh 代理以监视 Apache 日志。

  1. 更新本地软件包并安装 Apache Web 服务器:

    sudo apt update
    apt install apache2
  2. 如果防火墙已启用,请将其修改为允许外部访问 Web 端口,如果防火墙已禁用,请跳过此步骤。

    ufw app list
    ufw allow 'Apache'
    ufw status
  3. 检查 Apache 服务的状态以验证 Web 服务器是否正在运行:

    systemctl status apache2

  4. 使用curl命令或http://<UBUNTU_IP>在浏览器中打开查看Apache登陆页面并验证安装:

     
  5. 将以下行添加到 Wazuh 代理/var/ossec/etc/ossec.conf文件中,这允许 Wazuh 代理监控 Apache 服务器的访问日志:

      <localfile><log_format>apache</log_format><location>/var/log/apache2/access.log</location></localfile>
    

      6 . 重新启动 Wazuh 代理以应用配置更改:

systemctl restart wazuh-agent

攻击模拟

(1)我们模拟攻击者的SQL注入行为

curl -XGET "http://<UBUNTU_IP>/users/?id=SELECT+*+FROM+users";

当然也可以在浏览器中使用GET传参的方式注入

(2)然后查看以下apache2的日志 

cat /var/log/apache2/access.log

可以看到有记录我们访问的日志

(3)那么再看来看看wazuh那么有没有产生安全事件

可以看到这里产生了安全日志

有的小伙伴会说,为什么这里在wazuh上没有像上面检测ld_preload那样编辑一个sql注入的触发规则呢?原因是wazuh已经将sql注入相关的规则内置在规则里面了,不需要我们手动编写,直接使用即可

4、主动响应

现在我们已经可以检测一些攻击者的攻击事件了,那么检测后如何进行主动响应来进行防御呢?

下面我们就以SQL注入为例来演示一下使用wazuh来进行主动响应

主动响应我们主要是在服务端配置,本例中使用wazuh主机上进行配置

(1)进入/var/ossec/etc目录中

(2)编辑配置文件: vim ossec.conf

找到active respone部分,将以下内容增加进去:

<command><name>host-deny</name><executable>host-deny</executable><timeout_allowed>yes</timeout_allowed>
</command>

这里的意思是增加了一个命令,名为host-deny

但是只有命令是不行的,还需要有调用命令的调用

(3)增加调用

<active-response><command>host-deny</command><location>local</location><rules_id>31103,31171</rules_id>
</active-response>

(4)添加完成后重启

systemctl restart wazuh-manager

(5)现在我们模拟恶意用户使用SQL注入攻击ubuntu主机

可以看到,现在我们再次访问时就已经无法访问了

 那么我们来看看ubuntu主机中的host.deny文件

(6)使用firewall命令也可以实现同样的效果

只需要将调用修改为调用firewall命令即可

<active-response><command>firewall-drop</command><location>local</location><rules_id>31103,31171</rules_id>
</active-response>

 (7)然后使用同样的方法来访问,就会发现出现同样的效果

 (8)在iptables中查看

当然,wazuh还可以检测防御的还有很多,这里就不再介绍,详细的可以见参考链接

参考链接:

Detecting common Linux persistence techniques with Wazuh

How to configure active response - Active response

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

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

相关文章

Apache Flink连载(二十三):Flink HA - Flink基于Yarn HA

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Yarn HA配置 ​​​​…

Cache替换算法

由于Cache很小&#xff0c;主存很大&#xff0c;Cache很容易装满&#xff0c;Cache满了怎么办&#xff1f; ——采用替换算法。 全相联映射&#xff1a;Cache完全满了才需要替换&#xff0c;需要在全局中选择替换哪一块。直接映射&#xff1a;如果对应位置非空&#xff0c;则…

linux线程与进程

简要 在Linux系统中&#xff0c;进程&#xff08;Process&#xff09;和线程&#xff08;Thread&#xff09;是操作系统中两个重要的概念&#xff0c;它们都是用于执行程序的执行单元&#xff0c;但有一些关键的区别。 在Linux系统中&#xff0c;可以使用fork系统调用创建新…

Vue3-30-路由-嵌套路由的基本使用

什么是嵌套路由 嵌套路由 &#xff1a;就是一个组件内部还希望展示其他的组件&#xff0c;使用嵌套的方式实现页面组件的渲染。 就像 根组件 通过路由渲染 普通组件一样&#xff0c;嵌套路由也是一样的道理。 嵌套路由的相关关键配置 1、<router-view> 标签 声明 被嵌套组…

在 Spring 中操作 Redis

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您对博主首页也很感兴趣o (ˉ▽ˉ&#xff1b;) &#x1f4dc;redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿 目录 1、引入依赖 2、对 Redis 的配置文件进行书写 3、S…

kivy PageLayout 的说明及例子

PageLayout 是 Kivy GUI 框架中的一个布局管理器&#xff0c;它允许开发者在同一个窗口中放置多个页面&#xff0c;用户可以通过滑动来浏览这些页面。PageLayout 的工作方式类似于一个可以滑动的标签页&#xff08;TabbedPanel&#xff09;&#xff0c;但其页面可以自由调整大小…

Linux常用命令大全总结及讲解(超详细版)

前言&#xff1a; Linux 是一个基于Linux 内核的开源类Unix 操作系统&#xff0c;Linus Torvalds于 1991 年 9 月 17 日首次发布的操作系统内核。Linux 通常打包为Linux 发行版。 Linux 最初是为基于Intel x86架构的个人计算机开发的&#xff0c;但此后被移植到的平台比任何其…

K8S 中对 Windows 节点的利用

目录 漏洞概述 漏洞详情 ​编辑 漏洞验证 补丁分析 在集群中探索 参考资料 在许多组织中&#xff0c;所运行的很大一部分服务和应用是 Windows 应用。Windows 容器提供了一种封装进程和包依赖项的方式&#xff0c;从而简化了 DevOps 实践&#xff0c;令 Windows 应用程序…

【xdma】 pcie.bar设置

FPGA优质开源项目– PCIE通信 xdma 两者保持一致 FPGA开源项目 – PCIE I/O控制卡 xdma PCIe的XDMA应用 读写部分分为两种&#xff0c;一种是数据的读写&#xff0c;另一种是配置数据的读写&#xff0c;在数据读写部分&#xff0c;DMA通过MIG控制DDR完成数据读写。配置数据…

使用 Tkinter 制作一个进制转换工具,好用!

在平时工作学习当中&#xff0c;我们经常会编写一些简单的 Python GUI 工具&#xff0c;以此来完成各种各样的自动化任务&#xff0c;比如批量处理文件&#xff0c;批量处理图片等等。当我们进行这些工具的编写之时&#xff0c;往往只关注了功能的实现&#xff0c;而忽略了页面…

基于Docker的软件环境部署脚本,持续更新~

使用时CtrlF搜索你想要的环境&#xff0c;如果没有你想要的环境&#xff0c;可以评论留言&#xff0c;会尽力补充。 本文提供的部署脚本默认参数仅适合开发测试&#xff0c;请根据实际情况调节参数。 数据库 MySQL version: 3.9 services:mysql:image: mysql:8.0.35container…

【Unity美术】Unity工程师对3D模型需要达到的了解【二】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

一元函数微分学——刷题(8

目录 1.题目&#xff1a;2.解题思路和步骤&#xff1a;3.总结&#xff1a;小结&#xff1a; 1.题目&#xff1a; 2.解题思路和步骤&#xff1a; 先看A&#xff0c;既然存在&#xff0c;那么f(x)和x属于同阶无穷小&#xff0c;所以f(0)0&#xff0c;没问题 再看C&#xff0c;结…

UntiyShader(七)Debug

目录 前言 一、利用假彩色图像 二、利用Visual Studio 三、帧调试器 前言 Debug&#xff08;调试&#xff09;&#xff0c;是程序员检查问题的一种方法&#xff0c;对于一个Shader调试更是一种噩梦&#xff0c;这也是Shader难写的原因之一——如果效果不对&#xff0c;我们…

ubuntu22.04安装anacoda遇到的坑

这几天把用了3年的windows10换成了ubuntu22.04 各种环境都得配置&#xff0c;本文记录下遇到的坑。 1、anacoda在ubuntu上也可以用官方也提供了安装包&#xff0c;但是没有图形界面&#xff0c;需要以命令行的方式安装和运行配置 1.1 安装&#xff1a;官网下载后&#xff0c;…

极速文件搜索工具Everything结合内网穿透实现远程搜索本地文件

文章目录 前言1.软件安装完成后&#xff0c;打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前言 要搭建一个在线资料库&#xff0c;我们需要两个软件的支持&#xff0c;分别是cpolar&#xff08;用于搭建内网穿透数据隧道…

ShuffleNet V2:高效CNN架构设计实用指南

摘要 目前&#xff0c;神经网络架构设计主要以计算复杂度的间接指标&#xff08;即 FLOPs&#xff09;为指导。然而&#xff0c;直接指标&#xff08;如速度&#xff09;还取决于其他因素&#xff0c;如内存访问成本和平台特性。因此&#xff0c;这项工作建议在目标平台上评估…

1 - 数据库服务概述 | 构建MySQL服务 | 数据库基本管理 | MySQL基本类型

数据库服务概述 | 构建MySQL服务 | 数据库基本管理 | MySQL基本类型 数据库服务概述构建mysql服务安装mysql软件包连接mysql服务器 修改密码 密码管理修改密码策略&#xff08;需要登陆&#xff09;破解数据库管理员root密码&#xff08;数据库服务处于运行状态但是root忘记了密…

win/linux 环境查看动态库包含的函数

我们打包了动态库&#xff0c;还要查看是否包含一些函数&#xff0c;需要导出这些函数 在win 环境下可以使用 .def 格式的文件进行操作 ######################################################### 跳过这一步&#xff0c;回到主题&#xff0c;在两个系统平台如何查看动态库包…

时序预测 | Matlab实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元时间序列预测

时序预测 | Matlab实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元时间序列预测 目录 时序预测 | Matlab实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元时间序…