Guppss/VulnScan-Pro
GitHub: Guppss/VulnScan-Pro
一款基于 PyQt6 构建的桌面端漏洞扫描器,提供多线程端口扫描、CVE 漏洞检测、风险评分及 PDF 报告生成功能。
Stars: 5 | Forks: 0

# ⚡ VulnScan Pro





一款使用 Python 3.13 和 PyQt6 构建的专业网络安全漏洞扫描器。
专为**授权的安全评估、教育研究和防御性网络安全**而设计。
## ⚠ 法律声明
## 功能
| 功能 | 描述 |
|---|---|
| **端口扫描器** | 快速多线程 TCP 扫描,支持高达 500 个并发线程 |
| **服务检测** | 对 15 种以上常见服务进行 Banner 抓取和指纹识别 |
| **漏洞引擎** | 包含 40 多个已知漏洞的本地 CVE 数据库 |
| **严重性系统** | 带有 CVSS 评分的严重 / 高 / 中 / 低 / 信息评级 |
| **仪表板** | 显示严重性分布、趋势和统计信息的实时图表 |
| **扫描历史** | 基于 SQLite 的历史记录,完整保留所有结果 |
| **PDF 报告** | 使用 ReportLab 生成的专业评估报告 |
| **CSV 导出** | 将扫描历史导出为 CSV 以便进一步分析 |
| **过滤** | 按严重性、主机、端口和服务进行过滤 |
| **建议** | 为每个发现提供可操作的修复建议 |
| **调度** | 支持循环扫描的调度程序 |
## 截图

## 安装说明
### 前置条件
- Python 3.10 或更高版本(推荐 3.13)
- pip
### 步骤
```
# 1. 导航到项目目录
cd "VulnScan_Pro"
# 2. (推荐)创建虚拟环境
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux / macOS
# 3. 安装依赖
pip install -r requirements.txt
# 4. 启动应用程序
python main.py
```
## 使用说明
### 开始扫描
1. 点击侧边栏中的 **新建扫描**
2. 输入您的目标:
- 单个 IP:`192.168.1.1`
- CIDR 范围:`192.168.1.0/24`
- IP 范围:`192.168.1.1-254`
- 主机名:`myserver.local`
3. 选择端口预设(推荐使用“常用端口”进行快速扫描)
4. 根据需要调整线程数和超时时间
5. 点击 **▶ 开始扫描**
### 查看结果
每次扫描后,结果会自动显示在 **结果** 页面。
每个发现显示:
- CVE ID 和名称
- 严重性和 CVSS 评分
- 详细描述
- 修复建议
- 检测到的服务版本
### 生成报告
1. 导航至 **报告**
2. 选择已完成的扫描
3. 点击 **生成 PDF 报告**
4. 选择保存位置
### 过滤结果
使用结果页面顶部的过滤栏进行过滤,条件包括:
- 严重性级别
- 主机 IP
- 端口号
- 服务名称
## 项目结构
```
VulnScan_Pro/
├── main.py # Application entry point
├── requirements.txt
├── core/
│ ├── scanner.py # Multithreaded port scanner (QThread)
│ ├── service_detector.py # Banner grabbing & service fingerprinting
│ ├── vuln_engine.py # CVE matching engine
│ ├── risk_calculator.py # CVSS-weighted risk score
│ └── scheduler.py # Recurring scan scheduler
├── gui/
│ ├── main_window.py # Main window with sidebar navigation
│ ├── dashboard.py # Statistics dashboard with charts
│ ├── scan_page.py # Scan configuration & execution
│ ├── results_page.py # Findings browser with filtering
│ ├── history_page.py # Historical scan management
│ ├── reports_page.py # PDF report generation
│ ├── settings_page.py # Application preferences
│ └── widgets/
│ ├── stat_card.py # Metric summary card
│ ├── charts.py # DonutChart, BarChart, LineChart
│ └── severity_badge.py# Severity pill badge
├── database/
│ ├── db_manager.py # SQLite CRUD operations
│ └── vuln_db.py # Local vulnerability database (40+ CVEs)
├── reports/
│ └── pdf_generator.py # ReportLab PDF report builder
└── utils/
├── validators.py # Input validation
├── network_utils.py # Socket utilities
└── logger.py # Centralised logging
```
## 漏洞数据库
本地 CVE 数据库涵盖以下常见服务:
| 服务 | 涵盖的 CVE |
|---|---|
| OpenSSH | CVE-2023-38408, CVE-2021-41617, CVE-2018-15473 |
| Apache HTTP | CVE-2021-41773, CVE-2021-42013, CVE-2021-40438, CVE-2022-22720 |
| Nginx | CVE-2021-23017, CVE-2022-41741 |
| MySQL | CVE-2023-21980, CVE-2022-21589 |
| PostgreSQL | CVE-2022-1552, CVE-2022-41862 |
| Redis | CVE-2021-32626, CVE-2022-24736 |
| vsftpd | CVE-2011-2523 (后门) |
| SMB | CVE-2017-0144 (EternalBlue) |
| RDP | CVE-2019-0708 (BlueKeep) |
| Telnet | 不安全协议检测 |
| FTP | 明文凭证警告 |
## 伦理使用
此工具专为以下用途构建:
- ✅ 测试您自己的系统
- ✅ 授权的渗透测试项目
- ✅ 教育性网络安全实验室
- ✅ 防御性安全评估
- ❌ 未经许可扫描系统
- ❌ 恶意侦察
- ❌ 任何非法活动
## 架构说明
- **多线程**:所有网络 I/O 都在使用 `ThreadPoolExecutor` 进行并行端口探测的 `QThread` worker 中运行。GUI 永远不会阻塞。
- **数据库**:通过 `db_manager.py` 使用带有 WAL 模式和强制外键的 SQLite。
- **图表**:基于 QPainter 的自定义小部件 —— 无需外部图表库。
- **报告**:ReportLab Platypus 框架,采用带有品牌标识的暗色主题样式。
标签:DNS枚举, PyQt6, Python, 主机安全, 加密, 插件系统, 数据统计, 无后门, 桌面应用, 漏洞扫描器, 漏洞检测(CVE), 端口扫描, 网络安全工具, 逆向工具