sravansathvik19/Vulnerability-Scanner-Mini-Project-

GitHub: sravansathvik19/Vulnerability-Scanner-Mini-Project-

一个面向学习目的的迷你 Python 漏洞扫描器,通过端口扫描、Banner 抓取、过时版本检测和 HTTP 安全头检查生成基础安全评估报告。

Stars: 0 | Forks: 0

# 迷你漏洞扫描器 一个用于学习漏洞评估 / 渗透测试基础知识的小型 Python 脚本。**请仅在您拥有或获得明确测试权限的系统上运行它。** ## 功能说明 1. **端口扫描** — 对端口列表或范围进行多线程 TCP connect 扫描。 2. **Banner 抓取** — 读取服务 Banner(SSH、FTP、SMTP 等),并向 HTTP/HTTPS 端口发送基本的 `HEAD /` 请求。 3. **过时版本检测** — 将 Banner 与一个小型的已知过时软件版本字符串表进行匹配(例如旧版 OpenSSH、vsFTPd 2.3.4、旧版 Apache/nginx/PHP/MySQL)并对其进行标记。 4. **弱配置检查** - 标记固有风险的高危开放端口(Telnet、SMB、暴露的数据库、VNC、无认证的 Redis、RDP 等) - 对于 Web 端口:标记缺失的安全 HTTP 头(`Strict-Transport-Security`、`Content-Security-Policy`、`X-Frame-Options` 等)以及通过 `Server` / `X-Powered-By` 头导致的信息泄露。 5. **报告生成** — 向控制台打印可读报告,并同时保存带有严重性评级(HIGH/MEDIUM/LOW)的 `.txt` 和 `.json` 报告。 ## 用法 ``` # 扫描常见端口的精选列表(默认) python3 vscanner.py --target 127.0.0.1 # 扫描特定端口范围 python3 vscanner.py --target 192.168.1.10 --ports 1-1024 # 扫描特定端口 python3 vscanner.py --target example.com --ports 21,22,80,443,3306 # 调整速度 / 敏感度 python3 vscanner.py --target 10.0.0.5 --ports 1-65535 --threads 200 --timeout 0.5 ``` 输出文件:当前目录下的 `report__.txt` 和 `.json`。 ## 如何对应真实的渗透测试工作流 | 脚本功能 | 现实中的等效工具/操作 | |------------------------------|------------------------------------------------| | TCP connect 扫描 | `nmap -p- target` | | Banner 抓取 | `nmap -sV`、`nc`、手动 Banner 抓取 | | 版本/CVE 匹配 | `nmap --script vuln`、Nessus/OpenVAS、NVD 查询 | | HTTP 头检查 | `nikto`、`OWASP ZAP` 基线扫描、`securityheaders.com` | | 带有严重性评级的报告 | 渗透测试报告交付物 | ## 局限性(撰写报告时请注意) - “过时版本”表非常小且仅作演示用途——它**不是**真正的 CVE 数据库。生产级工具会查询类似 NVD API、Vulners 的服务,或使用 `nmap` 的 NSE 漏洞脚本。 - 它仅执行 TCP connect 扫描(没有 SYN/隐蔽扫描,也没有 UDP 扫描)。 - 如果服务不立即返回 Banner 或需要特定的协议握手,Banner 抓取可能会被规避或更改。 - 不执行任何漏洞利用、暴力破解或主动攻击——这仅属于侦察/评估阶段。 ## 为完善迷你项目建议的扩展方向 - 接入 NVD/Vulners API,以便针对检测到的版本进行真实的 CVE 查询。 - 添加针对 DNS/SNMP/NTP 服务的 UDP 扫描。 - 使用 `ssl` 模块的详细功能添加 SSL/TLS 配置检查(过期证书、弱密码套件、缺失 HSTS),而不仅仅是建立连接。 - 在 JSON/TXT 输出的基础上,添加一个简单的 HTML 报告渲染器。 - 为已知服务添加默认凭据检查(例如,测试路由器的管理面板是否仍在使用 `admin/admin`——仅在您拥有的实验设备上测试)。
标签:Banner抓取, Python, 实时处理, 密码管理, 插件系统, 数据统计, 无后门, 端口扫描, 逆向工具