YannChich/hades-web-scanner

GitHub: YannChich/hades-web-scanner

一款基于终端的红队 Web 安全扫描器,通过主动验证消除误报,将确认的漏洞串联为杀伤链攻击路径并生成可视化报告。

Stars: 0 | Forks: 0

Hades

发现漏洞。证明漏洞。规划影响路径。找到得心应手的工具。

License Python 3.10+ Repo size Platform Status: active

Install Now   Suggest a tool or module

**Hades 是一款基于终端的红队 Web 安全扫描器,它不仅*发现*弱点,更能*证明*弱点。** 它运行 44 个模块,涵盖侦察、错误配置和漏洞检测,通过验证过的 payload / 时间 / 内容签名确认每一个发现 (拒绝盲目猜测),将其映射到带有 CVSS 评分的 **CWE / OWASP / MITRE ATT&CK**,链接至详细的**专家实战 手册**(playbook),并将所有内容整合成一条可直接复制粘贴的**杀伤链攻击路径**(kill-chain attack path)——随后导出一份精美且独立完整的 HTML 报告。在标准扫描之外,专门的红队配置文件还会审计**数据 库**、**AI/LLM** 攻击面,执行**主动漏洞利用行动**(active exploitation engagement),捕获其他扫描 器遗漏的**盲带外**(blind, out-of-band)漏洞,并根据真实世界的可利用性(**KEV + EPSS**)对目标的 **CVE** 进行排名。它还内置了一个可搜索的 **RedTeam Arsenal** —— 这是一个精选的 **175 款攻击性工具** 列表,按攻击类型分组并各自链接到其项目主页 —— 让你能直接从发现的问题跳转到最合适的工具。只需一条 命令。 ``` python hades.py --url https://target.tld ``` ## 快速开始 ``` git clone https://github.com/YannChich/hades-web-scanner.git cd hades-web-scanner pip install -r requirements.txt python hades.py --url https://example.com ``` **你能立即获得:** - 一份整洁且带有颜色代码的终端报告 —— 包含**严重程度 + 置信度**,以及每个发现的技术证据和修复建议; - 一份美观的 **HTML 报告**,会自动在浏览器中打开; - 一份机器可读的 **JSON 报告**,供工具链调用和记录存档; - 一个整体的**安全评分(0–100)和 A–F 级别**,以及一条杀伤链攻击路径。 **报告的保存位置**(每次扫描结束时都会打印): - `reports/webscan_report_.html` —— 完整的可视化报告(自动打开) - `reports/webscan_report_.json` —— 结构化为 JSON 的相同发现 - `logs/webscan_.log` —— 详细的运行日志 **为什么这很重要:** Hades 不会只给你一份充满“可能”的列表 —— 每个发现都包含严重程度、置信度、背后 的证据以及修复方案,让你确切知道什么是真实的,以及下一步该怎么做。 更喜欢直接上手操作?运行 `python hades.py` 并选择一种扫描方式 —— 选项 **1 到 9**,**10** 用于技能库 (Skills Library),**11** 用于经过身份验证的 IDOR / 访问控制扫描(它会要求你提供登录信息),或者 **666** 用于查看 RedTeam Arsenal:

Hades interactive menu — scan options 1 to 11 and 666

