allsafe-ar/gungnir-community

GitHub: allsafe-ar/gungnir-community

Gungnir 社区是一款开源渗透测试管理平台,助力安全团队高效协作。

Stars: 2 | Forks: 1

[![Español](https://img.shields.io/badge/lang-es-blue)](README.es.md)
Gungnir Logo # Gungnir 社区 - 进攻性安全经理 **全生命周期渗透测试管理平台 - 免费且开源** *由 [AllSafe 安全解决方案](https://www.allsafe.com.ar) 提供* ![Node.js](https://img.shields.io/badge/Node.js-20+-339933?style=flat-square&logo=node.js&logoColor=white) ![React](https://img.shields.io/badge/React-18-61DAFB?style=flat-square&logo=react&logoColor=black) ![MySQL](https://img.shields.io/badge/MySQL-8.0+-4479A1?style=flat-square&logo=mysql&logoColor=white) ![License](https://img.shields.io/badge/License-AGPL--3.0-blue?style=flat-square) ![Version](https://img.shields.io/badge/Version-Community-blue?style=flat-square) [![Website](https://img.shields.io/badge/Website-allsafe.com.ar%2Fen%2Fgungnir--community-ff3131?style=for-the-badge&labelColor=1e324d)](https://allsafe.com.ar/en/gungnir-community/)
Gungnir 社区是一个免费、开源的渗透测试管理平台,涵盖了整个参与生命周期 - 从客户接入到 PDF 报告交付。 ## 🤝 社区参与 Gungnir 内置参与交换功能:**将任何参与内容导出为 ZIP 文件,一键导入任何实例** — 包括发现、阶段、操作日志、范围和证据文件。 社区在存储库的 `community-engagements/` 文件夹中分享演练、CTF 写作和方法论模板。下载一个,导入它,您就拥有了一个完全文档化的参与内容,可以探索。 在 `community-engagements/` 中浏览完整列表 — CTF 演练(HTB、VulnHub)、培训场景和方法论模板,随着社区贡献的增长而增长。 **如何导入:** 参与 → **导入** → 选择 `.zip` 文件。所有内容都会自动重新创建,并分配新的 ID。 **如何分享您的:** 1. 打开任何参与内容 → 侧边栏中的 **导出 ZIP** 2. 检查 ZIP 文件 — 没有真实凭据、客户 PII 或生产 IP 3. 打开一个 Pull Request,将您的 `.zip` 文件添加到 `community-engagements/` 并附上简短描述 ## Gungnir 社区是什么? Gungnir 社区包含渗透测试团队运行专业参与所需的一切: - **全参与生命周期** - 客户、阶段(规划 → 侦察 → 扫描 → 利用 → 后利用 → 报告),或 **自定义模式** — 创建具有完全自定义阶段的参与内容(自由命名、工作计划、文档上传和进度更新);操作日志、范围管理、每个阶段的证据上传(带有计数徽章)、MITRE ATT&CK 映射 - **导出/导入参与内容(ZIP)** - 完整保真度导出:发现(CVSS、MITRE、CWE、原始状态)、操作日志(保留时间戳)、范围(端口/OS/已泄露)、技术、阶段元数据和证据文件;一键导入任何实例 - **发现编辑器**,带有 CVSS 3.1 可视计算器、CWE + OWASP 分类和状态跟踪 - **CVE 自动填充** - 输入 CVE ID,Gungnir 会自动从 NVD API 中填充 CVSS 向量、分数、描述和 CWE - **PDF 渗透测试报告** - 专业输出,包含执行和技术部分 - **XML 导入** - 直接将发现从 Nessus (.nessus)、Burp Suite (.xml)、OpenVAS (.xml) 和 Nmap (-oX .xml) 导入到任何参与阶段 - **命令库** - 2,300 多个可搜索的渗透测试命令(侦察、Web、网络、Active Directory、后利用、规避等) - 包括 OWASP ZAP、tshark、searchsploit、smbmap、wes-ng、Windows SysNative 技术等 - **发现模板** - 15 个内置模板(SQLi、XSS、CSRF、SSRF、XXE、RCE、路径遍历、默认凭据、开放重定向等)+ 自定义库 - **OSINT / 侦察** - Shodan、VirusTotal、Censys、crt.sh、RDAP、DNS 使用您自己的 API 密钥(无供应商锁定) - **笔记** - 带有标签系统的个人 Markdown 笔记,支持固定和用户间笔记共享 - **研究论文** - 结构化漏洞研究编辑器(Black Hat / 学术 / 技术模板)与 Exploit-DB 直接集成 - 搜索、预览并将论文保存到本地库 - **身份验证** - JWT(12 小时)、TOTP 2FA(RFC 6238)、账户锁定、基于角色的访问控制 - **国际化** - 西班牙语(默认)和英语,用户可切换 ## 社区与专业版 | 功能 | 社区 | 专业版 | |---|:---:|:---:| | 客户管理 | ✅ | ✅ | | 参与生命周期(阶段、日志、范围、每个阶段的证据) | ✅ | ✅ | | 自定义参与模式(完全自定义阶段) | ✅ | ✅ | | 导出/导入参与内容(ZIP) | ✅ | ✅ | | 社区参与存储库 | ✅ | ✅ | | 发现编辑器(CVSS 3.1、CWE、OWASP、MITRE) | ✅ | ✅ | | PDF 渗透测试报告 | ✅ | ✅ | | XML 导入(Nessus、Burp、OpenVAS、Nmap) | ✅ | ✅ | | 命令库(2,300 多个命令,包括 OWASP ZAP) | ✅ | ✅ | | 发现模板(15 个内置 + 自定义) | ✅ | ✅ | | 笔记与共享 | ✅ | ✅ | | OSINT / 侦察(Shodan、VirusTotal、Censys、crt.sh、DNS) | ✅ | ✅ | | CVE 自动填充(NVD) | ✅ | ✅ | | TOTP 2FA + 账户锁定 | ✅ | ✅ | | 角色:管理员 / 审计员 / 渗透测试员 | ✅ | ✅ | | i18n:西班牙语 + 英语 | ✅ | ✅ | | 审计日志 | ✅ | ✅ | | 攻击图(交互式网络拓扑画布) | ✅ | ✅ | | 研究论文(结构化编辑器 + Exploit-DB 集成) | ✅ | ✅ | | Nessus 实时扫描源 | ❌ | ✅ | | OpenVAS 实时任务源 | ❌ | ✅ | | AllSafe CRM 同步 | ❌ | ✅ | | 运营仪表板(执行指标、图表) | ❌ | ✅ | | 自定义 PDF 品牌和机构徽标 | ❌ | ✅ | ## 截图
**仪表板**
Dashboard

| **发现编辑器** | **PDF 报告** | |:---:|:---:| | Finding Editor | PDF Report |
| **命令库(2,300 多个命令)** | **技术浏览器** | |:---:|:---:| | Command Arsenal | Techniques Browser |
| **OSINT / 侦察** | **笔记** | |:---:|:---:| | OSINT Recon | Notes |
| **研究论文 - Exploit-DB 集成** | **研究论文 - 结构化编辑器** | |:---:|:---:| | Exploit-DB Integration | Research Papers Editor |
| **脚本库** | **攻击图** | |:---:|:---:| | Scripts Library | Attack Map |
**参与工作区**
Engagement Workspace

**PDF 报告**
PDF Report
## 关键功能 ### 参与生命周期 - **客户管理** - 公司、行业、联系、参与历史 - **参与内容** - 全生命周期,具有结构化阶段:规划 → 侦察 → 扫描 → 利用 → 后利用 → 报告;或 **自定义模式** — 创建具有完全自定义阶段的参与内容(自由命名、工作计划、文档上传和进度更新) - **操作日志** - 每个阶段的带时间戳的命令/工具日志,包括目标、工具、命令、笔记和结果;**范围同步** - 一键将日志中的所有唯一目标导入范围表,并推断端口和 OS - **范围管理** - 在/不在范围内的资产,包括 OS 类型、端口列表、已泄露标志和漏洞摘要 - **证据上传** - 每个阶段的文件附件(每个阶段一个证据面板);侧边栏显示证据计数(`ev.`)和按钮,当文件附加时突出显示并带有徽章;包含在 ZIP 导出/导入中 - **MITRE ATT&CK 映射** - 技术直接链接到参与内容 - **i18n** - 完整的英语/西班牙语界面,可在运行时切换 ### 发现 - **完整发现编辑器**,包括严重性(关键/高/中/低/信息)、状态跟踪、受影响资产、描述、重现步骤和摘要 - **CVSS 3.1 可视计算器** - 交互式向量构建器(AV/AC/PR/UI/S/C/I/A),分数实时计算 - **CWE + OWASP 映射** - 每个发现的分类 - **MITRE 战术 + 技术** - 在发现级别映射 - **业务风险 + 可利用性**评估字段 - **CVE 自动填充** - 输入 CVE ID,Gungnir 会查询 NVD API 并自动填充 CVSS 向量、分数、描述和 CWE - **发现模板** - 15 个内置模板 + 自定义库 ### 报告 - **PDF 生成** - 渗透测试报告,包含执行和技術部分 - **每个操作员的徽标** - 可从配置文件设置中上传 ### 库存 & 参考 - **命令库** - 2,300 多个分类、可搜索的渗透测试命令,包括 OWASP ZAP(被动扫描、主动扫描、API/OpenAPI 扫描、代理模式、HTML/JSON 报告)、Burp Suite、tshark、searchsploit、smbmap、wes-ng 和更多 - **脚本管理器** - 存储和组织自定义脚本 - **库** - 参考资源和文档 - **写作** - 漏洞写作管理 - **技术浏览器** - 可搜索的 MITRE 风格技术参考 - **笔记** - 带有标签系统的个人 Markdown 笔记,支持固定和只读格式化查看器;可选地链接到特定参与内容;可与其他用户共享 ### 参与内容导出/导入 - **导出 ZIP** - 从参与内容侧边栏将任何参与内容导出为便携式 ZIP 文件;完整保真度:发现(CVSS、MITRE、CWE、原始状态)、操作日志(保留时间戳)、范围(端口/OS/已泄露)、技术、阶段元数据和笔记;文件名使用参与内容标题 - **导入 ZIP** - 在任何 Gungnir 实例上导入参与内容 ZIP 文件;所有数据都会重新创建并分配新的 ID;客户名称匹配或自动创建;兼容 v1.0 和 v2.0 ZIP 格式 - **社区存储库** - 通过 `community-engagements/`(community-engagements/)共享和下载参与内容模板;理想用于 CTF 演练、培训场景和方法论示例 ### 扫描器 XML 导入 将扫描器输出文件中的发现直接导入任何参与阶段: | 扫描器 | 格式 | 严重性映射 | |---------|--------|-----------------| | Nessus | `.nessus` (XML) | 插件严重性 0–4 → info/low/medium/high/critical | | Burp Suite | `.xml` | 问题严重性字符串 → 映射 | | OpenVAS | `.xml` | CVSS 基础分数 → 严重性桶 | | Nmap | `-oX .xml` | 每个端口的启发式方法 → info 默认 | ### OSINT / 侦察 - **Shodan** - IP 智能化、开放端口、CVE、地理位置 - **VirusTotal** - 域名/IP 声誉和威胁情报 - **Censys** - 证书和基础设施数据 - **crt.sh** - 证书透明度子域枚举 - **RDAP** - 域注册和所有权数据 - **DNS** - A、MX、NS、TXT、CNAME 解析 ### 安全 & 身份验证 安全是这里的第一级功能 - 与商业 AllSafe 套件相同的加固基线: - **JWT** —12 小时过期,`token_version` 在密码更改或用户禁用时撤销 - **TOTP 2FA** — RFC 6238,通过 QR 码设置,确认后禁用 - **账户锁定** — 5 次失败尝试 → 15 分钟锁定,**持久保存在数据库中**(在重启后存活) - **bcrypt** 密码散列(每个用户盐) - **安全头**(Helmet)+ **HTTP 速率限制**(300 请求/15 分钟;认证端点单独节流) - **基于角色的访问控制** — `admin` / `auditor` / `pentester`,具有细粒度路由保护 - **审计日志** — 所有创建/更新/删除/导入操作都记录了用户、IP 和时间戳 - **100% 参数化 SQL** — 没有基于字符串构建的查询,没有注入向量(OWASP Top 10 2021) - **快速启动失败** — 后端拒绝在没有默认 `JWT_SECRET` 的情况下启动 - **CORS** 锁定到配置的源(无通配符) ## 技术栈 | 层 | 技术 | |-------|-----------| | 后端 | Node.js + Express(单文件,快速启动) | | 前端 | React 18 + Vite + TanStack Router | | UI | shadcn/ui + Tailwind CSS v4 | | 状态 | Zustand(身份验证)+ TanStack Query(服务器状态) | | 图表 | Recharts | | 数据库 | MariaDB / MySQL 8.0+ | | 身份验证 | JWT + bcryptjs + 纯 JS TOTP(RFC 6238) | | PDF | jsPDF + html2canvas | | 文件上传 | multer(证据、扫描器 XML、徽标) | | i18n | react-i18next | ## 安装 安装后,尝试导入社区参与内容以探索所有功能:转到 **参与内容 → 导入** 并从 `community-engagements/`(community-engagements/)选择 `.zip` 文件。 ### 选项 A - 安装脚本(推荐用于 Linux 服务器) ``` git clone https://github.com/allsafe-ar/gungnir-community.git cd gungnir-community chmod +x install.sh && sudo ./install.sh ``` 在 Ubuntu 22.04 / 24.04 和 Debian 12 上测试。自动安装 Node.js、MySQL、nginx 和 PM2。 ### 选项 B - Docker ``` git clone https://github.com/allsafe-ar/gungnir-community.git cd gungnir-community cp .env.example .env # 编辑 .env:设置 DB_PASSWORD、DB_ROOT_PASSWORD 和 JWT_SECRET(openssl rand -hex 32) docker compose up -d ``` ### 选项 C - 手动 ``` # 后端 cd backend npm install cp .env.example .env # 编辑 .env:数据库凭证 + 强大的 JWT_SECRET(至少 32 个字符) npm start # 前端 cd frontend npm install npm run build # Production build → dist/ ``` 默认凭据(首次运行):`admin` / `admin123` - **立即更改**。 ## 架构 ``` gungnir-community/ ├── backend/ │ ├── server.js # Single-file Express backend │ ├── integrations/ │ │ ├── recon.js # OSINT integrations (Shodan, VT, Censys, etc.) │ │ └── http.js # HTTP helper │ ├── package.json │ └── .env.example └── frontend/ ├── src/ │ ├── features/ # One directory per feature domain │ ├── routes/ # TanStack Router file-based routing │ ├── components/ # Shared UI components + layout │ ├── stores/ # Zustand auth store │ ├── lib/ # API client, PDF generation, utilities │ └── locales/ # es.json + en.json └── ... ``` ## 角色 | 角色 | 功能 | |------|-------------| | `admin` | 完全访问 - 用户、设置、所有参与内容、API 密钥 | | `auditor` | 创建和管理参与内容、发现、导入扫描 - 无用户管理 | | `pentester` | 在分配的参与内容内
标签:MITM代理, 自动化攻击