开源安全管理平台wazuh-检测 SQL 注入攻击
文章目录
- 一、环境准备
- 二、wazuh配置
- 三、模拟攻击
- 四、效果验证
Wazuh是一个功能强大的开源安全平台,它集成了安全信息与事件管理(SIEM)和扩展检测与响应(XDR)的能力,旨在为本地、虚拟化、容器化及云环境中的工作负载提供统一的威胁预防、检测和响应解决方案。
SQL 注入是一种攻击,在这种攻击中,威胁行为者将恶意代码插入传输到数据库服务器的字符串中进行解析和执行。成功的 SQL 注入攻击可以未经授权访问数据库中包含的机密信息。
我们可以使用 Wazuh 从 Web 服务器日志中检测 SQL 注入攻击,这些日志包含 select、union 和其他常见 SQL 注入模式等模式。本文通过POC来验证wazuh检测SQL注入攻击。
一、环境准备
POC测试环境拓扑如下图所示:
主机 | 说明 |
---|---|
安全管理平台wazuh-server (192.168.0.40) | All in one安装wazuh,监控wazuh-agent上报的告警信息进行威胁检测 |
DVWA靶机 (192.168.0.43) | 被监控主机安装wazuh-agent,安装DVWA靶机,模拟被攻击 |
DVWA靶机安装参考《CentOS7+LAMP+DVWA靶机搭建》
首先安装LAMP环境
apt update
apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php
下载DVWA的软件包
进入到默认的web发布目录
cd /var/www/html
git clone https://github.com/digininja/DVWA.git
将config/config.inc.php.dist复制成config/config.inc.php并配置环境
cp config.inc.php.dist config.inc.php
用root用户登录数据库,然后执行以下命令创建dvwa数据库:
mysql> create database dvwa;
Query OK, 1 row affected (0.00 sec)mysql> create user dvwa@localhost identified by 'p@ssw0rd';
Query OK, 0 rows affected (0.01 sec)mysql> grant all on dvwa.* to dvwa@localhost;
Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
默认用户 = admin
默认密码 = password
将安全级别设为 Low(最易注入)
二、wazuh配置
将以下行添加到 Wazuh 代理 /var/ossec/etc/ossec.conf
文件中。允许 Wazuh-agent 代理监控 Apache 服务器的访问日志:
<ossec_config><localfile><log_format>apache</log_format><location>/var/log/apache2/access.log</location></localfile>
</ossec_config>
重新启动 Wazuh 代理以使应用配置更改生效:
sudo systemctl restart wazuh-agent
三、模拟攻击
访问DVWA的靶机地址http://192.168.0.43/DVWA/login.php
默认用户 = admin
默认密码 = password
登录后找到SQL Injection 输入例如"1' UNION SELECT database(), version()
" 等SQL注入Payload
四、效果验证
在wazuh此处的预期结果是规则 ID 为 31164 SQL injection attempt
的告警,但成功的 SQL 注入尝试会生成规则 ID 为 31106 A web attack returned code 200 (success)
的告警。
我们可以点击详情看到具体的SQL注入攻击日志
至此,我们通过POC验证了wazuh检测SQL注入攻击场景。
作者博客:http://xiejava.ishareread.com/