Rootless-Ghost/SnortForge
GitHub: Rootless-Ghost/SnortForge
基于 Flask 的 Snort IDS/IPS 规则可视化生成与管理工具,提供语法校验、模板库和规则导入导出功能。
Stars: 1 | Forks: 0
# 🐽 SnortForge
Snort IDS/IPS 规则生成器与管理工具
一款基于 Web 的应用程序,用于构建、验证、管理和导出 Snort 入侵检测规则,提供简洁的暗色主题界面。
## 概述 SnortForge 简化了 Snort IDS/IPS 规则的创建和管理。无论您是为 SOC 环境编写自定义检测规则、为家庭实验室构建规则集,还是为了安全认证考试而学习——SnortForge 都能为规则开发提供一个结构化且经过错误检查的工作流。 ### 核心功能 - **可视化规则构建器** —— 基于表单的规则创建,支持实时预览 - **语法验证** —— 服务端验证可在部署前捕获错误并建议最佳实践 - **12 种检测模板** —— 针对 SQL 注入、XSS、暴力破解、端口扫描、反向 Shell 等的预构建规则 - **规则管理器** —— 批量操作:编辑、复制、删除、导入、导出 - **导入/导出** —— 读取 `.rules` 文件并导出以便直接用于 Snort 部署 - **暗色主题** —— 简洁、宽敞的界面,专为长时间使用而设计 ## 截图 ### 规则构建器 *通过实时更新的预览可视化构建 Snort 规则*  ### 规则管理器 *管理、导入、导出和验证您的整个规则集*  ### 模板 *从 5 个类别的 12 个预构建检测模板开始*  ## 安装说明 ### 前置条件 - **Python 3.8+** - **pip** (Python 包管理器) ### 设置 ``` # 1. Clone the repository git clone https://github.com/Rootless-Ghost/SnortForge.git cd SnortForge # 2. Create a virtual environment (recommended) python -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate # 3. Install dependencies pip install -r requirements.txt # 4. Launch SnortForge python app.py ``` 然后在浏览器中打开 **http://127.0.0.1:5000** ## 使用指南 ### 规则构建器 1. 填写 **规则头** (动作、协议、IP、端口、方向) 2. 添加描述性 **消息** 并设置 **SID** (自定义规则 >= 1,000,000) 3. 配置 **检测选项** (内容匹配、PCRE、深度/偏移) 4. 设置 **流选项** 以进行有状态检测 5. 可选添加 **阈值** 设置以进行基于速率的告警 6. 查看 **实时预览** 随输入更新 7. 点击 **验证** 检查错误 8. 点击 **添加到管理器** 存储规则 ### 规则管理器 - 一目了然地查看所有规则及其验证状态 - **导入** 现有的 `.rules` 文件或 SnortForge JSON 项目 - **导出** 您的规则集为 `.rules` 文件,直接用于 Snort 部署 - **编辑**、**复制** 或 **删除** 规则 - 点击任意行预览完整规则文本 ### 模板 浏览按类别组织的 **12 个预构建检测模板**: | 类别 | 模板 | |----------|-----------| | **Web 应用程序** | SQL 注入 (基础 & UNION)、XSS 脚本标签、目录遍历 | | **侦察** | SYN 端口扫描、ICMP Ping 扫描、DNS 区域传送 | | **暴力破解** | SSH 暴力破解、FTP 暴力破解 | | **恶意软件 / C2** | Netcat 反向 Shell、DNS 隧道 | | **漏洞利用** | SMB EternalBlue 探测 | ## 项目结构 ``` SnortForge/ ├── app.py # Flask application & API routes ├── snortforge/ │ ├── __init__.py │ ├── core/ │ │ ├── rule.py # Snort rule data model & builder │ │ ├── validator.py # Rule validation engine │ │ ├── templates_data.py # 12 pre-built detection templates │ │ └── parser.py # .rules file parser & importer │ ├── static/ │ │ ├── css/style.css # Dark theme stylesheet │ │ └── js/app.js # Frontend application logic │ └── templates/ │ └── index.html # Main application page ├── screenshots/ ├── requirements.txt ├── .gitignore ├── LICENSE └── README.md ``` ## 技术细节 | 组件 | 技术 | |-----------|-----------| | **语言** | Python 3.8+ | | **后端** | Flask 3.0+ | | **前端** | HTML5, CSS3, 原生 JavaScript | | **架构** | Flask REST API + 客户端 SPA | | **规则引擎** | 自定义解析器 + 构建器 (基于 dataclass 模型) | | **验证** | 基于正则表达式的语法检查 + 最佳实践分析 | | **导出格式** | `.rules` (Snort 原生), `.json` (SnortForge 项目) | ### 工作原理 ``` ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │ Browser UI │────▶│ Flask API │────▶│ Rule Engine │ │ (HTML/JS) │◀────│ (Python) │◀────│ (Core) │ └─────────────┘ └──────────────┘ └───────────────┘ │ ┌─────┴──────┐ │ │ ┌────▼───┐ ┌────▼────┐ │Validate│ │ Export │ │ Engine │ │ .rules │ └────────┘ └─────────┘ ``` ## 路线图 - [ ] 多内容规则支持 (链式内容匹配) - [ ] Snort 3 语法输出模式 - [ ] 规则性能评分 - [ ] 暗/亮主题切换 - [ ] 持久化存储 (数据库后端) - [ ] 社区模板共享 ## 许可证 本项目根据 MIT 许可证授权 —— 详见 [LICENSE](LICENSE) 文件。
由 [Rootless-Ghost](https://github.com/Rootless-Ghost) 构建
标签:AMSI绕过, CISA项目, Flask, IPS, PoC, Python, .rules文件, XSS, 入侵防御, 反向Shell, 可视化构建, 威胁检测, 威胁检测与响应, 安全管理, 开源, 插件系统, 数据可视化, 数据展示, 数据统计, 无后门, 暗黑主题, 暴力破解, 漏洞情报, 端口扫描, 红队, 网络安全, 规则生成器, 规则管理, 规则验证, 逆向工具, 隐私保护