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, 实时处理, 密码管理, 插件系统, 数据统计, 无后门, 端口扫描, 逆向工具