lavchaudharygc/Panthom-Scan
GitHub: lavchaudharygc/Panthom-Scan
一款纯 Python 编写的开源综合网络安全扫描套件,集端口扫描、漏洞评估、暴力破解与拓扑可视化为一体。
Stars: 0 | Forks: 0
```
╔══════════════════════════════════════════════════════════════════╗
║ ◈ P H A N T O M S C A N v 5 . 0 ║
║ Advanced Network Security Suite — Python ║
╚══════════════════════════════════════════════════════════════════╝
```
[](https://python.org)
[](LICENSE)
[]
[]
[]
[]
**使用纯 Python 构建的最完整的开源网络安全扫描器。**
端口扫描器 · 漏洞评估 · SYN 隐秘扫描 · 暴力破解 · 拓扑图 · Shodan · NVD · Docker
[📥 下载](#installation) · [📖 文档](#usage) · [🐳 Docker](#docker) · [▶️ 观看演示](#-demo-video) · [📸 截图](#screenshots)
## ▶️ 演示视频
### 🎬 完整工具演练 — 在 YouTube 上观看
[](https://youtu.be/T6rXwX3oRz8)
### ⏱️ 视频时间戳 — 跳转至任意功能
| 时间 | 部分 | 你将看到 |
|------|---------|----------------|
| [0:36](https://youtu.be/T6rXwX3oRz8?t=36) | 🎯 为什么选择这个工具? | Phantom Scan 解决的问题 |
| [0:37](https://youtu.be/T6rXwX3oRz8?t=37) | 👁️ 初步印象 | 完整的 GUI 概览 |
| [1:39](https://youtu.be/T6rXwX3oRz8?t=99) | 🔍 实时扫描演示 | 带有 CVE 检测的真实目标扫描 |
| [7:34](https://youtu.be/T6rXwX3oRz8?t=454) | ⚡ 扫描类型 | TCP · UDP · SYN 隐秘扫描详解 |
| [9:06](https://youtu.be/T6rXwX3oRz8?t=546) | 🗺️ 拓扑图 | 交互式网络可视化 |
| [11:08](https://youtu.be/T6rXwX3oRz8?t=668) | 💣 暴力破解 | FTP · SSH · HTTP 凭证测试 |
| [14:02](https://youtu.be/T6rXwX3oRz8?t=842) | 📅 任务计划 | 自动循环扫描设置 |
| [16:50](https://youtu.be/T6rXwX3oRz8?t=1010) | 🌐 Shodan + NVD | 实时 IP 情报 + CVE 更新 |
| [20:30](https://youtu.be/T6rXwX3oRz8?t=1230) | 🎬 结尾 | 总结 + GitHub + 后续步骤 |
## 🔍 什么是 Phantom Scan?
**Phantom Scan v5.0** 是一个专业级的开源 **网络安全套件**,完全使用 Python 构建,没有任何强制性的外部依赖。它将快速的多线程端口扫描器、自动 CVE 漏洞检测、实时网络拓扑可视化、服务暴力破解测试模块、计划性循环扫描、Shodan API 情报以及 NVD CVE 自动更新结合在一起——所有这些都集成在一个时尚的 **暗黑赛博朋克 GUI** 中。
## ✨ 功能概览
| 模块 | 功能描述 | 需求 |
|--------|-------------|---------|
| 🔌 **TCP Connect 扫描** | 快速多线程端口扫描器,最多 500 个线程 | 仅需标准库 |
| 🕵️ **SYN 隐秘扫描** | Raw socket SYN/RST — 无 TCP 握手,更难被检测 | Linux + root |
| 📡 **UDP 扫描** | UDP 端口检测,包含 open/filtered 分类 | 仅需标准库 |
| 🛡️ **漏洞评估** | 基于内置数据库匹配 CVE + NVD 自动获取 | 仅需标准库 |
| 🗺️ **网络拓扑图** | 交互式径向画布 — 缩放、平移、点击查看详情 | 仅需标准库 |
| 💣 **暴力破解模块** | FTP / SSH / HTTP Basic Auth 凭证测试 | paramiko (SSH) |
| 📅 **任务计划** | 按自定义间隔(每小时/每天/每周)自动循环扫描 | 仅需标准库 |
| 🌐 **Shodan API** | 实时 IP 情报 — 组织、ISP、位置、已索引的 CVE | 免费 API key |
| 🔄 **NVD CVE 自动更新** | 从 nvd.nist.gov 获取最新 CVE 到实时数据库 | 仅需标准库 |
| 📄 **PDF 报告** | 专业的暗黑主题渗透测试报告 | reportlab |
| 📦 **Docker 支持** | CLI 无头模式 + 通过 X11 转发的 GUI | Docker |
| 💻 **CLI 模式** | 用于自动化 pipeline 的可脚本化无头扫描器 | 仅需标准库 |
## 🖥️ 截图
| 暗黑 GUI — 扫描结果 | 拓扑图 | 暴力破解选项卡 |
|:---:|:---:|:---:|
|  |  |  |
| 漏洞详情弹窗 | 任务计划 | PDF 报告 |
|:---:|:---:|:---:|
|  |  |  |
## 🏗️ 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ PHANTOM SCAN v5.0 │
├──────────────┬──────────────────────────────────────────────────┤
│ GUI Layer │ Tkinter dark theme · 4-tab notebook · live queue│
├──────────────┼──────────────────────────────────────────────────┤
│ Scan Engine │ TCP Connect · SYN Stealth · UDP │
│ │ ThreadPoolExecutor · up to 500 threads │
├──────────────┼──────────────────────────────────────────────────┤
│Banner Grabber│ Protocol probes: FTP/SSH/HTTP/SMTP/Redis/MongoDB│
│ │ Version regex extraction from banners │
├──────────────┼──────────────────────────────────────────────────┤
│ Vuln Engine │ Built-in CVE DB + NVD API v2.0 live fetch │
│ │ CVSS scoring · severity · exploit flag │
├──────────────┼──────────────────────────────────────────────────┤
│ Topology │ Canvas radial graph · zoom/pan · hover tooltips │
├──────────────┼──────────────────────────────────────────────────┤
│ Brute Force │ FTP(ftplib) · SSH(paramiko) · HTTP Basic Auth │
│ │ Wordlist loader · rate limiting · live results │
├──────────────┼──────────────────────────────────────────────────┤
│ Scheduler │ threading.Timer · recurring jobs · auto-report │
├──────────────┼──────────────────────────────────────────────────┤
│ Integrations│ Shodan API · NVD REST API v2.0 │
├──────────────┼──────────────────────────────────────────────────┤
│ Export │ JSON · CSV · TXT · PDF(reportlab) · HTML │
├──────────────┼──────────────────────────────────────────────────┤
│ Docker │ Dockerfile · docker-compose · CLI entrypoint │
└──────────────┴──────────────────────────────────────────────────┘
```
## 📦 安装说明
### 环境要求
- Python **3.8+**
- 核心功能无需 `pip install`
- 扩展功能可选安装包(见下文)
```
# Clone
git clone https://github.com/lavchaudharygc/Panthom-Scan
cd Panthom-Scan
# (可选)安装额外功能
pip install reportlab # PDF export
pip install paramiko # SSH brute-force module
pip install rich # Coloured CLI output
# 运行 GUI
python phantom_scan.py # Windows / macOS / Linux
python3 phantom_scan.py # Linux explicit
# SYN 隐蔽扫描(需要 Linux + root)
sudo python3 phantom_scan.py
```
## 🐳 Docker
```
# 构建 image
docker build -t phantom-scan .
# CLI 扫描(headless,无需 display)
docker run --rm --network host phantom-scan \
--target scanme.nmap.org --ports 1-1024 --output /app/reports/result.json
# 在 Docker 中进行 SYN 隐蔽扫描(需要 NET_RAW)
docker run --rm --network host --cap-add NET_RAW phantom-scan \
--target 192.168.1.1 --ports 1-1024
# 完整的 docker-compose(在 Linux 上通过 X11 使用 GUI)
xhost +local:docker
docker-compose up phantom-gui
```
## 🚀 使用说明
### GUI 模式
1. 输入目标:主机名、IP 或 CIDR(例如 `192.168.1.0/24`)
2. 选择端口预设或输入自定义范围
3. 选择扫描类型:TCP / UDP / 两者皆是 / SYN 隐秘扫描
4. 启用 Banner Grabbing(自动启用漏洞检测)
5. 点击 **◈ START SCAN**
6. 双击任意结果行 → 完整的 CVE 详情弹窗
7. 切换到 **Topology Map** 选项卡 → 交互式节点图
8. 导出为 JSON / CSV / TXT / PDF
### CLI 模式
```
# 基础扫描
python3 phantom_cli.py --target 192.168.1.1 --ports 1-1024
# 包含 PDF 报告的完整扫描
python3 phantom_cli.py --target example.com --ports 1-65535 \
--threads 300 --timeout 1.5 --output report.pdf
# 所有选项
python3 phantom_cli.py --help
```
### 键盘快捷键 (GUI)
| 快捷键 | 操作 |
|----------|--------|
| `Ctrl+S` | 开始扫描 |
| `Ctrl+X` | 停止扫描 |
| `Ctrl+C` | 清除日志 |
| `Ctrl+Q` | 退出 |
| `F1` | 帮助 |
## 🛡️ 漏洞检测
Phantom Scan 将服务 Banner 与内置的 CVE 数据库进行匹配,涵盖:
| 服务 | 检测到的 CVE | 最高 CVSS |
|---------|--------------|----------|
| **FTP** (vsftpd, ProFTPD, Pure-FTPd) | CVE-2011-2523, CVE-2015-3306, CVE-2020-9365 | 10.0 |
| **SSH** (OpenSSH) | CVE-2016-6210, CVE-2006-5051, CVE-2012-0814 | 9.8 |
| **HTTP** (Apache, nginx) | CVE-2021-41773, CVE-2021-42013, CVE-2019-20372 | 9.8 |
| **SMB** (EternalBlue, SambaCry) | CVE-2017-0144, CVE-2017-7494 | 9.8 |
| **RDP** (BlueKeep) | CVE-2019-0708 | 9.8 |
| **MySQL** | CVE-2017-15365 | 7.5 |
**实时 NVD 更新:** 点击 *“🔄 Update CVE DB from NVD”* 直接从 [nvd.nist.gov](https://nvd.nist.gov) 获取新的 CVE 并将其合并到当前活动的数据库中。
## ⚡ Phantom Scan 与 Nmap 对比
| 功能 | Phantom Scan v5.0 | Nmap |
|---------|:-:|:-:|
| 图形用户界面 | ✅ 内置暗黑 GUI | ❌ 仅限 CLI(Zenmap 需单独安装) |
| 零强制性依赖 | ✅ | ❌ 需要安装 |
| CVE 漏洞匹配 | ✅ 内置 + NVD 实时更新 | ⚠️ 仅能通过 NSE 脚本实现 |
| CVSS 分数 + 严重性显示 | ✅ 实时 | ❌ 默认不显示 |
| 漏洞利用可用性标志 | ✅ | ❌ |
| 修复建议 | ✅ 针对每个 CVE | ❌ |
| 网络拓扑图 | ✅ 交互式画布 | ❌ |
| 计划 / 循环扫描 | ✅ 内置计划程序 | ❌ |
| Shodan API 集成 | ✅ | ❌ |
| NVD 自动更新 | ✅ | ❌ |
| 暴力破解模块 | ✅ FTP/SSH/HTTP | ❌ |
| PDF 报告生成 | ✅ | ❌ |
| Docker 容器支持 | ✅ + CLI 模式 | ❌ |
| 导出: JSON + CSV + TXT + PDF | ✅ | ⚠️ 仅支持 XML/grepable |
| 对新手友好 | ✅ | ❌ CLI 学习门槛陡峭 |
| SYN 隐秘扫描 | ✅ Raw socket | ✅(需 root) |
| 完整的操作系统指纹识别 | ⚠️ 基于 TTL 的提示 | ✅ 深度分析 |
| NSE 脚本引擎 | ❌(已计划) | ✅ |
| IPv6 支持 | ❌(已计划) | ✅ |
## 📁 项目结构
```
phantom-scan/
├── phantom_scan.py # Main GUI application (2189 lines)
├── phantom_cli.py # Headless CLI scanner
├── Dockerfile # Docker container definition
├── docker-compose.yml # Multi-service Docker setup
├── requirements.txt # Optional dependencies
├── phantom_config.json # Auto-created: API keys storage
├── screenshots/ # Add your screenshots here
│ ├── scan_results.png
│ ├── topology.png
│ ├── brute_force.png
│ └── ...
└── README.md
```
## 🗺️ 路线图
- [ ] SYN 隐秘扫描 — 通过 WinPcap/Npcap 支持 Windows
- [ ] IPv6 目标支持
- [ ] PDF 报告 — 嵌入图表
- [ ] CVE 数据库:每天夜间自动计划与 NVD 同步
- [ ] NSE 风格的插件/脚本引擎
- [ ] 服务暴力破解:RDP + Telnet 模块
- [ ] 网络扫描:在端口扫描前进行 ICMP ping 扫描
- [ ] CVSS v3.1 完整评分细分
- [ ] 发现严重漏洞时触发 Slack/邮件警报
- [ ] Web 界面 作为 Tkinter GUI 的替代方案
## ⚠️ 法律与合规使用
## 📄 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。个人、教育和商业用途均免费。
**使用 Python 与 🖤 编写**
⭐ **如果这个项目对你有帮助,请给仓库点个 Star!** ⭐
[](https://github.com/lavchaudharygc/Panthom-Scan)
[](https://youtu.be/T6rXwX3oRz8)
*“安全不是一个产品,而是一个过程。”* — Bruce Schneier
标签:AES-256, Docker, Python, 云存储安全, 安全防御评估, 密码爆破, 插件系统, 数据统计, 无后门, 漏洞评估, 端口扫描, 网络扫描, 请求拦截, 逆向工具