🔒 现代化C2平台 | 集成Cloudflare Tunnel | WinRM与SSH远程管理 | 实时终端与远程桌面 | 基于FastAPI与React构建
ZeroPulse 是一个全面的命令与控制 (C2) 平台,专为安全的远程管理和监控而设计。它利用 Cloudflare Tunnel 技术提供安全、加密的连接,而无需将基础设施暴露于公共互联网。
⚠️ 开发状态:本项目目前处于积极开发中。此版本为演示版/Alpha 版本,部分功能可能:
- 不稳定或存在破坏性变更
- 不完整或部分实现
- 正在积极开发,且会频繁更新
我们建议仅将此软件用于测试和评估目的。如需生产环境使用,请等待稳定版本,或自行承担风险。
ZeroPulse 仪表板 - 所有隧道及系统状态总览
隧道管理
远程命令执行
远程桌面
会话与安全
DNS 管理
本地 Shell 访问
模块控制系统
.nvmrc)gem install evil-winrm)sudo apt update sudo apt install -y python3 python3-pip python3-venv git curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 20.19.0 nvm use 20.19.0
sudo snap install ruby --classic gem install evil-winrm
python3 --version # Should be 3.8+ node --version # Should be 20.19.0+ or 22.12.0+ npm --version
## 🚀 安装
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/7371/63f8299d6bb31aaa64c5e271f4e78bcb3ea94ef8ae7a2f1e2e3b6205552fb8b2.png" alt="安装设置" />
<p><em>安装过程 - 在新系统上设置 ZeroPulse</em></p>
</div>
### 1. 克隆仓库```bash
git clone https://github.com/yourusername/zeropulse.git
cd zeropulse
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
### 3. 前端设置```bash
cd frontend
# Check Node.js version (should be 20.19.0+ or 22.12.0+)
node --version
# If using nvm, switch to required version
nvm use # Automatically uses version from .nvmrc
# Install dependencies
npm install
# Build frontend
npm run build
cd ..
在项目根目录下创建一个 .env 文件:```bash
cat > .env << EOF
ADMIN_USERNAME=admin ADMIN_PASSWORD=your-secure-password-here JWT_SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))") JWT_ALGORITHM=HS256 JWT_EXPIRATION_HOURS=24
CLOUDFLARE_API_TOKEN=your-cloudflare-api-token-here CLOUDFLARE_ACCOUNT_ID=your-cloudflare-account-id-here CLOUDFLARE_DOMAIN=your-domain.com
WINRM_USERNAME=WinRMUser WINRM_PASSWORD=your-secure-password-here
SSH_KEY_PATH=/path/to/ssh/key SSH_USERNAME=ssh_user
C2_SERVER_HOST=0.0.0.0 C2_SERVER_PORT=8000 ENVIRONMENT=production
DATABASE_PATH=data/database.db EOF
chmod 600 .env
### 5. 启动服务器```bash
# Ensure virtual environment is active
source venv/bin/activate
# Start the server
python3 run_server.py
服务器将在 http://localhost:8000 可访问
你的 Cloudflare API 令牌需要以下权限:
Zone:Read、DNS:EditCloudflare Tunnel:Edit
隧道列表 - 查看所有隧道及其状态、健康指示器和快速操作
隧道路由配置 - 配置入口规则和 DNS 记录
命令执行界面 - 通过 WinRM 和 SSH 在远程 Windows 系统上执行命令
命令历史 - 所有已执行命令的全面视图,包含详细信息
命令历史功能提供所有命令执行的完整审计跟踪:
全面日志记录
高级筛选
详细视图
历史管理
模块控制面板 - 用于管理所有系统模块和功能的集中界面
模块控制面板提供统一的界面,用于访问和管理各种系统模块:
设置模态框 - 集中配置和管理界面
设置模态框通过多个标签页提供全面的系统配置和管理:
管理可在远程系统上执行的 PowerShell 模块:
模块功能:
模板引擎允许你创建带有用户输入变量的动态 PowerShell 模块。变量使用 _{...}_ 语法定义,并在执行前被用户提供的值替换。
1. 简单文本输入```powershell ping {ip,192.168.1.1}
- **格式**: `_{name,placeholder}_`
- **用法**: 带占位文本的输入字段
- **示例**: `ping _{target_ip,192.168.1.1}_` → 用户输入IP地址
**2. 下拉列表**```powershell
ping _{ip,list,(192.168.1.1,192.168.1.2,10.0.0.1)}_
_{name,list,(option1,option2,option3)}_3. 单选按钮```powershell netstat -an | findstr {port,radio,(80,443,8080)}
- **格式**:`_{name,radio,(option1,option2,option3)}_`
- **用法**:单选按钮组,用于单项选择
- **示例**:用户通过单选按钮选择端口号
**4. 复选框**```powershell
if (_{enable,check,(true,false),Enabled,Disabled}_) { Write-Host "Enabled" }
_{name,check,(true_value,false_value),true_label,false_label}_模块创建
_{variable}_ 语法表示动态值变量提取
用户输入
变量替换
执行
PowerShell 脚本:```powershell
$target = "{target_ip,192.168.1.1}" $port = "{port,radio,(80,443,8080)}" $scan_type = "{scan_type,list,(ping,tcp,udp)}" $verbose = "{verbose,check,(true,false),Yes,No}"
if ($scan_type -eq "ping") { ping -n 4 $target } elseif ($scan_type -eq "tcp") { Test-NetConnection -ComputerName $target -Port $port } else { Write-Host "UDP scan for $target on port $port" }
if ($verbose -eq "true") { Write-Host "Scan completed with verbose output" }
**生成的表单:**
- **target_ip**:文本输入(占位符:192.168.1.1)
- **port**:单选按钮(80、443、8080)
- **scan_type**:下拉菜单(ping、tcp、udp)
- **verbose**:复选框(是/否)
##### 最佳实践
- **使用描述性名称**:变量名称应清晰且具有描述性
- **提供占位符**:始终为文本输入添加有用的占位符
- **限制选项**:保持下拉菜单/单选按钮选项数量适中(5-10项)
- **验证输入**:在 PowerShell 脚本中考虑输入验证
- **记录变量**:添加注释说明变量用途
##### 高级用法
**嵌套变量:**```powershell
$command = "ping _{ip}_ -n _{count,4}_"
Invoke-Expression $command
条件逻辑:```powershell if ({enable_feature,check,(true,false),Yes,No} -eq "true") { # Feature code }
**多个变量:**```powershell
$server = "_{server_name,localhost}_"
$port = "_{port,list,(80,443,8080,8443)}_"
$protocol = "_{protocol,radio,(http,https)}_"
$url = "$protocol://$server`:$port"
依赖管理 - 管理系统依赖与需求
管理系统依赖与需求:
支持的依赖:
系统日志 - 实时查看与监控系统日志
通过全面的日志记录监控系统活动:
日志级别:
API 令牌管理 - 创建并管理具有精细权限的 API 令牌
活跃会话管理 - 查看并管理活跃用户会话
查看并管理活跃用户会话:
活跃会话管理 - 查看并管理活跃用户会话
配置所有隧道的路由:
代理脚本编辑器 - 创建、编辑和自定义用于 Windows 部署的 PowerShell 代理脚本
代理是一个 PowerShell 脚本,用于自动化设置 Windows 系统以便通过 ZeroPulse 进行远程管理。它配置 WinRM,创建 Cloudflare 隧道,并建立安全连接。
API 令牌管理 - 创建并管理具有精细权限的 API 令牌
服务器运行后,可通过以下地址访问交互式 API 文档:
http://localhost:8000/docshttp://localhost:8000/redoc所有 API 端点(/api/auth/* 除外)都需要身份验证:```bash
curl -H "Authorization: Bearer YOUR_JWT_TOKEN"
http://localhost:8000/api/tunnels
### 生产部署
在部署到生产环境时:
1. 在 `.env` 中设置 `ENVIRONMENT=production`
2. 使用反向代理(nginx/traefik)并配置SSL
3. 配置防火墙规则
4. 设置日志轮转
5. 使用systemd服务实现自动重启
<h2 id="contact">📧 联系方式</h2>
<p >
<a href="https://t.me/amajax"><img title="Telegram" src="https://img.shields.io/badge/Telegram-black?style=for-the-badge&logo=Telegram"></a>
<a href="https://www.youtube.com/channel/UC0-QcOXgzRgSfcE3zerwu9w/?sub_confirmation=1"><img title="Youtube" src="https://img.shields.io/badge/Youtube-red?style=for-the-badge&logo=Youtube"></a>
<a href="https://www.instagram.com/jxroot"><img title="Instagram" src="https://img.shields.io/badge/Instagram-white?style=for-the-badge&logo=Instagram"></a>
## ⚠️ 法律与道德免责声明
🚨 本工具仅严格用于教育和授权的安全测试目的。
🔬 旨在帮助网络安全专业人员、研究者和爱好者在实验室或受控环境中理解后渗透、红队和安全检测技术。
❌ 未经明确许可,请勿在任何系统或网络上使用此工具。未经授权的使用可能违法且不道德。
🛡 作者不对因使用本项目造成的任何滥用或损害承担责任。
---
> 始终负责任地进行黑客活动。💻🔐
---
<div align="center">
</div>
| 层级 | 技术 | 用途 |
|---|
| 前端 | React 19, Redux Toolkit, React Router, TailwindCSS, xterm.js | 用户界面 |
| 后端 | FastAPI, Uvicorn | API 服务器 |
| 数据库 | SQLite(带优化查询与索引) | 数据持久化 |
| 认证 | JWT, python-jose | 基于令牌的认证 |
| 远程执行 | pywinrm, paramiko, evil-winrm | WinRM 和 SSH 集成 |
| 终端 | xterm.js, WebSocket | 交互式终端 |
| 外部 API | requests, cloudflare | 服务集成 |
| 进程管理 | subprocess, asyncio, threading | 后台任务 |
| 变量 | 描述 | 默认值 |
|---|
ADMIN_USERNAME | 管理员用户名 | admin |
ADMIN_PASSWORD | 管理员密码 | - |
JWT_SECRET_KEY | JWT 签名密钥 | - |
JWT_EXPIRATION_HOURS | 令牌过期时间 | 24 |
CLOUDFLARE_API_TOKEN | Cloudflare API 令牌 | - |
CLOUDFLARE_ACCOUNT_ID | Cloudflare 账号 ID | - |
CLOUDFLARE_DOMAIN | 你的域名 | - |
WINRM_USERNAME | WinRM 用户名 | WinRMUser |
WINRM_PASSWORD | WinRM 密码 | - |
SSH_KEY_PATH | SSH 私钥路径 | - |
SSH_USERNAME | SSH 用户名 | - |
C2_SERVER_HOST | 服务器主机 | 0.0.0.0 |
C2_SERVER_PORT | 服务器端口 | 8000 |
ENVIRONMENT | 环境模式 | development |
DATABASE_PATH | 数据库文件路径 | data/database.db |