KingPKingP/metasploit-web-scanner-module
GitHub: KingPKingP/metasploit-web-scanner-module
一个集成多种 Web 漏洞探测、安全配置检查和信息富化能力的高级 Metasploit 辅助扫描器模块,支持结构化报告输出。
Stars: 0 | Forks: 0
# MSF Web 漏洞扫描器高级版
高级 Metasploit 辅助扫描器,用于 Web 评估,支持结构化报告、探测编排、信息富化以及便于分流的发现结果。
- 模块路径:`auxiliary/scanner/http/web_vuln_scanner_advanced`
- 源文件:`/root/web_vuln_scanner_advanced.rb`
## 功能特性
- 端口扫描,支持可选的服务 Banner 抓取
- 安全请求头审计 + 请求头质量检查
- Cookie 安全检查(`Secure`、`HttpOnly`、`SameSite`)
- TLS 状态检查(证书过期、弱 TLS 版本/密码套件)
- Endpoint 发现 + 轻量级爬取
- 被动发现:
- crt.sh 子域名信息富化
- Wayback CDX 历史 endpoint
- 注入探测(潜在发现):
- XSS、LFI/路径遍历、SQLi(GET/POST/请求头)
- SSTI、SSRF、命令注入、NoSQLi、XXE
- 错误配置检查:
- 敏感文件、备份文件变体、security.txt
- CORS + CORS 预检滥用
- 敏感 endpoint 上的 cache-control
- 开放重定向检查
- WAF 启发式检测
- 响应模糊测试 / 冗长错误信息泄露
- 可选的会话固定 + CSRF 强制启发式检查
- NVD + Shodan 信息富化
- 导出格式:`html`、`json`、`csv`、`txt`
- 每项发现结果的置信度评分(`low|medium|high`)
## 安装
```
mkdir -p ~/.msf4/modules/auxiliary/scanner/http
cp /root/web_vuln_scanner_advanced.rb ~/.msf4/modules/auxiliary/scanner/http/
chmod 644 ~/.msf4/modules/auxiliary/scanner/http/web_vuln_scanner_advanced.rb
```
在 `msfconsole` 中:
```
reload_all
search web_vuln_scanner_advanced
use auxiliary/scanner/http/web_vuln_scanner_advanced
```
## 快速入门
```
set RHOSTS example.com
set SSL true
set RPORT 443
set TARGETURI /
set FORMAT html
set OUTFILE /tmp/vuln_report
run
```
输出文件:
- `/tmp/vuln_report.html`
- `/tmp/vuln_report.json`
- `/tmp/vuln_report.csv`(如果使用 `FORMAT csv`)
- `/tmp/vuln_report.txt`(如果使用 `FORMAT txt`)
## 高覆盖率配置
```
set THREADS 12
set VERBOSE false
set TIMEOUT 10
set FULL_PORTS false
set BANNER_CHECK true
set CRAWL true
set CRAWL_DEPTH 1
set CRAWL_MAX_PAGES 40
set PROBE_XSS true
set PROBE_LFI true
set PROBE_SQLI true
set SQLI_LEVEL normal
set PROBE_SSTI true
set PROBE_SSRF true
set PROBE_CMDI true
set PROBE_NOSQLI true
set PROBE_XXE true
set CHECK_TRACE true
set CHECK_SENSITIVE_FILES true
set CHECK_BACKUP_FILES true
set CHECK_COOKIE_SECURITY true
set CHECK_TLS true
set CHECK_SECURITY_TXT true
set CHECK_CORS_PREFLIGHT true
set CHECK_CACHE_CONTROL true
set CHECK_WAF true
set CHECK_RESPONSE_FUZZING true
set CHECK_OPEN_REDIRECT true
set PASSIVE_SUBDOMAIN_ENUM false
set WAYBACK_ENUM false
set CHECK_SESSION_FIXATION false
set CHECK_CSRF false
set FORMAT html
run
```
## 选项参考
### 核心选项
- `RHOSTS` 目标主机
- `RPORT` 目标端口
- `SSL` 使用 HTTPS
- `TARGETURI` 基础 URI 路径
- `FORMAT` 以下格式之一 `txt|csv|json|html`
- `OUTFILE` 输出文件前缀
- `TIMEOUT` HTTP 超时秒数
- `THREADS` Endpoint 发现线程数
- `VERBOSE` 详细的模块日志记录
### 侦察 / 发现
- `FULL_PORTS` 扩展的常用端口集
- `BANNER_CHECK` 对开放端口进行服务 Banner 抓取
- `CRAWL` 启用轻量级爬取
- `CRAWL_DEPTH` 爬取深度
- `CRAWL_MAX_PAGES` 页面限制
- `PASSIVE_SUBDOMAIN_ENUM` 查询 crt.sh 获取相关主机
- `WAYBACK_ENUM` 从 Wayback CDX 提取历史 endpoint
### 探测控制
- `PROBE_XSS`
- `PROBE_LFI`
- `PROBE_SQLI`
- `SQLI_LEVEL` `low|normal|aggressive`
- `PROBE_SSTI`
- `PROBE_SSRF`
- `PROBE_CMDI`
- `PROBE_NOSQLI`
- `PROBE_XXE`
### 安全 / 错误配置检查
- `CHECK_TRACE`
- `CHECK_SENSITIVE_FILES`
- `CHECK_BACKUP_FILES`
- `CHECK_COOKIE_SECURITY`
- `CHECK_TLS`
- `CHECK_SECURITY_TXT`
- `CHECK_CORS_PREFLIGHT`
- `CHECK_CACHE_CONTROL`
- `CHECK_WAF`
- `CHECK_RESPONSE_FUZZING`
- `CHECK_OPEN_REDIRECT`
- `CHECK_SESSION_FIXATION`(启发式)
- `CHECK_CSRF`(启发式)
### 信息富化
- `NVD_ENRICH`
- `NVD_API_KEY`
- `SHODAN_ENRICH`
- `SHODAN_API_KEY`
## NVD + Shodan 使用
在 `msfconsole` 中:
```
set NVD_ENRICH true
set NVD_API_KEY
set SHODAN_ENRICH true
set SHODAN_API_KEY
run
```
或者在启动 Metasploit 之前设置环境变量:
```
export NVD_API_KEY="..."
export SHODAN_API_KEY="..."
```
## 报告
### HTML
- 风险评分 + 风险等级
- 开放端口
- 已发现的 endpoint
- 包含严重程度、置信度和证据的发现结果表
### JSON
包含:
- `open_ports`
- `port_banners`
- `discovered_endpoints`
- `findings`
- `nvd_matches`
- `shodan`
## 故障排除
### `NoMethodError: rand_text_alphanumeric`
Metasploit 加载了旧的模块副本。
```
cp /root/web_vuln_scanner_advanced.rb ~/.msf4/modules/auxiliary/scanner/http/web_vuln_scanner_advanced.rb
```
然后在 `msfconsole` 中:
```
reload_all
```
### `Invalid option RHOSTS: Host resolution failed`
DNS 解析问题。
```
dig +short
nslookup
```
备用方案:
```
set RHOSTS
set VHOST
```
## 安全提示
- 仅在已授权的目标上使用。
- 不要在源代码中硬编码 API 密钥。
- 如果密钥泄露,请立即轮换。
- 在公开披露之前,应将所有 `Potential`(潜在)发现视为需进一步验证的结果。
标签:CORS配置, GitHub, HTTP头审计, LFI, Metasploit模块, Msfconsole, NoSQL注入, NVD, OpenCanary, Ruby, SSRF, SSTI, TLS安全检查, WAF绕过, Web安全, XSS检测, XXE, 加密, 命令注入, 子域名枚举, 安全报告生成, 实时处理, 密码管理, 插件系统, 数据统计, 漏洞扫描器, 知识库, 端口扫描, 系统安全, 网络安全评估, 蓝队分析