muneeb03ahmed/Vulnerability-CVE-Scanner
GitHub: muneeb03ahmed/Vulnerability-CVE-Scanner
一个轻量级的Python漏洞扫描器,通过多线程端口扫描、Banner抓取和服务版本检测,结合NVD API实现CVE匹配并生成结构化安全报告。
Stars: 0 | Forks: 0
# 🛡️ 漏洞 / CVE 扫描器
一个轻量级、模块化的 Python 漏洞扫描器,通过 NVD (National Vulnerability Database) API 执行多线程端口扫描、Banner 抓取、服务/版本检测以及 CVE 匹配。
## 🚀 功能特性
- 🔍 多线程 TCP 端口扫描
- 📡 Banner 抓取 (HTTP, SSH, FTP 等)
- 🧠 服务和版本检测
- 🛡️ 使用 NVD API 进行 CVE 匹配
- 📊 结构化 CLI 输出
- 📄 JSON 报告生成
- ⚙️ 模块化且可扩展的架构
## 🏗️ 项目结构
```
vulnerability_cve_scanner/
│
├── core/
│ ├── port_scanner.py
│ ├── banner_grabber.py
│ ├── service_detector.py
│
├── cve/
│ ├── cve_fetcher.py
│ ├── cve_matcher.py
│
├── report/
│ ├── report_generator.py
│
├── main.py
├── requirements.txt
```
## ⚙️ 安装说明
### 1. 克隆仓库
```
git clone https://github.com/your-username/vulnerability-cve-scanner.git
cd vulnerability-cve-scanner
```
### 2. 创建虚拟环境
```
python -m venv venv
```
### 3. 激活虚拟环境
#### Windows (PowerShell)
```
.\venv\Scripts\Activate.ps1
```
#### Windows (CMD)
```
venv\Scripts\activate.bat
```
#### Linux / Mac
```
source venv/bin/activate
```
### 4. 安装依赖
```
pip install -r requirements.txt
```
如果 requirements.txt 为空:
```
pip install requests
```
## ▶️ 使用方法
运行扫描器:
```
python main.py
```
## 🧪 输入示例
```
Enter target IP or domain: scanme.nmap.org
Enter ports (e.g. 1-1024 or 22,80,443): 22,80,443
```
## 📊 输出示例
```
Port: 80
Service: Apache
Version: 2.2.8
CVEs:
- CVE-2008-2364 (MEDIUM)
- CVE-2022-29405 (MEDIUM)
```
## 📁 输出报告
会生成一份 JSON 报告:
```
report.json
```
示例:
```
{
"target": "192.168.1.1",
"open_ports": [
{
"port": 80,
"service": "Apache",
"version": "2.2.8",
"cves": [
{
"id": "CVE-2008-2364",
"severity": "MEDIUM"
}
]
}
]
}
```
## 🧪 测试环境
推荐的测试目标:
- Metasploitable 2 (VM)
- Localhost (127.0.0.1)
- scanme.nmap.org (安全的公共目标)
## ⚠️ 局限性
- CVE 匹配基于关键词(可能会产生误报)
- 协议指纹识别能力有限
- 无深度漏洞验证
- 性能取决于 API 响应时间
## 🚀 未来改进方向
- CLI 参数 (`--target --ports`)
- 日志系统
- 基于 CPE 的 CVE 匹配(准确率更高)
- Web 仪表板 (Flask/FastAPI)
- 扫描历史存储
- 与 Nmap 集成
- 异步扫描以提升性能
## 🔐 道德规范
此工具旨在用于:
- 教育目的
- 授权渗透测试
- 受控实验室环境
❌ 切勿扫描未获授权的系统。
## 🧠 工作原理
1. 扫描开放的 TCP 端口
2. 抓取服务 Banner
3. 检测服务和版本
4. 查询 NVD API 获取 CVE
5. 生成结构化报告
## 🧑💻 作者
Muneeb Ahmed
Cybersecurity & SOC Analyst
## 📌 许可证
本项目仅用于教育目的。
标签:Apache漏洞, Banner抓取, Claude, CVE匹配, CVE检测, GPT, Homebrew安装, NVD API, Python安全工具, Qt框架, 加密, 多线程扫描, 密码管理, 并发处理, 插件系统, 数据统计, 服务器安全, 服务识别, 漏洞扫描器, 漏洞管理, 端口扫描, 网络安全, 自动化报告, 逆向工具, 隐私保护