TechTensor/VulnScope-Vulnerability-Scanner

GitHub: TechTensor/VulnScope-Vulnerability-Scanner

一款基于 Flask 的轻量级 Web 漏洞评估工具,面向授权的本地和私有网络安全扫描,帮助用户学习端口扫描、服务检测和风险分级等基础安全概念。

Stars: 0 | Forks: 0

# 🛡️ VulnScope — 漏洞评估扫描器 **VulnScope** 是一款基于 Web 的漏洞评估工具,旨在对 **localhost 和私有网络系统** 执行有限的、非破坏性的安全检查。 该应用程序可识别开放的 TCP 端口、检测服务暴露情况、分析选定的 Web 安全标头、审查可见的软件信息、对安全发现进行分类,并生成简单的漏洞评估报告。 VulnScope 使用 **Python、Flask、HTML、CSS、JavaScript 和 SQLite** 构建,提供了一个交互式的网络安全仪表板,用于学习基础的漏洞评估和渗透测试概念。 ## ✨ 功能 ### 🔍 授权目标扫描 VulnScope 接受: * Localhost 目标 * Loopback 地址 * 私有网络 IP 地址 * 私有网络主机名 这款教育性扫描器会故意拦截公共互联网目标。 ### 🌐 常见 TCP 端口扫描 扫描器会检查预定义的 **15 个常见 TCP 端口**: | 端口 | 服务 | | ---- | ---------------- | | 21 | FTP | | 22 | SSH | | 23 | Telnet | | 25 | SMTP | | 53 | DNS | | 80 | HTTP | | 110 | POP3 | | 143 | IMAP | | 443 | HTTPS | | 445 | SMB | | 3306 | MySQL | | 5432 | PostgreSQL | | 6379 | Redis | | 8000 | 开发 HTTP | | 8080 | 备用 HTTP | 扫描器使用 TCP 连接检查来识别接受连接的服务。 ### 🖥️ 服务暴露检测 VulnScope 可识别通常暴露的服务,例如: * FTP * SSH * Telnet * SMB * MySQL * PostgreSQL * Redis * HTTP 和 HTTPS 服务 风险引擎会区分: * **Localhost** * **私有网络** 一个开放的 localhost 端口不会自动被视为高风险漏洞。 ### 🔎 服务 Banner 分析 扫描器会审查在网络连接期间自愿返回的服务信息。 对于基于文本的服务,VulnScope 会提取可读的 banner 信息。 对于 MySQL 服务,应用程序会安全地处理二进制握手数据包,并提取有用的信息,例如: ``` MySQL service detected Version: 8.0.42 Authentication Plugin: caching_sha2_password ``` 原始的二进制协议数据不会直接显示在界面中。 ### 🌍 HTTP 安全标头分析 对于检测到的 Web 服务,VulnScope 会检查选定的 HTTP 安全标头,包括: * `Content-Security-Policy` * `X-Content-Type-Options` * `Referrer-Policy` * 针对 HTTPS 服务的 `Strict-Transport-Security` 扫描器还可以识别通过 `Server` 响应标头暴露的可见 Web 服务器信息。 ### ⚠️ 风险分类 安全观察结果分为五个级别: * **严重** * **高危** * **中危** * **低危** * **信息** 总体评估风险是根据扫描期间检测到的最高严重程度计算的。 VulnScope 将**服务暴露观察结果**与**已确认的漏洞**区分开来。 仅凭一个开放的端口并不能自动证明系统存在漏洞。 ### 🛠️ 修复建议 每项发现包括: * 发现标题 * 严重程度 * 受影响的服务 * 技术证据 * 建议的修复措施 示例: ``` Finding: Local MySQL Service Detected Severity: Informational Evidence: MySQL is accepting a connection on localhost. Recommendation: Keep MySQL patched and verify that it is bound only to intended interfaces. ``` ### 📊 交互式安全仪表板 VulnScope 界面显示: * 总体风险 * 目标范围 * 检查的端口数 * 开放端口数 * 安全发现总数 * 高危发现数量 * 检测到的服务 * 详细的漏洞发现 * 修复指导 该界面采用受网络安全启发的深色仪表板设计,并带有动态雷达可视化和扫描进度指示器。 ### 📁 扫描历史记录 VulnScope 使用 **SQLite** 存储评估历史记录。 存储的扫描信息包括: * 目标 * 解析的 IP 地址 * 总体风险 * 开放端口数 * 发现数量 * 安全发现 * 扫描时间戳 最近的评估报告会显示在扫描存档部分。 ### 📄 漏洞报告导出 每次完成的扫描都可以导出为简单的基于文本的漏洞评估报告。 报告包括: * 目标信息 * 解析的 IP 地址 * 总体风险 * 扫描时间戳 * 安全发现 * 技术证据 * 修复建议 ## 🛠️ 使用的技术 | 技术 | 用途 | | ------------------ | ---------------------- | | Python | 扫描器和后端逻辑 | | Flask | Web 应用框架 | | Socket Programming | TCP 端口连接检查 | | Python `ipaddress` | 目标范围验证 | | Python `ssl` | HTTPS 连接处理 | | SQLite | 扫描历史记录存储 | | HTML5 | 应用程序结构 | | CSS3 | 网络安全仪表板设计 | | JavaScript | 交互式扫描界面 | ## 📂 项目结构 ``` VulnScope/ │ ├── app.py ├── scanner.py ├── database.py │ ├── database/ │ └── scanner.db │ ├── static/ │ ├── css/ │ │ └── style.css │ │ │ └── js/ │ └── app.js │ └── templates/ └── index.html ``` ## 🚀 如何运行该项目 ### 1. 安装 Flask 打开终端并运行: ``` pip install flask ``` ### 2. 打开项目目录 导航到 VulnScope 项目文件夹: ``` cd VulnScope ``` ### 3. 运行 Flask 应用程序 ``` python app.py ``` ### 4. 打开 VulnScope 打开 Web 浏览器并访问: ``` http://127.0.0.1:5000 ``` ## 🧪 测试扫描器 为了进行安全的本地演示,请输入: ``` 127.0.0.1 ``` 确认: ``` I own this target or have explicit permission to assess it. ``` 然后点击 **扫描目标**。 扫描结果取决于计算机上当前运行的服务。 例如,运行 MySQL 的计算机可能会将 TCP 端口 `3306` 显示为打开状态。 ## 🧠 扫描器工作原理 ``` Authorized Target ↓ Target Validation ↓ Target Scope Detection ↓ TCP Port Scanning ↓ Service Identification ↓ Banner Processing ↓ HTTP Header Analysis ↓ Risk Classification ↓ Remediation Generation ↓ Vulnerability Report ``` 扫描器使用有限的预定义端口列表和非破坏性的 TCP 连接检查。 ## 🔒 安全与道德使用 VulnScope 专为**网络安全教育学习和授权的漏洞评估**而设计。 用户应该: * 仅扫描自己拥有的系统 * 在评估其他系统之前获得明确的许可 * 避免未经授权的网络扫描 * 遵守适用的网络安全法律和组织政策 扫描器故意将目标限制在 localhost 和私有网络系统。 ## ⚠️ 局限性 VulnScope 是一款轻量级的教育性漏洞评估工具,**不能替代专业的安全扫描器**。 当前的局限性包括: * 有限的预定义 TCP 端口列表 * 不执行漏洞利用 * 没有凭证攻击 * 没有暴力破解功能 * 不扫描公共互联网目标 * 没有自动化的 CVE 数据库集成 * 没有经过身份验证的漏洞评估 软件版本信息将作为观察结果报告。如果没有经过验证的漏洞或版本数据源,VulnScope 不会将软件归类为过时或存在漏洞。 ## 🎯 项目目标 VulnScope 的目标是理解并演示与以下内容相关的概念: * 漏洞评估 * TCP 端口扫描 * 网络服务暴露 * Socket 编程 * 服务 banner 分析 * HTTP 安全标头 * 风险分类 * 安全修复 * 道德渗透测试原则 * Flask Web 应用程序开发 ## 📄 免责声明 VulnScope 的开发严格出于**教育和授权的安全评估目的**。 开发者不对本应用程序的未经授权或非法使用负责。 在对您不拥有的系统执行漏洞评估之前,请务必获得适当的授权。
标签:Flask, Python, 密码管理, 插件系统, 数据可视化, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护