omerKkemal/PhontomGate
GitHub: omerKkemal/PhontomGate
一个基于Python的跨平台远程管理(RAT)与僵尸网络模拟框架,专为安全研究和红队演练设计。
Stars: 0 | Forks: 0
╔═══════════════════════════════════════════════════════════════════╗
║ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗ ██████╗ ███╗ ███╗ ║
║ ██╔══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝██╔════╝ ████╗ ████║ ║
║ ██████╔╝███████║███████║██╔██╗ ██║ ██║ ██║ ███╗██╔████╔██║ ║
║ ██╔═══╝ ██╔══██║██╔══██║██║╚██╗██║ ██║ ██║ ██║██║╚██╔╝██║ ║
║ ██║ ██║ ██║██║ ██║██║ ╚████║ ██║ ╚██████╔╝██║ ╚═╝ ██║ ║
║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ║
║ ║
║ 多用途远程管理与 Botnet 模拟 ║
╚═══════════════════════════════════════════════════════════════════╝
## 重要声明
|
仅供教育用途 本工具严格仅限于授权的安全研究、红队演练和教育目的。 未经授权的使用是非法且不道德的。用户必须遵守所有适用法律。 作者对滥用或造成的损害概不负责。 |
| 模块 | 描述 |
|:--------|:------------|
| **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
**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, 代码生成, 僵尸网络模拟, 后渗透, 命令控制, 安全学习资源, 攻击模拟, 教育用途, 数据采集, 无后门, 无线安全, 渗透测试工具, 网络信息收集, 网络安全, 网络安全审计, 远控木马, 远程管理, 逆向工具, 隐私保护, 驱动签名利用