## 目录 - [快速开始](#quick-start) - [为什么选择 Hades](#why-hades) - [功能](#features) - [报告预览](#reports-preview) - [了解报告徽章](#understanding-the-report-badges) - [安装](#installation) - [使用方法](#usage) - [扫描配置](#scan-profiles) - [模块](#modules) - [外部工具集成](#external-tool-integrations) - [示例输出](#example-output) - [交叉引用集成](#cross-referenced-integrations) - [路线图](#roadmap) - [技术栈](#tech-stack) - [项目结构](#project-structure) - [贡献](#contributing) - [免责声明](#disclaimer) - [许可证](#license) ## 为什么选择 Hades 大多数扫描器只会给你一份充满“可能”的列表。Hades 围绕着不同的理念构建:**每个发现都是证据**,且每 份证据都附带了下一步的操作建议。 - **重证据,不降噪。** 注入模块会在报告前确认漏洞(SSTI 使用解析数学确认,盲注使用递增时间延迟确认, RCE 使用命令输出确认,LFI 使用文件内容确认)。 - **为每个发现提供上下文。** 自动附带 CWE、OWASP 类别、MITRE ATT&CK 技术、代表性的 CVSS 评分、稳定 的发现 ID、可重现的 PoC 命令、相匹配的专家手册以及相关的攻击工具。 - **是一条路径,而不是一堆乱麻。** 所有可操作的发现都会按顺序排列成一条杀伤链攻击路径(从侦察到造成 影响),并在每一步提供可复制粘贴的命令。 - **可向客户展示的输出。** 每次扫描都会生成一份深色、独立完整的 HTML 报告,并自动在浏览器中打开。 ## 功能 **检测引擎** - 44 个模块,涵盖侦察、Web/错误配置分析和主动漏洞检测。 - 共享的、限速的爬虫为每个模块提供相同的参数、表单、链接和电子邮件信息。 - 降噪基线(全盘接收的 200、一揽子 403/5xx、接收所有端口、soft-404)确保结果准确无误。 - **证据级发现:** 每个可操作的发现都带有一个结构化的证据块 —— Hades 发送的确切请求、响应 状态/大小/内容类型,以及触发它的特定指示器(`raw["evidence"]`)—— 在控制台中渲染为 `⧉ evidence` 行,在 HTML 报告中渲染为绿色证据框,在 JSON 中作为 `evidence` 数组呈现,让每个发现都能一目了然地 得到验证。置信度由真实信号得出(`scanner/evidence.py`),每个路径探测器都会校准自己的 soft-404 基 线,以抑制全盘接收的 `200` 响应。 - **漏洞利用指南:** 每个可利用的发现都提供了一个有序的、可复制粘贴的**杀伤链**(`raw["exploitation"]`), 并针对真实的 URL/参数进行了量身定制 —— SQLi 使用 sqlmap(检测 → 数据库 → 数据表 → 列 → 转储),命 令注入使用 commix,SSTI 使用 tplmap,LFI 使用文件读取→RCE,SSRF 使用云端元数据中转,XSS 使用 dalfox,JWT 使用 jwt_tool,暴露的 `.git`/存储桶使用 git-dumper/aws-s3 等等 —— 在控制台中显示为 `⛓ exploit chain` 块,在 HTML 中显示为可折叠的 **Exploitation walkthrough**。 - 敏感文件检查绝不仅凭 HTTP 200 单独确认暴露 —— 每次命中都会通过正文长度、内容类型和特定于文件的 指示器(例如 `.htaccess` 重写/认证指令,`.env` 的 `KEY=VALUE`,`web.config` XML,`.git/HEAD` 引用) 进行验证,并划分为已确认 / 很可能 / 需手动检查;空正文或签名不匹配的正文将降级为温和的低级别发现, 而不是误报的关键漏洞。 - 弹性、快速的编排:**并发令牌桶限流器**让线程池能够真正实现并行化(繁重的模块得以完成,而不是被 中途切断),**飞行前**可达性检查会在目标已死时快速失败,每个模块的**超时看门狗**意味着一个卡住的 模块永远不会拖延整个扫描,当目标停止响应时,**断路器**会自动退避,而**共享响应缓存**只会获取主页 /robots/sitemap 一次(而不是约 12 次)—— 并附带每个模块的时间/运行摘要。安全/被动模式始终保持单一 礼貌通道。 **攻击性注入武器库(主动验证)** - SQLi、XSS、命令注入、SSTI、LFI/路径遍历、开放重定向和 SSRF —— 每一项都*经过验证*,附带可点击的 证明链接和现成的漏洞利用命令。 - **三轮 XSS 检测**:上下文感知的**反射型**、**存储型**(在提交后重新检查显示页面,而不仅仅是提交 本身的响应),以及在真实的 headless 浏览器(可选 Playwright)中验证的**基于 DOM / 存储型** —— 捕获 那些从未出现在 HTTP 响应中且仅在浏览器中执行的客户端渲染接收器(`innerHTML` 等)。 - JWT 攻击(`alg:none`、弱密钥破解、声明泄露),401/403 访问控制绕过,通过 NVD 进行 CVE 映射,以及默 认凭据安全公告。 - **IDOR / BOLA**(访问控制失效):篡改 URL 参数和路径段中的对象引用 ID 以暴露其他用户的对象,并且 —— 在使用会话进行扫描时 —— 标记出在没有会话的情况下提供的对象。 - **经过身份验证的扫描**:登录一次(`--login-url` / `--login-data`,CSRF token 自动重放),共享爬虫 *和每个主动模块*都会测试已登录的攻击面,而不仅仅是匿名状态下的攻击面。 **专门的红队配置** - `db_scan` —— 跨越 **18+ 种引擎**(Redis、MongoDB *(现代 OP_MSG)*、Elasticsearch、CouchDB、 ClickHouse、etcd、InfluxDB、Neo4j、Zookeeper、Cassandra、MySQL/PostgreSQL/MSSQL 等)的数据库暴露审 计:端口/banner 指纹识别,带有实时数据提取的未授权访问,默认凭据检查,SQL/NoSQL 注入,秘密文件和 连接字符串搜寻,云端数据库暴露(Firebase/Firestore/Supabase RLS),**版本→CVE 关联**,数据库暴露 评分,以及有序的漏洞利用杀伤链。配合 `--exploit` 可证明影响 —— 转储 Mongo/Redis/ClickHouse 数据, 重用收集到的凭据,实时测试 Supabase RLS —— 并将证据写入 `loot/`。 - `ai_scan` —— 映射到 OWASP LLM Top 10 (2025) 和 MITRE ATLAS 的攻击性 AI/LLM 攻击面:SDK/框架指纹识 别,暴露的 AI 密钥(包含 GCP/Vertex 服务账号在内的 25+ 家提供商),未经身份验证的本地 LLM 和 AI 基 础设施服务器(Ollama、vLLM、LM Studio、**Ray/ShadowRay、MLflow、ComfyUI、Langflow、Xinference 等**), **未经验证的向量数据库**(Qdrant/Weaviate/Chroma/Milvus),暴露的 AI UI,代理/插件和 **MCP** 清单, **版本→CVE 关联**(Ollama CVE-2024-37032、Gradio、Ray ShadowRay、MLflow 等),以及提示词注入攻击面。 配合 `--exploit` 可使用良性 payload 证明影响 —— 确认的提示词注入,**系统提示词泄露**(多重技术), **越狱**(Jailbreak),LLM 驱动的 XSS,**PII/训练数据提取**,**MCP 工具枚举**(过度授权),向量数据 库转储和免费推理 —— 并附带 AI 暴露评分、ATLAS 杀伤链和 `loot/` 中的证据。 - `engage` —— 首先考虑漏洞利用的接触,通过良性 payload(通过 `id` 证明 RCE,任意文件读取,SSRF 到云 元数据)主动证明影响,并写入证据文件。 - `oob_scan` —— 通过自托管的回调侦听器,对盲 SSRF / RCE / 存储型 XSS 进行带外(OAST)检测,并带有 自动的公共隧道(cloudflared / ngrok),使其能在 NAT 后运行。 - `cve_scan`(交互式**菜单选项 8**)—— CVE 漏洞情报:广泛地对目标技术栈进行指纹识别(HTTP 头、JS/CSS /CMS/框架签名,以及 SSH/FTP/邮件/数据库服务 banner),将其与本地漏洞数据库中的真实 CVE 进行匹配, 并根据融合了 CVSS、FIRST EPSS 漏洞利用概率和 CISA KEV 目录的 Hades CVE 优先级评分对每个漏洞进行排 名。100% 免费且无需 API 密钥 —— 基于 CISA KEV、FIRST EPSS 和 NVD 2.0 API 构建;本地 SQLite 数据库会 自动创建并自动刷新。运行一次 `python tools/build_vulndb.py` 即可批量加载**整个 NVD 语料库**(约 27 万 个 CVE),从而实现完全**离线**匹配 —— 之后会进行增量刷新。 仅报告 **2020 年及以后**的 CVE(较旧的会被作为噪音过滤掉)。 - `tls_scan`(交互式**菜单选项 9**)—— 通过 **SSLyze** 握手引擎进行攻击性 TLS/SSL 击面审计:遗留 协议(SSLv2/3、TLS 1.0/1.1),弱/匿名/NULL 密码,缺乏前向保密性,证书信任/过期/主机名/弱签名问题, TLS 压缩(CRIME),不安全的重协商,以及可确认的 TLS 漏洞(**Heartbleed、ROBOT、OpenSSL CCS 注入**) —— 每一项都根据其在网络上启用的行为(降级、嗅探、AitM)进行评级,并映射到 CWE / OWASP / ATT&CK。仅握手且只读;`sslyze` 是可选依赖项。 **情报与报告层** - 框架映射(CWE / OWASP / ATT&CK / CVSS)、专家手册、针对每个发现的 RedTeam 工具,以及统一的杀伤链攻 击路径 —— 在控制台、JSON 和 HTML 中呈现。 - 由包含 **754 项技能的 Anthropic-Cybersecurity-Skills 库**支持:通过 ATT&CK 技术 + 标签(不仅仅是硬 编码列表)将发现与手册相匹配,并且每个发现都为**攻击性**手册(如何利用它)配备了一本精选的**蓝队 修复**手册(如何检测/修复它)。 - 以可搜索的**技能库**页面(`--skills` / 菜单 **10**)浏览整个库 —— 所有 754 个手册按子域分组,带 有攻防标记和 ATT&CK 标签。 - HTML 报告中的每个参考徽章都是**可点击的** —— CVE → NVD,CVSS → FIRST 计算器,CWE → cwe.mitre.org, OWASP → owasp.org,ATT&CK → attack.mitre.org,工具 → GitHub —— 就像手册一样。 - 加权的 0-100 风险评分,带有 A-F 级别(信息类发现绝不会影响该级别)。 - 每个发现都带有一个**置信度**级别(高/中/低),显示在终端和报告中。 - 每次扫描都会写入一份**HTML 报告**(自动打开)**和一份 JSON 报告**,外加带有时间戳的日志。 ## 报告预览 每次扫描都会以 Hades 统一的 **Kali 红队主题**生成一份深色、独立完整的 HTML 报告(可点击的框架徽章, 安全评分仪表,杀伤链攻击路径,匹配的手册,以及数据库/AI 面板)—— 繁杂的逐项细节折叠在可展开部分 中,并且**漏洞与信息类/侦察类条目分开**(在“信息”部分中),让你一眼就能看出问题所在。终端输出中 也有同样的分离。

Hades HTML report