venom046/vulnscan
GitHub: venom046/vulnscan
一个专为Kali Linux设计的自动化漏洞扫描器,用于检测端口、配置和Web漏洞以提升安全评估效率。
Stars: 0 | Forks: 0
# VulnScan — 自动化漏洞扫描器
### Kali Linux 版 | Python 3 | 零依赖
## 功能简介
| 模块 | 检测内容 |
|--------|--------|
| **端口扫描器** | TCP 扫描与服务指纹识别、风险服务检测 |
| **标头扫描器** | 缺失的 HSTS、CSP、X-Frame-Options、Cookie 标志、信息泄露 |
| **SSL 扫描器** | 过期证书、自签名证书、TLS 1.0/1.1、弱密码套件、主机名不匹配 |
| **凭据扫描器** | FTP 匿名访问、Redis 未认证、MongoDB 开放、Elasticsearch 开放、HTTP 基本认证 |
| **Web 扫描器** | 敏感文件、目录列表、CORS 错误配置、反射型 XSS、SQLi 错误、开放重定向 |
## 快速开始
```
# 克隆/复制到你的 Kali 机器
cd ~/tools
git clone vulnscan # or copy the folder
# 运行 setup(仅一次)
cd vulnscan
bash setup.sh
# 重新加载 shell
source ~/.bashrc
# 扫描目标
vulnscan 192.168.1.100
```
## 用法
```
vulnscan [options]
Positional:
target IP address or domain name
Options:
-p, --ports Port range (default: 1-1024)
Examples: 80,443 | 1-65535 | 22,80,443
-t, --threads Thread count (default: 100)
--timeout Timeout per connection in seconds (default: 2.0)
-o, --output Save report: report.json or report.txt
-v, --verbose Verbose output (show all probes)
--no-color Disable ANSI colors
--skip-ports Skip port scanning
--skip-headers Skip HTTP header analysis
--skip-ssl Skip SSL/TLS analysis
--skip-creds Skip default credential check
--skip-web Skip web vulnerability scan
```
### 示例
```
# 完整扫描本地机器
vulnscan 192.168.1.1
# 扫描所有 65535 端口,300 线程,保存 JSON 报告
vulnscan 192.168.1.1 -p 1-65535 -t 300 -o report.json
# 仅 Web 扫描域名
vulnscan example.com --skip-ports --skip-creds -v
# 快速扫描,生成文本报告
vulnscan 10.0.0.5 -p 80,443,8080,8443 -o results.txt
# 详细扫描,自定义超时
vulnscan target.local --timeout 3.0 -v
```
## 文件结构
```
vulnscan/
├── vulnscan.py ← Main entry point
├── setup.sh ← One-time installer
├── requirements.txt ← Optional pip packages
├── core/
│ ├── __init__.py
│ ├── banner.py ← ASCII banner
│ ├── utils.py ← Colors, helpers, port parser
│ ├── port_scanner.py ← Module 1: TCP port scan
│ ├── header_scanner.py ← Module 2: HTTP security headers
│ ├── ssl_scanner.py ← Module 3: SSL/TLS checks
│ ├── credential_scanner.py ← Module 4: Default credentials
│ ├── web_scanner.py ← Module 5: Web vulnerabilities
│ └── reporter.py ← Summary + file export
└── reports/ ← Auto-created output folder
```
## 严重级别
| 级别 | 颜色 | 含义 |
|-------|-------|---------|
| 严重 (CRITICAL) | 红色加粗 | 存在立即被利用的风险(如开放的 Redis、MongoDB、过期证书) |
| 高危 (HIGH) | 红色 | 需要立即修复的严重漏洞 |
| 中危 (MEDIUM) | 黄色 | 应当处理的显著弱点 |
| 低危 (LOW) | 青色 | 次要问题 / 违反最佳实践 |
| 信息 (INFO) | 灰色 | 信息性,无即时风险 |
## 法律声明
## 扩展 VulnScan
通过以下方式添加新模块:
1. 创建 `core/my_module.py`,其中包含一个返回 `{"findings": [...]}` 的类
2. 在 `vulnscan.py` 中导入它
3. 在 `run_scan()` 中添加扫描调用
每个发现字典应包含:`module`(模块)、`severity`(严重级别)、`title`(标题)、`description`(描述)、`recommendation`(建议)。
标签:CORS, DNS解析, GraphQL安全矩阵, HTTP头部检查, JSON报告, LFI, Python 3, Scrypt密钥派生, SQLi, SSL/TLS扫描, TXT报告, Web漏洞扫描, XSS, 安全扫描器, 开源项目, 彩色报告, 插件系统, 数据统计, 服务指纹识别, 模块化架构, 漏洞情报, 端口扫描, 终端输出, 网络安全, 隐私保护, 零依赖, 风险检测, 默认凭据检测