fir3storm/wazuh-rule-master

GitHub: fir3storm/wazuh-rule-master

Wazuh 规则生成器,自动生成 Wazuh 安全监控规则。

Stars: 0 | Forks: 0

# Wazuh 规则生成器 ## 概述 **Wazuh 规则生成器** 是一个 Python 工具,可以自动生成 Wazuh 安全监控规则,用于检测常见的安全事件、认证失败、文件完整性更改、提权尝试等。 它允许您快速从预定义的模式、命令行参数或配置文件中创建检测规则,无需手动编写 XML。 ## 功能 - **快速规则生成** - 预建规则模板,适用于常见场景 - **基于模式的生成** - 将日志模式转换为 Wazuh 规则 - **分类规则** - 按类别(syslog、audit、file_integrity 等)组织规则 - **配置文件支持** - 从 JSON 配置文件加载设置 - **批量模式** - 从列表中生成多个规则 - **输出选项** - 保存到文件或打印到 stdout - **级别自定义** - 为每个规则设置检测严重级别 ## 安装 除了 Python 3.x 以外,无需任何外部依赖: ``` # 确保 yaml 可用(可选) pip install pyyaml # 可选丰富输出 pip install pygments ``` ## 快速入门 ### 生成所有 28 个类别 ``` # 生成所有类别的快速规则 python wazuh_rule_generator.py -q -o quick_rules.txt # 或使用扩展规则文件 python wazuh_rule_generator.py -q -o quick_rules.txt # 共28个类别 python wazuh_rule_generator.py -q -o all_rules_28.txt ``` - 网络入侵(级别 1) - SQL 注入(级别 1) - 钓鱼尝试(级别 1) - DNS 隧道(级别 1) - 代理滥用(级别 1) - 恶意软件检测(级别 1) - 进程注入(级别 1) - 认证失败(级别 1) - 端口扫描(级别 1) - VPN 突破(级别 1) - 零日攻击(级别 1) - 恶意文件(级别 1) - 合规违规(级别 2) - SIEM 警报(级别 3) - 威胁情报(级别 1) - 可疑用户(级别 2) ### 从模式生成 ``` # 从模式文件生成规则 python wazuh_rule_generator.py -p -o rules.txt # 或编程生成 python -c " import wazuh_rule_generator generator = wazuh_rule_generator.WazuhRuleGenerator() rule = generator.generate_from_pattern('syslog:authentication failure; hostname=any', 'output.txt') print(rule) " ``` ### 生成自定义规则 ``` import wazuh_rule_generator generator = wazuh_rule_generator.WazuhRuleGenerator() # 生成自定义规则 rule = generator.generate_rule( category='syslog', title='Authentication Failure', username='* authentication', level='1', description='Detect failed authentication attempts' ) print(rule) ``` ### 命令行选项 ``` python wazuh_rule_generator.py -h ``` **可用选项:** | 选项 | 描述 | |--------|-----------| | `-c CATEGORY` | 规则类别(默认:syslog) | | `-r RULE` | 规则规范 | | `-o OUTPUT` | 输出文件(默认:rules.txt) | | `-w` | 写入输出文件 | | `-p` | 从模式文件生成 | | `-q` | 生成快速规则 | | `-C CATEGORY` | 规则类别(替代语法) | ## 使用示例 ### 示例 1:生成多个快速规则 ``` import wazuh_rule_generator generator = wazuh_rule_generator.WazuhRuleGenerator() configs = [ {'category': 'syslog', 'title': 'Auth failure', 'username': '* authentication', 'level': '1'}, {'category': 'file_integrity', 'title': 'File modification', 'path': '* mod', 'level': '1'}, {'category': 'syslog', 'title': 'Brute force', 'username': '* failed password', 'level': '1'}, ] rules = [generator.generate_rule(**c) for c in configs] with open('wazuh_quick_rules.txt', 'w') as f: for rule in rules: f.write(rule + '\n') print(f'Generated {len(rules)} rules') ``` ### 示例 2:从模式字符串生成 ``` generator = wazuh_rule_generator.WazuhRuleGenerator() pattern = 'syslog:authentication failure; hostname=any; level=1' rule = generator.generate_from_pattern(pattern, 'output.txt') print(rule) ``` ### 示例 3:加载配置 ``` // config.json { "rule_id_start": 10050, "level": "2", "categories": ["syslog", "audit", "file_integrity"] } ``` ``` generator = wazuh_rule_generator.WazuhRuleGenerator(config_file='config.json') ``` ### 示例 4:批量规则生成 ``` configs = [ {'category': 'syslog', 'title': 'Rule 1', 'username': 'user1', 'level': '3'}, {'category': 'syslog', 'title': 'Rule 2', 'username': 'user2', 'level': '2'}, ] generator.batch_mode = True for config in configs: generator.add_batch_rule(config) generator.generate_batch(configs, 'batch_rules.txt') ``` ## 完整类别列表(28 个类别) | # | 类别 | 字段 | |---|---|---| | 1 | syslog | hostname, username, remote_addr, path, user, category | | 2 | audit | user, user_sid, target_sid, path, category | | 3 | file_integrity | path, user | | 4 | command/windows | hostname, user | | 5 | command/bash | hostname, user | | 6 | registry | path, user | | 7 | network | remote_addr, destination, protocol, category | | 8 | database | connection, user, db_name, operation | | 9 | email | sender, receiver, subject, status | | 10 | dns | query, response, status | | 11 | proxy | url, method, status, user | | 12 | antivirus | file, status, detection | | 13 | endpoint | process, path, command, user | | 14 | authentication | username, method, status, timestamp | | 15 | firewall | source, destination, port, action | | 16 | vpn | client, server, protocol, status | | 17 | ids | signature, severity, category, source | | 18 | iocs | malware, hash, behavior, threat | | 19 | compliance | control, standard, status, result | | 20 | siem_events | event_type, severity, category, source | | 21 | threat_intel | indicator, source, confidence, action | | 22 | user_activity | user, action, resource, time | | 23 | process_monitoring | pid, name, parent, user | | 24 | logon | type, status, method, location | | 25 | file_ops | action, path, user, time | | 26 | registry_ops | action, key, user, time | | 27 | scheduled_tasks | task_name, status, schedule, user | | 28 | service_monitoring | service, status, start_time, user | ## 默认规则模板 ``` {title} {level} {fields} {description} {generation_date} {title} ``` ## 配置文件格式 ### JSON 配置示例 ``` { "rule_id_start": 10050, "level": "2", "categories": [ "syslog", "audit", "file_integrity" ] } ``` ### 支持的格式 - .json 文件(JSON 加载) - .yaml / .yml 文件(简单的 key=value 解析) ## 模式语法 模式支持以下前缀: | 前缀 | 类别 | 示例 | |--------|----------|---------| | syslog: | syslog | syslog:authentication failure | | file: | file_integrity | file:path=/etc/passwd | | malware: | malware | malware:root access | | command/windows: | command/windows | command/windows:execution | | command/bash: | command/bash | command/bash:command execution | ### 模式参数 pattern: [CATEGORY[:]]TITLE; [PARAMETER=value;][PARAMETER2=value;...] 示例: - syslog:authentication failure; hostname=any; level=1 - file_integrity:modification; path=* mod - malware:root access; category=malware; level=1 ## 高级功能 ### 批量模式 ``` generator = wazuh_rule_generator.WazuhRuleGenerator() generator.batch_mode = True for config in configs: generator.add_batch_rule(config) generator.generate_batch(configs, 'output.txt') ``` ### 将规则保存到文件 ``` with open('rules.txt', 'w') as f: for rule in rules: f.write(rule + '\n') ``` ### 统计跟踪 ``` print(f'Rules generated: {generator.stats["rules_generated"]}') print(f'Errors: {generator.stats["errors"]}') ``` ## 故障排除 ### 常见问题 1. **未找到模块**:确保 Python 在 PATH 中,并且模块文件是正确的 2. **找不到模块**:检查 Python 安装并添加到 PATH 3. **AttributeError**:检查导入和模块版本 ### 调试模式 ``` python wazuh_rule_generator.py ``` 运行不带参数以查看帮助和默认用法。 ## 输出示例 ### 快速规则输出 ``` Auth failure 1 username=* authentication category=syslog # Auth failure 2026-05-31 Auth failure ``` ### 模式规则输出 ``` Authentication failure 1 username='* authentication' category='file_integrity' # Authentication failure 2026-05-31 Authentication failure ``` ## 贡献 1. 修复错误:报告问题或提交拉取请求 2. 改进模式:添加新的模式检测规则 3. 添加类别:扩展支持的 Wazuh 类别 ## 许可证 MIT 许可证 - 随意用于和修改您的安全操作需求。 ## 示例文件夹 示例和示例规则位于 examples/ 目录中。 ## 支持 对于问题或疑问: - 提交问题 - 检查此存储库中的示例 - 查阅代码文档 ## 更新日志 ### 版本 1.0 - 初次发布 - 快速规则生成 - 基于模式的生成 - 命令行界面 - 配置文件支持 - 批量模式 用爱为安全操作构建 由 Dr. Abhirup Guha 创建
标签:DNS隧道, Python, SIEM警报, VPN违规, Wazuh, 人工智能安全, 代理滥用, 协议分析, 可疑用户, 合规性, 失败认证, 威胁情报, 安全事件检测, 安全漏洞, 开发者工具, 快速生成, 恶意代码分析, 恶意文件, 恶意软件, 批量处理, 数据统计, 文件完整性, 无后门, 日志模式, 权限提升, 端口扫描, 网络入侵, 自定义级别, 规则生成, 输出选项, 逆向工具, 配置文件, 零日攻击, 默认DNS解析器