regaan/wshawk

GitHub: regaan/wshawk

面向渗透测试与红队的企业级 WebSocket 安全扫描器与 Web 渗透测试工具包。

Stars: 5 | Forks: 1

# WSHawk — 企业级 WebSocket 安全扫描器与 Web 渗透测试工具包 [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![PyPI version](https://badge.fury.io/py/wshawk.svg)](https://badge.fury.io/py/wshawk) [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) [![Playwright](https://img.shields.io/badge/Playwright-Supported-green.svg)](https://playwright.dev/) [![Status: Production](https://img.shields.io/badge/status-production-green.svg)](https://github.com/regaan/wshawk) [![Adoption: 900+ Clones](https://img.shields.io/badge/Adoption-900+_clones_(14d)-blueviolet?style=flat&logo=github)](https://github.com/regaan/wshawk/graphs/traffic) [![Community: 120+ Devs](https://img.shields.io/badge/Community-120+_Active_Devs-orange?style=flat&logo=community)](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, 中间人攻击, 企业级安全, 依赖分析, 反取证, 安全评估, 密码管理, 对称加密, 数据展示, 无后门, 无头浏览器, 日志审计, 流量拦截, 漏洞情报, 特征检测, 红队, 网络安全, 自动化审计, 请求拦截, 负载突变, 逆向工具, 遗传算法, 隐私保护