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, 主机安全, 后端开发, 威胁情报, 实时处理, 密码管理, 库, 应急响应, 开发者工具, 网络安全, 逆向工具, 隐私保护