Terminalkid09/Phantom
GitHub: Terminalkid09/Phantom
一个基于 Python 的进攻性安全 CLI 框架,将多种渗透测试工具的侦察、枚举、爆破、利用和报告流程编排到统一的交互式会话中,减少手动工具链操作并保持操作者对命令的可控性。
Stars: 0 | Forks: 0
```
██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗ ██████╗ ███╗ ███╗
██╔══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝██╔═══██╗████╗████║
██████╔╝███████║███████║██╔██╗██║ ██║ ██║ ██║██╔████╔██║
██╔═══╝ ██╔══██║██╔══██║██║╚████║ ██║ ██║ ██║██║╚██╔╝██║
██║ ██║ ██║██║ ██║██║ ╚███║ ██║ ╚██████╔╝██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
v1.0.0 — Offensive Security Framework
```

# Phantom
Phantom 是一个基于 Python 的进攻性安全 CLI 框架,它将侦察、OSINT、Web 测试、暴力破解、漏洞利用和报告生成编排到一个单一的交互式会话中。它的存在是为了减少手动工具链的繁琐操作,并通过可预览、可编辑的命令工作流让操作者保持掌控。
## 功能
- 具有持久会话状态的交互式 CLI shell
- 针对安全操作的目标和范围管理
- 驱动预览的命令生成和编辑
- 网络扫描和侦察编排
- OSINT 和子域名发现工作流
- Web 枚举和模糊测试命令生成
- 暴力破解和 payload 生成支持
- 漏洞利用评分和漏洞关联
- 以 JSON、HTML 和 PDF 格式导出报告
- API 集成:NVD, crt.sh, ExploitDB, Shodan, GitHub
## 环境要求
- Python 3.10+
- `pip` 依赖:
- rich
- requests
- python-nmap
- scapy
- reportlab
- python-whois
- dnspython
- 所需系统工具:
- nmap
- gobuster
- hydra
- sqlmap
- metasploit-framework
- nikto
- enum4linux
- sslscan
- traceroute
- arp-scan
- netdiscover
- amass
- subfinder
- whatweb
- wafw00f
- feroxbuster
- ffuf
- wfuzz
- john
- hashcat
- medusa
- dirb
- dnsenum
- dnsrecon
- fierce
- tshark
- scapy
- searchsploit
- msfvenom
- chisel
### 可选与必需
- 必需:Python 3.10+, rich, requests, reportlab, scapy, python-whois, dnspython。
- 可选:诸如 Shodan、GitHub 和本地漏洞搜索等工具仅在可选的 OSINT 和漏洞利用工作流中使用。
## 安装说明
```
git clone https://github.com/Terminalkid09/phantom.git
cd phantom
pip install -e .
phantom
```
使用 pipx 安装的替代方法:
```
pipx install git+https://github.com/Terminalkid09/phantom.git
```
## 运行测试
```
pip install pytest pytest-mock
pytest tests/ -v
```
## 快速开始
```
phantom
set target 10.0.0.1
set scope 10.0.0.0/24
set mode full
use scan
preview
# 根据需要编辑或删除命令
run-all
use report
export json report.json
```
## 模块参考
| 模块 | 命令 | 描述 | 关键命令 |
|---|---|---|---|
| Shell 核心 | `phantom` | 主交互式 CLI | `set`, `show`, `note`, `history`, `export`, `use` |
| Scan | `use scan` | 网络侦察命令生成器 | `preview`, `run-all` |
| OSINT | `use osint` | 被动域名/IP 情报和 API 查询 | `crtsh`, `shodan`, `bgp` |
| Web | `use web` | Web 枚举和模糊测试工作流 | `preview`, `run-all` |
| Brute | `use brute` | 受控的暴力破解向导 | `run`, `crack` |
| Exploit | `use exploit` | CVE 关联和漏洞利用评分 | `run`, `preview` |
| Payload | `use payload` | Payload 生成和监听器辅助工具 | `generate`, `run` |
| Handler | `use handler` | 反向 shell 监听器辅助工具 | `listen`, `nc` |
| Pivot | `use pivot` | 端口转发和隧道辅助工具 | `setup`, `run` |
| Analyzer | `use analyzer` | PCAP 分析和异常检测 | `capture`, `load` |
| Report | `use report` | 将会话结果导出为 JSON/HTML/PDF | `export`, `preview` |
## 法律免责声明
Phantom 仅设计用于授权的渗透测试和安全研究。
仅在您拥有或已获得明确书面许可进行测试的系统上使用此工具。
在大多数司法管辖区,针对您不拥有的系统进行未经授权的使用在计算机犯罪法下是违法的。作者对因滥用此工具或造成的损害不承担任何责任。在进行任何安全测试之前,请务必获得适当的授权。
## 贡献指南
要添加一个新模块:
1. 在 `phantom/modules/` 下创建一个新模块。
2. 继承自 `phantom.modules.base_module.BaseModule`。
3. 实现 `build_commands()`、`do_preview()` 和 `do_run()`。
4. 在 `phantom/core/shell.py` 的 `do_use()` 中添加模块名称。
5. 在 `tests/` 目录下使用 pytest 和对外部交互的 mock 添加测试。
## 作者
Terminalkid09 — https://github.com/Terminalkid09
标签:API集成, CISA项目, CLI框架, CTI, DOS头擦除, ESC4, ExploitDB, FTP漏洞扫描, GPT, Hydra, MISP, Nmap, OSINT, PoC, PTF, Python, Python3, SQLmap, Web枚举, Web测试, 交互式命令行, 加密, 反取证, 可观测性, 安全测试, 安全测试, 安全编排, 安全评估, 实时处理, 密码破解, 密码管理, 开源安全工具, 插件系统, 攻击性安全, 攻击性安全, 攻击路径可视化, 数据展示, 无后门, 暴力破解, 渗透测试框架, 漏洞扫描器, 漏洞管理, 红队, 网络安全, 自动化渗透, 虚拟驱动器, 载荷生成, 逆向工具, 逆向工程平台, 防御, 隐私保护, 黑客工具