工具介绍
Zabbix批量漏洞扫描工具,这是一个用于Zabbix系统常见漏洞发现的工具,提供了图形界面(GUI)和命令行(CLI)两种使用方式。该工具仅用于漏洞检测和安全评估,不包含任何漏洞利用功能。
功能特点
支持多种Zabbix漏洞检测:
- 弱口令检测
- API未授权访问检测
- CVE-2022-23131 (SAML权限绕过漏洞)
- CVE-2024-42327 (SQL注入漏洞)
- api_jsonrpc.php接口暴露检测
批量扫描能力:支持同时扫描多个Zabbix目标
多线程扫描:提高扫描效率
结果导出:支持将扫描结果导出为CSV格式
详细的漏洞信息:显示漏洞类型、目标URL、状态、手工验证链接等信息
安装依赖
Python版本要求: 工具需要Python 3.7或更高版本,GUI版本推荐使用Python 3.12以获得最佳兼容性。
在使用工具之前,请先安装必要的Python依赖包:
pip install -r requirements.txt
requirements.txt包含以下依赖:
- requests
- pandas
- openpyxl
- lxml
- colorama
- PyQt5 (仅GUI版本需要)
使用方法
1. GUI版本使用方法
启动GUI版本:
python zabbix_scanner_gui.py
操作步骤:
- 在"目标列表"文本框中输入要扫描的Zabbix系统URL,每行一个
- 选择要检测的漏洞类型(可多选或点击"全选"按钮)
- 点击"开始扫描"按钮
- 扫描结果会实时显示在下方日志区域
- 扫描完成后,可选择导出结果为CSV文件
2. 命令行版本使用方法
基本语法:
python zabbix_scanner_cli.py -t <目标URL> [选项]
# 或
python zabbix_scanner_cli.py -f <目标文件> [选项]
参数说明:
-t, --target
:单个目标URL (如 http://192.168.1.1:8080)-f, --file
:包含多个目标的文件路径,每行一个目标--no-weakpass
:禁用弱口令检测--no-api-unauthorized
:禁用API未授权访问检测--no-cve-2022-23131
:禁用CVE-2022-23131检测--no-cve-2024-42327
:禁用CVE-2024-42327检测--no-jsonrpc-exposure
:禁用api_jsonrpc.php暴露检测-o, --output
:输出结果文件路径 (CSV格式)-T, --threads
:扫描线程数,默认为10
使用示例:
# 扫描单个目标,使用所有检测项
python zabbix_scanner_cli.py -t http://192.168.1.100/zabbix
# 扫描多个目标(从文件读取),禁用弱口令检测,导出结果到results.csv
python zabbix_scanner_cli.py -f targets.txt --no-weakpass -o results/results.csv
# 扫描单个目标,仅检测CVE-2022-23131漏洞,使用5个线程
python zabbix_scanner_cli.py -t http://example.com/zabbix --no-weakpass --no-api-unauthorized --no-cve-2024-42327 --no-jsonrpc-exposure -T 5
漏洞检测说明
1. 弱口令检测
- 检测方法:尝试使用常见用户名和密码组合登录Zabbix系统
- 手工验证链接:
{目标URL}/index.php
- 说明:如果发现弱口令,会在结果中显示可登录的用户名和密码
2. API未授权访问检测
- 检测方法:尝试在不提供认证信息的情况下访问API接口获取版本信息
- 手工验证链接:
{目标URL}/api_jsonrpc.php
- 说明:如果API返回版本信息,则可能存在未授权访问风险
3. CVE-2022-23131 (SAML权限绕过漏洞)
- 检测方法:检查目标系统是否存在SAML单点登录页面
- 手工验证链接:
{目标URL}/index_sso.php
- 说明:该漏洞允许攻击者绕过身份验证访问Zabbix管理界面
4. CVE-2024-42327 (SQL注入漏洞)
- 检测方法:通过JSON-RPC接口发送包含时间延迟的SQL注入测试载荷
- 手工验证链接:
{目标URL}/api_jsonrpc.php
- 说明:该漏洞允许攻击者通过API执行SQL注入操作
5. api_jsonrpc.php接口暴露检测
- 检测方法:检查api_jsonrpc.php接口是否可被未授权访问
- 手工验证链接:
{目标URL}/api_jsonrpc.php
- 说明:如果接口暴露,可能为攻击者提供更多攻击面
结果说明
GUI版本
- 扫描结果会实时显示在日志区域
- 扫描完成后,可以选择导出为CSV文件,保存在results目录下
命令行版本
- 扫描结果会实时显示在控制台
- 使用
-o
参数可以将结果导出为CSV文件 - 结果包含:漏洞类型、目标URL、状态、手工验证链接等详细信息
工具下载
https://github.com/hsltz/zabbix_gui_scanner