Shubh21das/CyberGuard-Pro

GitHub: Shubh21das/CyberGuard-Pro

一款基于 Flask 构建的全栈 Web 端综合网络安全事件响应与分析工具包,集成了 OSINT 侦察、威胁情报、Web 审计和数字取证等八大功能模块。

Stars: 1 | Forks: 0

# CyberGuard Pro ### 综合网络事件响应与安全分析工具包 CyberGuard Pro 是一个全栈的、基于 Web 的网络安全事件响应工具包,它将 8 个安全领域的功能整合到一个统一的 Flask 仪表板中。它完全基于免费和开源技术构建,使安全分析师和学生能够从同一个浏览器标签页中执行 OSINT 侦察、网络扫描、威胁情报、Web 安全审计、数字取证、网络钓鱼检测和密码分析——并自动生成 PDF 报告。 ## 目录 - [功能](#features) - [模块](#modules) - [技术栈](#tech-stack) - [前置条件](#prerequisites) - [安装说明](#installation) - [API 密钥配置](#api-keys-setup) - [运行应用程序](#running-the-application) - [模块使用指南](#module-usage-guide) - [安全测试目标](#safe-test-targets) - [项目结构](#project-structure) - [课程实践覆盖范围](#course-practicals-coverage) - [截图](#screenshots) - [贡献](#contributing) - [许可证](#license) ## 功能 - 可从单个 Web 仪表板访问的 8 个集成安全模块 - 在整洁且响应式的 Bootstrap 5 界面中实时渲染扫描结果 - 由 Folium 提供支持的交互式 IP 地理定位地图 - 自动生成整合所有扫描结果的 PDF 审计报告 - 基于 session 的扫描跟踪——运行多个模块并汇编成一份最终报告 - 跨平台——可在 Windows、macOS 和 Linux 上运行 - 100% 免费的 API 和开源工具——无需付费订阅 - 天生注重道德——内置授权免责声明和同意检查 ## 模块 | # | 模块 | 描述 | 使用的 API / 工具 | |---|--------|-------------|-------------------| | 1 | OSINT 侦察 | IP/域名分析——端口、CVE、WHOIS、DNS、地理定位、地图 | Shodan InternetDB, python-whois, dnspython, ip-api.com, Folium | | 2 | 网络扫描器 | 基于 Socket 的 TCP 端口可达性检查与风险评级 | Python socket 库 | | 3 | 威胁情报 | URL、文件哈希和 IP 信誉分析 | VirusTotal API v3, AbuseIPDB API | | 4 | Web 安全审计器 | HTTP 标头、SSL/TLS、cookie、SQLi、XSS 检测 | Python requests, ssl 库 | | 5 | 数字取证 | 文件元数据、哈希、字符串提取、磁盘镜像分析 | ExifTool, hashlib, Sleuth Kit | | 6 | 网络钓鱼检测器 | 电子邮件标头分析、欺骗检测、SPF/DMARC 验证 | dnspython, VirusTotal API | | 7 | 密码分析器 | 强度估算和泄露数据库检查 | zxcvbn, PwnedPasswords API | | 8 | PDF 报告生成器 | 汇总所有 session 扫描结果的综合专业审计报告 | FPDF2 | ## 技术栈 **后端:** Python 3.x, Flask, python-dotenv **前端:** HTML5, Bootstrap 5, Font Awesome, Chart.js, Jinja2 **安全 API:** Shodan InternetDB, VirusTotal v3, AbuseIPDB, PwnedPasswords, ip-api.com **安全工具:** ExifTool, Sleuth Kit, python-whois, dnspython, zxcvbn **报告:** FPDF2, Folium ## 前置条件 在运行项目之前,请确保您的系统已安装以下内容: **Python 3.8 或更高版本** ``` python --version ``` **Nmap**(可选——用作参考) - Windows:从 https://nmap.org/download 下载 - Linux/Kali:`sudo apt install nmap` - Mac:`brew install nmap` **ExifTool** - Windows:从 https://exiftool.org 下载,重命名为 `exiftool.exe`,并放置在 `C:/Windows/` 目录下 - Linux:`sudo apt install libimage-exiftool-perl` - Mac:`brew install exiftool` **Sleuth Kit**(可选——用于磁盘镜像取证) - Kali Linux:已预装。使用 `ils --version` 进行验证 - 其他系统:从 https://sleuthkit.org/sleuthkit/download.php 下载 - 替代 GUI:从 https://www.autopsy.com 获取 Autopsy ## 安装说明 **1. 克隆代码库** ``` git clone https://github.com/Shubh21das/CyberGuard-Pro.git cd CyberGuard-Pro ``` **2. 创建并激活虚拟环境** ``` # 创建 python -m venv venv # Activate — Windows venv\Scripts\activate # Activate — Mac/Linux source venv/bin/activate ``` **3. 安装 Python 依赖** ``` pip install -r requirements.txt ``` ## API 密钥配置 CyberGuard Pro 使用 3 个需要免费 API 密钥的外部 API。通过以下链接注册——它们均无需信用卡。 | API | 注册链接 | 免费套餐限制 | |-----|-------------|-----------------| | VirusTotal | https://virustotal.com/gui/join-us | 4 次请求/分钟,500 次/天 | | AbuseIPDB | https://abuseipdb.com (Pricing → Free) | 1000 次请求/天 | | Shodan (可选) | https://shodan.io (Register) | 100 次查询/月 | **通过复制示例来创建您的 `.env` 文件:** ``` cp .env.example .env ``` **编辑 `.env` 并填入您的密钥:** ``` SHODAN_API_KEY=your_shodan_key_here VIRUSTOTAL_API_KEY=your_virustotal_key_here ABUSEIPDB_API_KEY=your_abuseipdb_key_here SECRET_KEY=your_random_secret_key_here ``` ## 运行应用程序 ``` # 确保 venv 已激活 python app.py ``` 打开浏览器并导航至: ``` http://localhost:5000 ``` 您将看到包含 8 个随时可用模块的 CyberGuard Pro 仪表板。 ## 模块使用指南 **OSINT 侦察** 输入 IP 地址或域名。该模块会查询 Shodan InternetDB,执行 WHOIS 和 DNS 查找,获取地理定位数据,并渲染交互式地图。最适合使用诸如 `scanme.nmap.org` 的域名进行测试。 **网络扫描器** 输入目标 IP 地址或主机名。勾选授权确认复选框。该模块会检查 14 个常见 TCP 端口的可达性,并根据开放端口的数量分配风险评级。 **威胁情报** 选择 URL 扫描、文件哈希查找或 IP 信誉检查。输入目标值,该模块将查询 VirusTotal 和/或 AbuseIPDB,并返回 CLEAN(干净) / SUSPICIOUS(可疑) / MALICIOUS(恶意)的判定结果。 **Web 安全审计器** 输入包含 `http://` 或 `https://` 的完整 URL。该模块会检查 HTTP 安全标头、SSL 证书有效性、cookie 安全标志,并执行基本的 SQLi 和 XSS 反射测试。 **数字取证** 上传任意文件(图像、文档、PDF)。该模块使用 ExifTool 提取所有可用的元数据,计算 MD5/SHA1/SHA256 哈希值,在 VirusTotal 上检查该哈希值,并提取内嵌字符串。对于磁盘镜像,还会执行 Sleuth Kit 分析。 **网络钓鱼检测器** 将原始电子邮件标头粘贴到文本区域中。获取原始标头的方法:在 Gmail 中 → 打开邮件 → 点按三个点菜单 → 选择 Show Original(显示原始内容)。该模块会分析欺骗行为,检查 SPF/DMARC 记录,并分配网络钓鱼风险评级。 **密码分析器** 输入任何需要分析的密码。该模块使用 zxcvbn 估算密码强度,利用 PwnedPasswords k-匿名性 API 检查该密码是否出现在已知的数据泄露中,并提出改进建议。您的密码绝不会被传输到任何服务器。 **PDF 报告生成器** 在运行任意模块组合后,导航至 PDF 报告页面。所有 session 扫描结果都将自动汇总成一份专业的 PDF 审计报告,并保存到 `/reports/` 文件夹中。 ## 安全测试目标 请始终使用已授权的目标。以下目标已获得公开测试许可: | 目标 | 提供方 | 适用模块 | |--------|----------|-------------| | `scanme.nmap.org` | Nmap Project | OSINT 侦察、网络扫描器 | | `http://testphp.vulnweb.com` | Acunetix | Web 安全审计器 | | `http://demo.testfire.net` | IBM | Web 安全审计器 | | `127.0.0.1` | Localhost | 网络扫描器 | | 您自己的 IP 地址 | 自己 | 所有模块 | | 您自己的文件 | 自己 | 数字取证 | | 您自己的电子邮件标头 | 自己 | 网络钓鱼检测器 | ## 项目结构 ``` CyberGuard-Pro/ │ ├── app.py # Main Flask application ├── requirements.txt # Python dependencies ├── .env.example # API key template ├── .gitignore │ ├── modules/ │ ├── __init__.py │ ├── recon.py # OSINT Reconnaissance │ ├── network.py # Network Scanner │ ├── threat_intel.py # Threat Intelligence │ ├── web_security.py # Web Security Auditor │ ├── forensics.py # Digital Forensics │ ├── phishing.py # Phishing Detector │ ├── passwords.py # Password Analyzer │ └── report.py # PDF Report Generator │ ├── templates/ │ ├── base.html # Base layout with navbar │ ├── index.html # Home dashboard │ ├── recon.html # OSINT module page │ ├── network.html # Network scanner page │ ├── threat.html # Threat intel page │ ├── websec.html # Web security page │ ├── forensics.html # Forensics page │ ├── phishing.html # Phishing detector page │ ├── passwords.html # Password analyzer page │ └── report.html # Report compiler page │ ├── static/ # CSS, JS, assets (CDN-based) ├── reports/ # Generated PDF reports (gitignored) └── uploads/ # Temporary file uploads (gitignored) ``` ## 课程实践覆盖范围 本项目是作为浦那 MIT Academy of Engineering 网络安全与取证课程的微型项目而构建的。它涵盖了以下实践内容: | 实践 | 主题 | CyberGuard 模块 | |-----------|-------|------------------| | 实践 01 | NSA 特性、防火墙、浏览器安全、Web 漏洞 | Web 安全审计器、网络钓鱼检测器 | | 实践 02 | SQL 注入渗透测试 | Web 安全审计器 | | 实践 03 | Kali Linux 安全工具 | 网络扫描器、密码分析器 | | 实践 04 | Web 应用安全框架 | Web 安全审计器 | | 实践 05 | wfuzz 模糊测试工具 | Web 安全审计器 | | 实践 06 | 使用 Shodan/Censys 进行 OSINT | OSINT 侦察、威胁情报 | | 实践 08 | 无线安全与流量分析 | 网络扫描器 | | 实践 09 | Sleuth Kit——数字取证 | 数字取证 | ## 许可证 本项目基于 MIT 许可证授权。有关详细信息,请参阅 LICENSE 文件。 ## 作者 **Shubh Das** - GitHub: [@Shubh21das](https://github.com/Shubh21das) - LinkedIn: [in/shubh-das-66330a31a](https://linkedin.com/in/shubh-das-66330a31a) - 电子邮件: shubhdas.17.w@gmail.com *专为浦那 MIT Academy of Engineering 网络安全与取证课程而用心打造 —— 2025–2026*
标签:ESC4, Flask, GitHub, OSINT, 主机安全, 后端开发, 威胁情报, 实时处理, 密码管理, 库, 应急响应, 开发者工具, 网络安全, 逆向工具, 隐私保护