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框架, 加密, 多线程扫描, 密码管理, 并发处理, 插件系统, 数据统计, 服务器安全, 服务识别, 漏洞扫描器, 漏洞管理, 端口扫描, 网络安全, 自动化报告, 逆向工具, 隐私保护