regaan/wshawk
GitHub: regaan/wshawk
面向渗透测试与红队的企业级 WebSocket 安全扫描器与 Web 渗透测试工具包。
Stars: 5 | Forks: 1
# WSHawk — 企业级 WebSocket 安全扫描器与 Web 渗透测试工具包
[](https://www.python.org/downloads/)
[](https://badge.fury.io/py/wshawk)
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://playwright.dev/)
[](https://github.com/regaan/wshawk)
[-blueviolet?style=flat&logo=github)](https://github.com/regaan/wshawk/graphs/traffic)
[](https://github.com/regaan/wshawk)
**WSHawk** 是一款面向专业渗透测试人员和红队的企业级开源 WebSocket 安全扫描器。它利用具有实时反馈循环和遗传 Payload 变异的自适应 **智能 Payload 演进 (SPE)** 引擎,通过 WebSocket 连接执行自动化漏洞评估。专为 **ROT 独立安全研究实验室** 的高性能环境而设计。
从 v3.0.4 版本开始,我们已过渡到 **AGPL-3.0 许可证**,以便在保持项目对社区开放的同时更好地保护项目。此版本包含由 Playwright 驱动的 **无头 DOM Invader**,用于真实的基于浏览器的 XSS 验证和复杂的 SSO 认证流记录/重放。还包括 **上下文感知启发式引擎** 和 **WSHawk 浏览器伴侣**,用于无缝的握手拦截。
## 为什么选择 WSHawk — 企业安全功能
- **智能 Payload 演进** — 基于服务器响应、WAF 拦截和时序信号对 Payload 进行变异和演进的遗传算法
- **22,000+ 个攻击 Payload**,涵盖 11 个类别(SQLi、XSS、CMDi、XXE、SSRF、NoSQLi、LFI、SSTI、LDAP、开放重定向、CSV 注入)
- **通过 Playwright 进行真实的基于浏览器的 XSS 验证** — 确认实际的脚本执行,而不仅仅是模式匹配
- **通过 OAST 回调进行盲注漏洞检测** — 捕获仅响应扫描器遗漏的 XXE、SSRF 和 DNS 数据泄露
- **全双工 WebSocket 拦截器** — 具有逐帧转发、丢弃和编辑功能的 MitM 代理(类似于 Burp Suite)
- **会话劫持分析** — Token 重用、会话固定、权限提升和冒充测试
- **22 个 Web 渗透测试工具** — 爬虫、Fuzzer、端口扫描器、子域名查找器、WAF 检测器、CORS 测试器、SSL 分析器等
- **WAF 感知变异引擎** — 8 种绕过策略(编码、大小写变换、注释注入、Polyglot、标签破坏)
- **CVSS v3.1 评分** — 针对所有发现的行业标准风险评估
- **企业集成** — 自动将发现推送到 Jira、DefectDojo、Slack、Discord 和 Microsoft Teams
- **专业报告** — HTML、JSON、PDF、CSV 和 SARIF 导出格式
- **原生桌面应用** — Electron + Python 混合架构,在 Linux、Windows 和 macOS 上实时流式传输结果
## ⚡ 性能与采用基准
- **社区采用**:过去 14 天内有 900+ 个仓库克隆,并有 120+ 名独立开发者积极参与。
- **扫描速度**:采用 Go 语言设计,经过原生 syscall 优化,在分布式 Fuzzer 模块中实现 **每秒 350,000+ 次执行**。
- **Payload 语料库**:涵盖 11 个漏洞类别的 22,000+ 个专用攻击向量。
## 企业级 WebSocket 漏洞扫描器
WSHawk 的核心引擎执行企业级、有状态、双向的 WebSocket 安全测试。与仅处理 HTTP 请求-响应的传统 DAST 扫描器不同,WSHawk 维持持久的 WebSocket 连接,并分析可能在攻击 Payload 发送很久之后到达的异步响应 —— 这对于现实世界的金融、医疗保健和 SaaS 应用程序至关重要。
### 漏洞检测
| 类别 | 技术 |
|---|---|
| **SQL 注入** | 基于错误、基于时间 (SLEEP/WAITFOR)、基于布尔的盲注 |
| **跨站脚本攻击 (XSS)** | 反射分析、上下文检测、DOM Sink 识别、浏览器验证 |
| **命令注入** | 时序攻击、命令链接 (`&&`, `\|`, `;`)、带外检测 |
| **XML 外部实体 (XXE)** | 实体扩展、OAST 回调检测、参数实体 |
| **服务器端请求伪造 (SSRF)** | 内部 IP 探测、云元数据访问、DNS 重绑定 |
| **NoSQL 注入** | MongoDB 运算符注入 (`$gt`, `$ne`, `$regex`, `$where`) |
| **路径遍历 / LFI** | 文件内容标记 (`/etc/passwd`, `win.ini`)、编码绕过 |
### 智能 Payload 引擎
SPE 系统实时调整攻击 Payload:
1. **上下文生成器** — 检测消息格式(JSON、XML、纯文本)并生成匹配目标协议架构的 Payload
2. **反馈循环** — 分析服务器信号(错误、反射、时序异常、WAF 拦截)并动态调整策略
3. **Payload 演进器** — 对成功的 Payload 进行交叉和变异的遗传算法,以发现新颖的 WAF 绕过方法
## Web 应用程序渗透测试工具包 (v3.0.2 版本增强)
WSHawk 桌面应用程序现在附带了组织成六个阶段的 22 个 HTTP 安全工具。我们正在将其与 WebSocket 扫描器一起构建,为渗透测试人员提供用于 WebSocket 和 HTTP 评估的单一界面。
### 侦察与发现工具
| 工具 | 描述 |
|---|---|
| **Web 爬虫** | 具有表单提取、API 端点发现、robots.txt 和 sitemap.xml 解析功能的 BFS 蜘蛛 |
| **子域名查找器** | 通过 crt.sh (证书透明度) 和 AlienVault OTX 进行被动枚举,以及具有解析验证的主动 DNS 暴力破解 |
| **技术指纹识别器** | 从 Header、Cookie 和页面内容中识别 35+ 种技术 (Nginx, Apache, WordPress, React, Cloudflare 等) |
| **DNS / WHOIS 查询** | 完整的记录枚举 (A, AAAA, MX, NS, TXT, CNAME, SOA, SRV, CAA) 及 WHOIS 注册数据 |
| **TCP 端口扫描器** | 具有服务识别、Banner 抓取和预设端口列表 (top-100, web, database, full) 的异步连接扫描器 |
### 漏洞扫描工具
| 工具 | 描述 |
|---|---|
| **HTTP Fuzzer** | 使用 `§FUZZ§` 标记进行参数模糊测试,内置字典,编码选项 (URL/Base64/Hex),以及启发式漏洞检测 |
| **目录扫描器** | 具有扩展名排列、递归扫描、自定义字典 (最多 50K 条目) 和 WAF 规避节流的路径暴力破解 |
| **自动化漏洞扫描器** | 多阶段编排器:爬取 → Header 分析 → 目录扫描 → Fuzz → 敏感数据扫描,并具有自动升级功能 (SQLi → LFI 链接) |
| **安全 Header 分析器** | 评估 HSTS、CSP、X-Frame-Options、X-Content-Type-Options、CORS、Server 和 X-Powered-By 及其风险评级 |
| **敏感数据查找器** | 针对 30+ 种密钥类型的正则检测 — AWS 密钥、Google API 密钥、JWT、GitHub Token、数据库连接字符串、内部 IP |
### 攻击性安全工具
| 工具 | 描述 |
|---|---|
| **WAF 检测器** | 对 15+ 种 WAF (Cloudflare, AWS WAF, Akamai, Imperva, Sucuri, ModSecurity, F5 BIG-IP) 进行被动和主动指纹识别 |
| **CORS 错误配置测试器** | 探测 6 种攻击模式 — 通配符源、Null 源、子域名后缀攻击、域名前缀注入、HTTP 降级 |
| **SSL/TLS 分析器** | 证书检查、协议版本测试 (TLS 1.0–1.3)、弱密码检测、过期和自签名检查 |
| **SSRF 探测器** | 针对 AWS/GCP/Azure 元数据端点、内部服务、DNS 重绑定和 URL 解析器混淆的 40+ 个 Payload |
| **开放重定向扫描器** | 25+ 种绕过技术,自动检测 20+ 个常见的重定向参数名称 |
| **原型污染测试器** | 通过查询参数和 JSON 主体进行 `__proto__` 和 `constructor.prototype` 注入,并带有升级检测 |
### 漏洞利用生成与攻击链接
| 工具 | 描述 |
|---|---|
| **CSRF 漏洞利用伪造器** | 生成概念验证 HTML 页面 — 自动提交表单、Fetch API XHR、multipart — 并具有 CSRF Token 检测功能 |
| **攻击链接器** | 多步骤 HTTP 攻击排序,具有基于正则的值提取和跨请求的 `{{variable}}` 模板 |
| **代理 CA 生成器** | 用于 HTTPS 拦截的根证书颁发机构 (RSA 4096 位,10 年有效期),并具有针对特定主机的证书签名 |
| **HTTP 请求伪造器** | 通过 Python 路由以绕过浏览器 CORS 的手动 HTTP 请求构建器 (GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS) |
| **报告生成器** | 具有执行摘要、严重性图表和修复指导的专业 HTML 报告。也可导出 JSON、PDF、CSV、SARIF |
## WSHawk 桌面版 — 原生安全测试应用程序
一款原生 Electron + Python 桌面应用程序,具有三种操作模式:
| 模式 | 功能 |
|---|---|
| **标准模式** | WebSocket 扫描器仪表板、请求伪造器、发现面板、流量历史、系统日志 |
| **高级模式** | + Payload Blaster、实时 WebSocket 拦截器、端点地图、认证构建器、变异实验室、调度器、编解码器、比较器、笔记 |
| **Web 渗透测试** | + 所有 22 个 HTTP 安全工具,具有实时流式传输结果 |
### 桌面版独有功能
- **实时 WebSocket 拦截器** — 具有逐帧转发、丢弃和编辑控件的全双工 MitM 代理
- **Payload Blaster** — 具有 11 个 Payload 类别和智能 Payload 演进开关的高速 WebSocket Fuzzer
- **WebSocket 端点地图** — 通过 HTTP Upgrade 探测、HTML 爬取和 JavaScript 源代码分析进行自动发现
- **认证构建器** — 具有正则 Token 提取和变量替换的多步认证序列
- **漏洞利用 PoC 生成器** — 针对已确认漏洞的一键独立 Python 漏洞利用脚本
- **会话持久化** — 将完整评估状态保存并恢复到 `~/.wshawk/sessions/`
- **扫描历史与差异对比** — 基于 SQLite 的历史记录,可在扫描之间跟踪漏洞回归
- **HawkSearch** — `Ctrl+K` 命令面板,可即时导航至任何工具
**适用平台:** Linux (.pacman, .AppImage, .deb) · Windows (.exe NSIS installer) · macOS (.dmg)
**[完整桌面版文档 →](docs/DESKTOP_V3_GUIDE.md)**
## 安装
### 通过 pip 安装
```
pip install wshawk
# 可选:基于浏览器的 XSS 验证
playwright install chromium
```
### 在 macOS 上安装
**方法 1:一行命令 (推荐)**
```
brew install --cask https://raw.githubusercontent.com/regaan/homebrew-tap/main/Casks/wshawk.rb
```
**方法 2:保持更新 (通过 Tap)**
```
# 注册 WSHawk tap
brew tap regaan/tap
# 安装 cask
brew install --cask wshawk
```
### 在 Kali Linux / Debian 上安装
WSHawk 可通过官方 Regaan APT 仓库获取。
```
# 添加 WSHawk GPG key
curl -sSL https://regaan.github.io/wshawk-repo/wshawk_repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/wshawk-archive-keyring.gpg
# 添加 WSHawk APT repository
echo "deb [signed-by=/usr/share/keyrings/wshawk-archive-keyring.gpg] https://regaan.github.io/wshawk-repo stable main" | sudo tee /etc/apt/sources.list.d/wshawk.list
# 安装 WSHawk
sudo apt update && sudo apt install wshawk
```
### 在 Arch Linux 上安装
WSHawk 可在 Arch 用户仓库 (AUR) 中获取。
```
# 通过 yay 安装 WSHawk
yay -S wshawk
```
### 通过 Docker 安装
```
docker pull rothackers/wshawk:latest
docker run --rm rothackers/wshawk ws://target.com
```
有关详细用法,请参阅 [Docker 指南](docs/DOCKER.md)。
### 构建桌面应用程序
```
git clone https://github.com/regaan/wshawk
cd wshawk
# 构建 Python sidecar 二进制文件
pip install -e . && pip install pyinstaller
pyinstaller wshawk-bridge.spec
# 构建桌面安装程序
mkdir -p desktop/bin && cp dist/wshawk-bridge desktop/bin/
cd desktop && npm install && npm run dist
```
## 快速入门指南
### WebSocket 扫描 (CLI)
```
wshawk ws://target.com
```
### 交互模式
```
wshawk-interactive
```
### 启用所有功能的高级扫描
```
wshawk-advanced ws://target.com --smart-payloads --playwright --full
```
### Web 仪表板
```
export WSHAWK_WEB_PASSWORD='your-password'
wshawk --web --port 5000
```
### 桌面应用程序
```
cd desktop && npm start
```
### Python API
```
import asyncio
from wshawk.scanner_v2 import WSHawkV2
scanner = WSHawkV2("ws://target.com")
scanner.use_headless_browser = True
scanner.use_oast = True
asyncio.run(scanner.run_heuristic_scan())
```
## 界面对比
| | CLI | Web 仪表板 | 桌面应用 |
|---|---|---|---|
| WebSocket 扫描器 | ✅ | ✅ | ✅ |
| Web 渗透测试工具包 (22 个工具) | — | — | ✅ |
| WebSocket 拦截器 | — | — | ✅ |
| Payload Blaster / Fuzzer | — | — | ✅ |
| 端点发现地图 | — | — | ✅ |
| 扫描持久化 | — | SQLite | SQLite + 会话 |
| 漏洞利用 PoC 导出 | — | — | ✅ |
| 报告格式 | HTML | HTML | HTML / JSON / PDF |
| 最适合 | CI/CD 管道 | 团队, SOC | 手动渗透测试, 红队 |
## 配置
### wshawk.yaml
```
python3 -m wshawk.config --generate
```
```
integrations:
jira:
api_token: "env:JIRA_TOKEN"
project: "SEC"
defectdojo:
api_key: "env:DD_API_KEY"
url: "https://defectdojo.your-org.com"
```
| 环境变量 | 描述 |
|---|---|
| `WSHAWK_BRIDGE_PORT` | 后端服务器端口 (默认: 8080) |
| `WSHAWK_WEB_PASSWORD` | Web 仪表板认证密码 |
| `WSHAWK_API_KEY` | 用于编程访问的 API 密钥 |
## 防御性验证模块
用于验证您的 WebSocket 安全控制的蓝队模块:
```
wshawk-defensive ws://your-server.com
```
- **DNS 数据泄露防护** — 验证出站过滤的有效性
- **机器人检测** — 针对无头浏览器规避测试反机器人措施
- **CSWSH 保护** — 具有 216+ 个恶意源的 Origin Header 验证
- **WSS 协议安全** — TLS 版本、密码套件、证书链、前向保密
请参阅 [防御性验证指南](docs/DEFENSIVE_VALIDATION.md)。
## 安全警告 — 虚假版本
## 文档
| 指南 | 描述 |
|---|---|
| **[V3.0.4 发布指南](docs/V3.0.4_RELEASE_GUIDE.md)** | AGPL-3.0 过渡、DOM Invader、认证流记录器 — 完整技术参考 |
| **[🦅 完整企业指南](docs/V3_COMPLETE_GUIDE.md)** | 架构、扫描引擎、配置、集成 |
| **[💻 桌面版参考手册](docs/DESKTOP_V3_GUIDE.md)** | 所有 22 个工具、API 参考、构建说明 |
| [入门指南](docs/getting_started.md) | 首次扫描、输出格式、常见用例 |
| [防御性验证](docs/DEFENSIVE_VALIDATION.md) | 蓝队安全控制测试 |
| [漏洞详情](docs/vulnerabilities.md) | 完整的漏洞覆盖范围参考 |
| [会话安全测试](docs/session_tests.md) | WebSocket 会话劫持测试 |
| [Docker 部署](docs/DOCKER.md) | 容器部署指南 |
## 负责任的使用
WSHawk 专为授权的渗透测试、漏洞赏金计划、安全研究和教育而设计。**在扫描任何目标之前,请务必获得明确的许可。**
作者不对滥用本工具的行为负责。在第三方下载网站上找到的重新打包版本与本项目无关。
## 许可证
AGPL-3.0 许可证 — 请参阅 [LICENSE](LICENSE)
## 作者
**Regaan** | **[ROT 独立安全研究实验室](https://rothackers.com)** 首席研究员
## 贡献
欢迎贡献 — 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)
## 支持
| 渠道 | 链接 |
|---|---|
| Issues | [GitHub Issues](https://github.com/regaan/wshawk/issues) |
| 文档 | [docs/](docs/) |
| 电子邮件 | support@rothackers.com |
**WSHawk v3.0.4** — 专业 WebSocket 安全扫描器与拦截套件
### 最新更新 (v3.0.3)
- **DOM Invader**:无头 Playwright 引擎在真实浏览器中验证 XSS Payload — 零误报。确认 `alert()`、`eval()`、DOM 变异和注入的脚本标签。
- **认证流记录器**:在可见浏览器中记录复杂的 SSO/OAuth 登录流程,然后无头重放它们,以便在长时间 Fuzz 运行期间生成新的 Token。
- **自动会话重连**:Payload Blaster 检测会话过期并自动重放记录的认证流程以重新连接 — 无需手动干预。
- **AI 漏洞利用引擎**:在 ReqForge 中右键单击任何参数以生成上下文感知的 XSS/SQLi/SSTI Payload,自动填充到 Payload Blaster 中。
- **上下文感知启发式 Fuzzing**:具有深度协议感知的高级 Payload 生成引擎,用于高精度漏洞发现。
*由 Regaan 为安全专业人员构建。*
标签:CISA项目, DOM入侵, fuzzing, PE 加载器, Playwright, Python, WAF绕过, WebSocket, XSS, 中间人攻击, 企业级安全, 依赖分析, 反取证, 安全评估, 密码管理, 对称加密, 数据展示, 无后门, 无头浏览器, 日志审计, 流量拦截, 漏洞情报, 特征检测, 红队, 网络安全, 自动化审计, 请求拦截, 负载突变, 逆向工具, 遗传算法, 隐私保护