thecnical/phantom-strike

GitHub: thecnical/phantom-strike

AI 驱动的多智能体自主渗透测试框架,通过知识图谱编排 13 个专家智能体完成从侦察到报告的全链路攻击自动化。

Stars: 0 | Forks: 0

PhantomStrike

PhantomStrike — AI 驱动的进攻性安全框架

完全自主的多智能体渗透测试框架,具备 AI 攻击规划、
知识图谱、13 个专家智能体以及完整的进攻工具库。

Stars Forks MIT License CI

Python Version Tests Agents AI

## v3.0 版本更新内容 PhantomStrike v3.0 是对 v2.0 的全面升级 —— 沿用同样熟悉的 CLI,大幅扩展了功能: | 功能 | v2.0 | v3.0 | |:--------|:----:|:----:| | 模块 | 11 | **15** (+ AD, Sliver C2, ExploitDB, Reverser) | | 智能体 | ❌ | **13 个专家智能体** | | 自主攻击 | ❌ | ✅ `autonomous ` | | 知识图谱 | ❌ | ✅ 基于 SQLite 的攻击图谱 | | OPPLAN 系统 | ❌ | ✅ 具备依赖感知的目标规划 | | 交战规则 | ❌ | ✅ CIDR/glob/时间窗口强制执行 | | Docker 沙箱 | ❌ | ✅ 用于工具执行的 Kali Linux 容器 | | 技能库 | ❌ | ✅ 16 个 YAML 技术文件 | | Active Directory | ❌ | ✅ Kerberoast, AS-REP, LDAP enum | | Sliver C2 | ❌ | ✅ gRPC implant 生成 | | 二进制分析 | ❌ | ✅ ROP gadgets,反汇编,字符串提取 | | 测试 | 28 | **411** (基于属性 + 集成) | ## 什么是 PhantomStrike? **PhantomStrike** 是一个完全开源的 AI 驱动渗透测试框架。v3.0 增加了**多智能体自主攻击引擎** —— 13 个专家智能体由 AI 编排器协调,全部共享实时的调查结果知识图谱。 **核心能力:** - **自主攻击** —— 一个命令即可启动完整的 AI 规划攻击任务 - **13 个专家智能体** —— Recon, Scanner, WebExploit, Cloud, Cred, AD, Exploit, PostExploit, C2, Stealth, Reverser, Analyst, Report - **知识图谱** —— SQLite 图谱在整个任务过程中跟踪主机、漏洞、凭据和攻击路径 - **交战规则** —— CIDR/glob 目标过滤,MITRE 技术允许/拒绝列表,速率限制,任务时间窗口 - **OPPLAN 系统** —— 具备循环检测和 YAML 序列化的依赖感知目标图 - **Docker 沙箱** —— 在隔离的 Kali 容器中运行 nmap, sqlmap, hydra, hashcat, metasploit, impacket - **无限制 AI** —— 无主题过滤器,持久聊天,自适应记忆,网络搜索 - **411 项测试** —— 基于属性 (Hypothesis) + 单元测试 + 集成测试 ## 安装说明 ### 全新安装(推荐) ``` git clone https://github.com/thecnical/phantom-strike.git cd phantom-strike bash install.sh ``` 适用于:**Kali Linux, Ubuntu 20.04+, Debian 11+, Parrot OS, Arch, Fedora, macOS** 安装完成后,可以在**任何位置**运行: ``` phantom # interactive CLI phantom serve # web dashboard → http://localhost:10000 ``` ### 安装可选的 v3.0 组件 ``` # 完整 v3.0 stack (Docker sandbox, AD attacks, binary analysis) bash install.sh --v3 # Development install (包括 pytest, ruff, mypy) bash install.sh --dev # 跳过 Playwright 浏览器下载 bash install.sh --no-browser ``` ### 从 v2.0 更新 ``` cd /path/to/phantom-strike git pull bash install.sh --update ``` 此更新会保留您的 `.env` API 密钥和 `~/.phantom-strike/` 数据目录。 **v2.0 → v3.0 的变更:** - 所有 11 个 v2.0 模块仍保持不变并正常工作 - 新增了 4 个模块 (phantom-ad, phantom-sliver, phantom-exploitdb, phantom-reverser) - 新增 CLI 命令:`autonomous`,`opplan`,`graph`,`agents`,`sandbox`,`roe`,`skills` - 引擎现在会在启动时初始化 KnowledgeGraph、RoEMiddleware、SkillLibrary、DockerSandbox ## 使用说明 ### 交互式 CLI ``` phantom ``` **v2.0 命令(未更改):** ``` phantom> scan example.com # vulnerability scan phantom> attack example.com # full 7-phase kill chain phantom> recon example.com # OSINT + network recon phantom> ai ask "explain XSS" # ask AI anything phantom> ai chat # persistent AI chat (type 'bye' to exit) phantom> ai plan example.com # AI generates + executes attack plan phantom> stealth xss 20 # polymorphic XSS payloads phantom> c2 generate 10.0.0.1 4444 # generate C2 agent phantom> module phantom-web target.com phantom> report example.com phantom> results phantom> exit ``` **新增 v3.0 命令:** ``` phantom> autonomous example.com # fully autonomous AI-driven attack 🤖 phantom> opplan list # show all OPPLAN objectives phantom> opplan load /path/plan.yaml # load saved OPPLAN phantom> graph # ASCII knowledge graph visualization phantom> agents # show all 13 specialist agents + status phantom> sandbox status # Docker sandbox availability phantom> roe violations # show Rules of Engagement violation log phantom> skills list # list all 16 offensive skills ``` ### 自主攻击 ``` phantom> autonomous 192.168.1.0/24 ``` 1. AI 生成完整的 OPPLAN (Recon → Scan → Exploit → Post → Report) 2. 展示计划以供操作员审批 3. 按依赖顺序将目标分派给专家智能体 4. 智能体使用实时发现更新知识图谱 5. AI 根据 KG 状态决定下一个目标 6. ReportAgent 从完整的 KG 生成最终报告 ### 知识图谱 ``` phantom> graph ``` ``` [HOST] 192.168.1.1 └─ [VULN] SQL Injection@1:http://192.168.1.1/login └─ [VULN] Outdated Apache@1 └─ [CRED] admin [HOST] 192.168.1.50 └─ [VULN] Kerberoastable SPN@2 └─ [SERVICE] smb/445@192.168.1.50 ``` ### 交战规则 ``` phantom> roe violations ``` 显示每个被阻止的操作及其时间戳、目标、技术和原因。 ## 模块(共 15 个) ### v2.0 模块(未更改) | 模块 | 类别 | 功能描述 | |:-------|:---------|:-------------| | `phantom-osint` | Recon | 子域名枚举,邮箱收集,技术检测 | | `phantom-network` | Recon | 异步端口扫描,Banner 抓取,OS 指纹识别 | | `phantom-web` | Vuln | SQLi, XSS, XXE, CSRF, LFI, SSRF, IDOR, JWT | | `phantom-cloud` | Vuln | S3/Azure/GCP 存储桶枚举,元数据 SSRF,IAM | | `phantom-identity` | Vuln | JWT none-algorithm,弱密钥爆破 | | `phantom-cred` | Cred | 密码喷洒,暴力破解,哈希破解 | | `phantom-stealth` | Evasion | 多态 payload,WAF 绕过,反向 shell | | `phantom-exploit` | Exploit | SQLi 提取,LFI 读取,SSRF,RCE | | `phantom-c2` | C2 | Agent 注册,命令排队,payload 生成 | | `phantom-post` | Post | 提权,横向移动,权限维持,LSASS 转储 | | `phantom-report` | Report | 带有 MITRE 映射的 HTML + JSON + TXT 报告 | ### v3.0 新增模块 | 模块 | 类别 | 功能描述 | |:-------|:---------|:-------------| | `phantom-ad` | Active Directory | Kerberoasting, AS-REP roasting, BloodHound, LDAP enum | | `phantom-sliver` | C2 | Sliver gRPC implant 生成(回退至 phantom-c2) | | `phantom-exploitdb` | Exploit | 通过 searchsploit 或 exploit-db.com API 进行 CVE/关键字搜索 | | `phantom-reverser` | Reverse Eng | 二进制分析,ROP gadgets,r2pipe/objdump 反汇编 | 所有 v3.0 模块均支持**平滑降级** —— 如果未安装 impacket、Sliver、searchsploit 或 radare2,模块将返回清晰的错误提示,框架的其余部分仍可继续正常运行。 ## 13 个专家智能体 | 智能体 | 阶段 | 功能描述 | |:------|:------|:-------------| | `ReconAgent` | Recon | OSINT + 网络发现 → 向 KG 添加主机 | | `ScannerAgent` | Scan | 端口/服务扫描 → 向 KG 添加服务和漏洞 | | `WebExploitAgent` | Exploit | Web 漏洞发现 → 向 KG 添加 Web 漏洞 | | `CloudAgent` | Exploit | 云错误配置 → 向 KG 添加发现 | | `CredAgent` | Cred | 凭据收集 → 向 KG 添加凭据 | | `ADAgent` | AD | Kerberoast/AS-REP/LDAP → 向 KG 添加 AD 发现 | | `ExploitAgent` | Exploit | CVE 利用 → 在 KG 中将漏洞标记为已利用 | | `PostExploitAgent` | Post | 权限维持,横向移动,LSASS 转储 → 更新 KG | | `C2Agent` | C2 | Sliver/phantom-c2 implant 生成 → 添加至 KG | | `StealthAgent` | Evasion | AV/EDR 绕过 payload,日志清除 | | `ReverserAgent` | Reverser | 二进制分析 → 向 KG 添加发现 | | `AnalystAgent` | Analysis | 综合 KG → 建议下一个目标 | | `ReportAgent` | Report | 完整 KG → 专业的攻击任务报告 | ## 架构 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ CLI (Rich TUI) │ Web Dashboard │ REST API (FastAPI) │ ├─────────────────────────────────────────────────────────────────────┤ │ EnhancedPhantomEngine v3.0 │ │ EventBus │ ModuleLoader │ AI Engine │ KnowledgeGraph │ RoEMiddleware│ │ SkillLibrary │ DockerSandbox │ PhantomOrchestrator │ ├─────────────────────────────────────────────────────────────────────┤ │ PhantomOrchestrator │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ OPPLAN (dependency graph) → asyncio.gather() dispatch │ │ │ │ ai_decide_next() → dynamic objective expansion │ │ │ └─────────────────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────────┤ │ 13 Specialist Agents (BaseAgent → RoE check → KG update) │ ├─────────────────────────────────────────────────────────────────────┤ │ 15 Modules │ KnowledgeGraph (SQLite) │ SkillLibrary (YAML) │ │ DockerSandbox (kalilinux/kali-rolling) │ ConversationSummarizer │ ├─────────────────────────────────────────────────────────────────────┤ │ AI Engine (multi-provider, adaptive memory, web search) │ └─────────────────────────────────────────────────────────────────────┘ ``` ## 可选的 v3.0 依赖项 以下均为**可选** —— 没有它们框架也能正常工作,只是部分模块会平滑降级: | 依赖项 | 启用的功能 | 安装方式 | |:-----------|:----------------|:--------| | `impacket` | Kerberoasting, AS-REP roasting | `pip install impacket` | | `ldap3` | LDAP enumeration | `pip install ldap3` | | `docker` (Python SDK) | Docker sandbox | `pip install docker` | | `r2pipe` | Radare2 disassembly | `pip install r2pipe` | | `sliver-client` (binary) | Sliver C2 implants | [sliver.sh/install](https://sliver.sh/install) | | `searchsploit` (binary) | Local ExploitDB search | `apt install exploitdb` | | `bloodhound-python` | BloodHound collection | `pip install bloodhound` | | `ROPgadget` | ROP gadget finding | `pip install ROPgadget` | | `pypykatz` | LSASS hash extraction | `pip install pypykatz` | 一次性全部安装: ``` pip install "phantom-strike[v3]" # 或者 bash install.sh --v3 ``` ## 测试 ``` # 运行所有 411 个测试 pytest tests/ -v # 仅运行原有的 28 个 v2.0 测试 pytest tests/test_core.py -v # 按类别运行 v3.0 测试 pytest tests/test_v3_roe.py -v # RoE middleware pytest tests/test_v3_knowledge_graph.py -v # Knowledge Graph pytest tests/test_v3_opplan.py -v # OPPLAN system pytest tests/test_v3_agents.py -v # BaseAgent pytest tests/test_v3_integration.py -v # End-to-end pipeline # 带有 coverage pytest tests/ --cov=phantom --cov-report=html ``` **测试分类:** - 28 个原始 v2.0 测试(全部通过) - 383 个新增 v3.0 测试:基于属性 (Hypothesis)、单元测试、集成测试 - 10 个基于属性的测试涵盖了:RoE 禁止优先级、KG 去重、OPPLAN 序列化、依赖健全性、循环拒绝、摘要器逐字保留、智能体上下文隔离、优雅降级、速率限制强制执行、现有测试保留 ## API 参考 启动服务器:`phantom serve` | Endpoint | Method | 描述 | |:---------|:------:|:------------| | `/` | GET | Web Dashboard UI | | `/health` | GET | 健康检查 | | `/ws` | WS | WebSocket 实时推送 | | `/api/scan/start` | POST | 启动后台扫描 | | `/api/scan/quick` | POST | 同步扫描 | | `/api/ai/query` | POST | AI 查询 | | `/api/ai/status` | GET | AI 提供商状态 | | `/api/payloads/generate` | POST | 生成 payload | | `/api/modules` | GET | 列出所有模块 | | `/api/c2/agents` | GET | 列出 C2 agent | | `/api/attack/start` | POST | 启动攻击模式 | | `/api/results` | GET | 所有扫描结果 | | `/docs` | GET | Swagger UI | ## 法律免责声明 PhantomStrike 专为**授权的渗透测试**、安全研究和教育目的而设计。 - 仅扫描您拥有或获得**书面授权**进行测试的系统 - 对发现的任何漏洞遵循负责任的披露原则 - 遵守您所在司法管辖区适用的所有法律 开发者对任何误用不承担任何责任。请参阅 [DISCLAIMER.md](DISCLAIMER.md)。 ## 许可证 MIT License — 详见 [LICENSE](LICENSE) Copyright (c) 2024 Chandan Pandey
标签:AI攻击规划, AI驱动, AWS S3扫描, Azure扫描, CI/CD安全, CISA项目, DLL 劫持, GCP扫描, Gemini, Llama, Offensive Security, OpenRouter, Playwright, PyRIT, Python, Web安全, Web报告查看器, XSS漏洞测试, 云安全扫描, 云渗透测试, 免费工具, 多智能体系统, 多模型AI, 大语言模型, 子域名变形, 安全测试, 开源安全工具, 插件系统, 攻击性安全, 攻击模拟, 攻击路径可视化, 数据泄露, 无后门, 渗透测试框架, 特征检测, 盲注SQLi, 红队评估, 网络安全, 网络安全审计, 自动化杀伤链, 自动化渗透测试, 自动化漏洞利用, 蓝队分析, 计算机取证, 请求拦截, 逆向工具, 逆向工程平台, 防御, 隐私保护, 驱动签名利用, 黑客工具