nishu2402/HEAVEN-Autonomous-Penetration-Testing
GitHub: nishu2402/HEAVEN-Autonomous-Penetration-Testing
HEAVEN 是一个生产级自主渗透测试框架,通过多层侦察、漏洞检测、ML 驱动的 CVSS 评分和 MITRE ATT&CK 映射,将专业渗透测试中耗时的重复性环节自动化,帮助安全团队聚焦于需要人类判断的工作。
Stars: 0 | Forks: 0
# ☠️ HEAVEN — 自主渗透测试框架
## 👾 作者
### Nisarg Chasmawala · 别名:**HEAVEN**
# create a new engagement
heaven engage list # list all engagements
heaven scope add # add target to scope
heaven scope list # show scope
```
### 扫描
```
heaven scan \
-u \ # web target (URL)
-t \ # network target (IP or CIDR)
-m \ # web | network | full | ad | cloud
--stealth <1-5> \ # 1=ghost … 5=loud
--engagement \ # engagement context
--ports \ # port range e.g. "1-1024" or "22,80,443"
--i-have-authorization # required — confirms written permission
heaven resume --engagement --i-have-authorization # resume interrupted scan
```
**扫描模式:**
| 模式 | 激活的模块 |
|---|---|
| `web` | 爬虫 → Nuclei → SQLi (报错型/布尔型/时间盲注) · XSS · SSRF · IDOR · 目录模糊测试 · JWT · 竞态 · 走私 · GraphQL → 误报抑制 → sqlmap |
| `network` | nmap → 服务枚举 → 动态注入 (SSH/SMB/RDP) → CVE 查询 |
| `full` | web + network + 深度侦察 + Shodan + 云枚举 |
| `ad` | AD 枚举 → Kerberoasting → AS-REP Roasting → 权限路径分析 |
| `cloud` | AWS S3/IAM/EC2 枚举;GCP/Azure 基础功能 |
**隐蔽级别:**
| 级别 | 描述 |
|---|---|
| 1 — 幽灵 | 极慢,最大程度的隐蔽,随机时间 |
| 2 — 谨慎 | 较慢,随机化,规避蜜罐 |
| 3 — 正常 | 速度与隐蔽性均衡 |
| 4 — 激进 | 更快,最小程度隐蔽 |
| 5 — 暴露 | 全速,无隐蔽 (仅限实验环境使用) |
### 发现
```
heaven findings list # list all findings
heaven findings list --severity critical # filter by severity
heaven findings list --min-confidence 0.8 # filter by confidence
heaven findings show # full evidence + curl repro
heaven findings mark verified # triage workflow
heaven findings mark false_positive # dismiss
heaven findings replay # print curl command to re-test
```
### 报告
```
heaven export -o report.md --format markdown
heaven export -o report.csv --format csv
heaven export -o report.json --format json
heaven export -o report.sarif --format sarif # GitHub code scanning
heaven export -o report.xml --format burp # import into Burp Suite
heaven export -o history.jsonl --format proxy-jsonl # mitmproxy / Caido
# 基于合规标准的 HTML 报告
heaven report --framework OWASP_TOP10 -o compliance.html
heaven report --framework NIST_CSF -o compliance.html
# MITRE ATT&CK kill chain 覆盖范围
heaven kill-chain
heaven kill-chain -o kill-chain.json
```
### 服务器
```
heaven serve # start API + web UI on :8443
heaven serve --host 0.0.0.0 --port 8443 # bind to all interfaces
heaven self-audit # security baseline check
```
### 模型
```
heaven train-model # retrain CVSS predictor on NVD data
```
## 🖥️ Web UI
"
# 启动扫描
curl -X POST http://localhost:8443/api/scans \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"targets": ["https://app.example.com"],
"mode": "web",
"i_have_authorization": true
}'
# 添加手动 finding
curl -X POST http://localhost:8443/api/engagement/findings \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"target": "https://app.example.com/admin",
"vuln_type": "idor",
"title": "Unauthenticated admin panel access",
"severity": "critical",
"confidence": 0.95
}'
```
完整的交互式文档:`http://localhost:8443/docs`
WebSocket 实时数据流:`ws://localhost:8443/ws/scans/`
## 🔌 集成
`
### 启动时出现 ImportError
```
cd HEAVEN-Autonomous-Penetration-Testing
venv/bin/pip install -r requirements.txt
venv/bin/pip install -e .
```
### 未设置 `HEAVEN_ADMIN_PASSWORD`
```
export HEAVEN_ADMIN_PASSWORD="your-strong-password"
heaven serve
```
## 🛠️ 开发
| | 详情 |
|---|---|
| 🔗 **LinkedIn** | [linkedin.com/in/nisarg-chasmawala](https://www.linkedin.com/in/nisarg-chasmawala) |
| 🐙 **GitHub** | [github.com/nishu2402](https://github.com/nishu2402) |
| 🎯 **角色** | 进攻性安全工程师 · 渗透测试员 |
## 📋 目录
- [👾 作者](#authors)
- [🧠 什么是 HEAVEN?](#what-is-heaven)
- [⚙️ 架构](#architecture)
- [📦 功能状态](#feature-status)
- [🚀 快速入门](#quick-start)
- [🔧 安装说明(详细)](#installation-detailed)
- [⌨️ CLI 参考](#cli-reference)
- [🖥️ Web UI](#web-ui)
- [🌐 API](#api)
- [🔌 集成](#integrations)
- [📊 CVSS 与风险评分](#cvss-risk-scoring)
- [🏢 Active Directory](#active-directory)
- [🛡️ 误报处理](#false-positive-handling)
- [🔒 安全控制](#security)
- [🔧 故障排除](#troubleshooting)
- [🛠️ 开发](#development)
- [📁 项目结构](#project-structure)
- [⚠️ 法律与免责声明](#legal)
## 🧠 什么是 HEAVEN?
| 能力 | 详情 |
|---|---|
| 🔍 **侦察** | nmap · 网络爬虫 · DNS 暴力破解 · 证书透明度 · Shodan · AD 枚举 · 云枚举 (AWS/GCP/Azure) · IoT/SCADA · 无线网络 · Git 泄露 · 邮件 OSINT · 蜜罐检测 |
| 🎯 **漏洞检测** | Nuclei 模板 + 自定义引擎,支持 SQLi (报错型/布尔型/时间盲注) · XSS · SSRF · XXE · CORS · CRLF · 开放重定向 · IDOR · 批量分配 · 目录/文件模糊测试 · JWT 攻击 · 竞态条件 · HTTP 请求走私 · GraphQL 内省 · 默认凭据 · 子域名接管 |
| 🔇 **误报抑制** | 两阶段确认机制 — 置信度低于 0.40 的结果将自动丢弃 |
| 📊 **风险评分** | CVSS v3 ML 预测器 (R²=0.9925) · EPSS 漏洞利用概率 · CISA KEV 命中匹配 |
| 🗺️ **MITRE ATT&CK** | 每个发现均映射至 ATT&CK 技术 + 洛克希德网络杀伤链阶段 |
| 📄 **报告生成** | 专业 PDF/HTML 渗透测试报告 (封面 · CVSS v3.1 向量 · MITRE ATT&CK 映射 · 修复路线图 · SLA) · Markdown · CSV · JSON · SARIF · Burp XML · 代理 JSONL · OWASP Top 10 / NIST CSF 合规性 HTML |
| 🔢 **测试** | **112 项 pytest 测试全部通过** |
| 🏗️ **技术栈** | FastAPI + JWT RBAC + WebSocket · React Web UI (暗黑矩阵风) · SQLite 测试项目存储 |
## ⚙️ 架构
| 模块 | 状态 | 功能描述 |
|---|:---:|---|
| `recon/network_scanner.py` | ✅ 运行中 | 真实 nmap 执行,XML 解析,操作系统检测,蜜罐规避 |
| `recon/web_crawler.py` | ✅ 运行中 | BFS 爬虫,表单/参数发现,JS endpoint 提取,支持认证 |
| `recon/deep_recon.py` | ✅ 运行中 | DNS 暴力破解,证书透明度,OSINT 富化 |
| `recon/ad_scanner.py` | ✅ 运行中 | AD 枚举,Kerberoasting,通过 impacket 获取 AS-REP 哈希 |
| `recon/shodan_recon.py` | ✅ 运行中 | 被动主机/组织查询 (需要 `SHODAN_API_KEY`) |
| `recon/cloud_enum.py` | ✅ AWS | 包含 GCP/Azure 存根;AWS 完全支持 |
| `recon/honeypot_detector.py` | ✅ 运行中 | 启发式蜜罐评分,自动跳过目标 |
| `vulnscan/nuclei_scanner.py` | ✅ 运行中 | 真实 nuclei 二进制文件执行,解析 JSONL 输出 |
| `vulnscan/injection_scanner.py` | ✅ 运行中 | 首轮 XSS + SQLi 发现:针对所有爬取到的输入向量进行报错型、布尔盲注、时间盲注检测 |
| `vulnscan/dir_fuzzer.py` | ✅ 运行中 | 目录和文件模糊测试 — 250+ 精选路径,ffuf 集成,通配符响应过滤,技术感知扩展 |
| `vulnscan/idor_scanner.py` | ✅ 运行中 | IDOR 检测 — 路径/参数 ID 枚举,UUID 探测,水平越权,批量分配 |
| `vulnscan/safe_validator.py` | ✅ 运行中 | SQLi / XSS / SSRF / XXE / CORS / CRLF / 开放重定向 |
| `vulnscan/advanced_attacks.py` | ✅ 运行中 | JWT 伪造,竞态条件,请求走私,GraphQL,SSH 凭据喷洒 |
| `vulnscan/fp_suppress.py` | ✅ 运行中 | 基于基线噪声测量的两阶段误报抑制 |
| `vulnscan/zeroday_engine.py` | ✅ 运行中 | 行为模糊测试:缓冲区溢出,格式化字符串,认证绕过 |
| `vulnscan/api_scanner.py` | ✅ 运行中 | BOLA/IDOR,GraphQL,REST 参数模糊测试 |
| `vulnscan/sqlmap_runner.py` | ✅ 运行中 | 在已确认的 SQLi 候选目标上自动运行 sqlmap |
| `vulnscan/msf_client.py` | ✅ 运行中 | Metasploit RPC (需要 `--enable-exploitation` + msfrpcd) |
| `ml/risk_model.py` | ✅ 运行中 | CVSS 预测,NVD/EPSS 富化,KEV 标记 |
| `ml/ai_brain.py` | ✅ 运行中 | 具有跨扫描记忆的贝叶斯主机优先级排序 |
| `mitre/attack_mapper.py` | ✅ 运行中 | 针对每个发现的 ATT&CK 技术映射 |
| `mitre/kill_chain.py` | ✅ 运行中 | 网络杀伤链覆盖范围 + 攻击路径摘要 |
| `devsecops/pdf_report.py` | ✅ 运行中 | 专业 HTML/PDF 报告 — 封面,执行摘要,CVSS v3.1 向量,MITRE ATT&CK 映射,修复路线图,每个发现的 SLA |
| `devsecops/compliance_report.py` | ✅ 运行中 | OWASP Top 10 / NIST CSF 合规性映射 |
| `devsecops/alerting.py` | ✅ 运行中 | 通过 aiohttp 发送 Webhook 告警 (Slack, Teams, 自定义) |
| `security/vault.py` | ✅ 运行中 | AES-256-GCM 凭据保管库 |
| `security/audit.py` | ✅ 运行中 | HMAC 签名的仅追加审计日志 |
| `api/server.py` | ✅ 运行中 | FastAPI + JWT RBAC + WebSocket + 速率限制 |
| Web UI | ✅ 运行中 | 暗黑矩阵主题,扫描启动器,实时发现,杀伤链 |
## 🚀 快速入门
| 页面 | 描述 |
|---|---|
| **仪表盘** | 测试项目统计,严重程度分布,MITRE ATT&CK 覆盖热力图 |
| **扫描** | 启动扫描,查看历史记录,带有阶段指示器的实时进度 |
| **发现** | 完整的发现列表 — 按严重程度、置信度、状态、漏洞类型筛选 |
| **发现详情** | 证据包,请求/响应,curl 重现命令,分诊控制,操作员备注| **杀伤链** | 网络杀伤链阶段覆盖范围,链式攻击路径摘要 |
| **测试项目** | 范围管理,目标列表,配置 |
| **API 文档** | 位于 `/docs` 的 OpenAPI / Swagger 交互式文档 |
## 🌐 API
| 层级 | 来源 | 详情 |
|---|---|---|
| 1 | **漏洞类型规则** | `docker_socket_exposed`→9.8 · `sqli`→9.0 · `xss`→6.1 等 |
| 2 | **CVSS 向量** | 如果可用,从发现证据中解析 |
| 3 | **ML 预测器** | `NVD_model.pkl` — ExtraTreesRegressor · R²=0.9925 · 13 项特征 |
| 4 | **NVD 富化** | 当 CVE ID 已知时,使用真实的 CVE CVSS 评分 |
最终的**优先级评分**结合了:CVSS 基础分 + EPSS 百分位 + KEV 标志 + 资产暴露度 + 攻击链潜力。
可随时使用真实的 NVD 数据重新训练模型:
```
heaven train-model
```
## 🏢 Active Directory
| 类别 | 范围 | 解释 |
|---|---|---|
| `strong` | ≥0.95 | 两个独立信号已确认 |
| `high` | ≥0.80 | 一个已确认信号,可重现 |
| `medium` | ≥0.60 | 一个信号,未完全重现 |
| `low` | ≥0.40 | 疑似误报 — 附带大量警告说明 |
| `discarded` | <0.40 | 自动抑制 — 永不报告 |
## 🔒 安全控制
| 控制 | 实现 |
|---|---|
| **认证** | JWT (HS256),8 小时有效期,支持刷新 token |
| **暴力破解保护** | 5 次失败尝试 → 15 分钟锁定 |
| **审计日志** | HMAC-SHA256 签名,仅追加,记录所有操作员行为 |
| **凭据存储** | AES-256-GCM 保管库,主密钥来自环境变量 |
| **API 授权** | 基于角色:`vuln.read` · `vuln.create` · `scan.run` · `admin` |
| **HTTP 安全标头** | X-Frame-Options · X-Content-Type-Options · HSTS · Referrer-Policy · CSP |
| **范围执行** | 每个扫描目标均根据声明的测试项目范围进行验证 |
| **授权门槛** | 每次扫描均需要 `--i-have-authorization`;在 TTY 下交互式确认 |
## 🔧 故障排除
112 项测试 · 29 个运行中模块 · MIT 许可证 · 为真实世界渗透测试项目而构建
标签:Apex, AV绕过, CISA项目, CVSS v3评分, ExtraTreesRegressor, FastAPI, IDOR, JWT安全, MITRE ATT&CK映射, ML风险评估, NVD, OWASP API Top 10, OWASP Top 10, Python, React, SNMP, SSRF, Syscalls, Web安全, XSS, XXE攻击, 安全报告, 密码管理, 插件系统, 无后门, 机器学习, 条件竞争, 渗透测试框架, 漏洞情报, 目录模糊测试, 网络安全, 自动化渗透测试, 蓝队分析, 误报抑制, 请求拦截, 逆向工具, 防御, 隐私保护