
🔒 Plataforma C2 Moderna com Integração de Cloudflare Tunnel | Gerenciamento Remoto WinRM & SSH | Terminal e Área de Trabalho Remota em Tempo Real | Construído com FastAPI & React
ZeroPulse é uma plataforma abrangente de Comando e Controle (C2) projetada para gerenciamento e monitoramento remotos seguros. Ela utiliza a tecnologia Cloudflare Tunnel para fornecer conexões seguras e criptografadas sem expor sua infraestrutura à internet pública.
⚠️ Status de Desenvolvimento: Este projeto está atualmente em desenvolvimento ativo. Esta versão é uma versão demo/alpha e alguns recursos podem estar:
- Instáveis ou sujeitos a mudanças significativas
- Incompletos ou parcialmente implementados
- Em desenvolvimento ativo com atualizações frequentes
Recomendamos usar este software apenas para fins de teste e avaliação. Para uso em produção, aguarde uma versão estável ou use por sua conta e risco.
Painel ZeroPulse - Visão geral de todos os túneis e status do sistema
Gerenciamento de Túneis
Execução Remota de Comandos
Área de Trabalho Remota
Sessão e Segurança
Gerenciamento de DNS
Acesso a Shell Local
Sistema de Controle de Módulos
.nvmrc no diretório frontend)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
## 🚀 Instalação
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/7371/63f8299d6bb31aaa64c5e271f4e78bcb3ea94ef8ae7a2f1e2e3b6205552fb8b2.png" alt="Configuração da Instalação" />
<p><em>Processo de Instalação - Configurando o ZeroPulse em um novo sistema</em></p>
</div>
### 1. Clone o Repositório```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. Configuração do Frontend```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 ..
Crie um arquivo .env na raiz do projeto:```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. Iniciar o Servidor```bash
# Ensure virtual environment is active
source venv/bin/activate
# Start the server
python3 run_server.py
O servidor estará acessível em http://localhost:8000
O token da API Cloudflare precisa das seguintes permissões:
Zone:Read, DNS:EditCloudflare Tunnel:Edit
Lista de Túneis - Visualiza todos os túneis com estado, indicadores de saúde e ações rápidas
Configuração de Rotas do Túnel - Configurar regras de ingresso e registos DNS
Interface de Execução de Comandos - Executar comandos em sistemas Windows remotos via WinRM e SSH
Histórico de Comandos - Vista abrangente de todos os comandos executados com informação detalhada
A funcionalidade de Histórico de Comandos fornece uma trilha de auditoria completa de todas as execuções de comandos:
Registo Abrangente
Filtragem Avançada
Vista Detalhada
Gestão de Histórico
Painel de Controlo de Módulos - Interface centralizada para gerir todos os módulos e capacidades do sistema
O Painel de Controlo de Módulos fornece uma interface unificada para aceder e gerir vários módulos do sistema:
Modal de Definições - Interface centralizada de configuração e gestão
O modal de Definições fornece configuração e gestão abrangentes do sistema através de múltiplos separadores:
Gerir módulos PowerShell que podem ser executados em sistemas remotos:
Funcionalidades do Módulo:
O Motor de Modelos permite criar módulos PowerShell dinâmicos com variáveis de entrada do utilizador. As variáveis são definidas usando a sintaxe _{...}_ e são substituídas por valores fornecidos pelo utilizador antes da execução.
1. Entrada de Texto Simples```powershell ping {ip,192.168.1.1}
- **Formato**: `_{name,placeholder}_`
- **Uso**: Campo de entrada de texto com placeholder
- **Exemplo**: `ping _{target_ip,192.168.1.1}_` → O usuário insere o endereço IP
**2. Lista Suspensa**```powershell
ping _{ip,list,(192.168.1.1,192.168.1.2,10.0.0.1)}_
_{name,list,(option1,option2,option3)}_3. Botões de Rádio```powershell netstat -an | findstr {port,radio,(80,443,8080)}
- **Formato**: `_{name,radio,(option1,option2,option3)}_`
- **Uso**: Grupo de botões de rádio para seleção única
- **Exemplo**: Usuário seleciona o número da porta através de botões de rádio
**4. Caixa de seleção**```powershell
if (_{enable,check,(true,false),Enabled,Disabled}_) { Write-Host "Enabled" }
_{name,check,(true_value,false_value),true_label,false_label}_Criação do Módulo
_{variable}_ para valores dinâmicosExtração de Variáveis
Entrada do Usuário
Substituição de Variáveis
Execução
Script 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" }
**Formulário Gerado:**
- **target_ip**: Entrada de texto (placeholder: 192.168.1.1)
- **port**: Radio buttons (80, 443, 8080)
- **scan_type**: Dropdown (ping, tcp, udp)
- **verbose**: Checkbox (Sim/Não)
##### Melhores Práticas
- **Use Nomes Descritivos**: Os nomes das variáveis devem ser claros e descritivos
- **Forneça Placeholders**: Sempre inclua placeholders úteis para entradas de texto
- **Limite Opções**: Mantenha as opções de dropdown/radio gerenciáveis (5-10 itens)
- **Valide a Entrada**: Considere a validação de entrada em seus scripts PowerShell
- **Documente Variáveis**: Adicione comentários explicando o propósito das variáveis
##### Uso Avançado
**Variáveis Aninhadas:**```powershell
$command = "ping _{ip}_ -n _{count,4}_"
Invoke-Expression $command
Lógica Condicional:```powershell if ({enable_feature,check,(true,false),Yes,No} -eq "true") { # Feature code }
**Múltiplas Variáveis:**```powershell
$server = "_{server_name,localhost}_"
$port = "_{port,list,(80,443,8080,8443)}_"
$protocol = "_{protocol,radio,(http,https)}_"
$url = "$protocol://$server`:$port"
Gerenciamento de Dependências - Gerencie dependências e requisitos do sistema
Gerencie dependências e requisitos do sistema:
Dependências Suportadas:
Log do Sistema - Visualize e monitore logs do sistema em tempo real
Monitore a atividade do sistema através de logs abrangentes:
Níveis de Log:
Gerenciamento de Tokens de API - Crie e gerencie tokens de API com permissões granulares
Gerenciamento de Sessões Ativas - Visualize e gerencie sessões de usuário ativas
Visualize e gerencie sessões de usuário ativas:
Gerenciamento de Sessões Ativas - Visualize e gerencie sessões de usuário ativas
Configure rotas para todos os túneis:
Editor de Script de Agente - Crie, edite e personalize scripts de agente PowerShell para implantação no Windows
O Agente é um script PowerShell que automatiza a configuração de sistemas Windows para gerenciamento remoto através do ZeroPulse. Ele configura o WinRM, cria Túneis Cloudflare e estabelece conexões seguras.
Gerenciamento de Tokens de API - Crie e gerencie tokens de API com permissões granulares
Assim que o servidor estiver em execução, acesse a documentação interativa da API:
http://localhost:8000/docshttp://localhost:8000/redocTodos os endpoints da API (exceto /api/auth/*) exigem autenticação:```bash
curl -H "Authorization: Bearer YOUR_JWT_TOKEN"
http://localhost:8000/api/tunnels
### Implantação em Produção
Para implantação em produção:
1. Defina `ENVIRONMENT=production` no `.env`
2. Use um proxy reverso (nginx/traefik) com SSL
3. Configure regras de firewall
4. Configure rotação de logs
5. Use o serviço systemd para reinicialização automática
<h2 id="contact">📧 Contato</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>
## ⚠️ Aviso Legal e Ético
🚨 Esta ferramenta é desenvolvida estritamente para fins educacionais e de teste de segurança autorizado.
🔬 Destina-se a ajudar profissionais de cibersegurança, pesquisadores e entusiastas a entender técnicas de pós-exploração, red teaming e detecção em laboratório ou ambientes controlados.
❌ NÃO use esta ferramenta em qualquer sistema ou rede sem permissão explícita. O uso não autorizado pode ser ilegal e antiético.
🛡 O autor não assume nenhuma responsabilidade por qualquer uso indevido ou dano causado por este projeto.
---
> Sempre hackeie com responsabilidade. 💻🔐
---
<div align="center">
</div>
| Camada | Tecnologia | Propósito |
|---|
| Frontend | React 19, Redux Toolkit, React Router, TailwindCSS, xterm.js | Interface do usuário |
| Backend | FastAPI, Uvicorn | Servidor API |
| Database | SQLite (com consultas otimizadas e índices) | Persistência de dados |
| Authentication | JWT, python-jose | Autenticação baseada em token |
| Remote Execution | pywinrm, paramiko, evil-winrm | Integração WinRM e SSH |
| Terminal | xterm.js, WebSocket | Terminal interativo |
| External APIs | requests, cloudflare | Integração de serviços |
| Process Management | subprocess, asyncio, threading | Tarefas em segundo plano |
| Variável | Descrição | Padrão |
|---|
ADMIN_USERNAME | Nome de utilizador admin | admin |
ADMIN_PASSWORD | Palavra-passe admin | - |
JWT_SECRET_KEY | Chave de assinatura JWT | - |
JWT_EXPIRATION_HOURS | Tempo de expiração do token | 24 |
CLOUDFLARE_API_TOKEN | Token da API Cloudflare | - |
CLOUDFLARE_ACCOUNT_ID | ID da conta Cloudflare | - |
CLOUDFLARE_DOMAIN | O teu domínio | - |
WINRM_USERNAME | Nome de utilizador WinRM | WinRMUser |
WINRM_PASSWORD | Palavra-passe WinRM | - |
SSH_KEY_PATH | Caminho da chave privada SSH | - |
SSH_USERNAME | Nome de utilizador SSH | - |
C2_SERVER_HOST | Host do servidor | 0.0.0.0 |
C2_SERVER_PORT | Porta do servidor | 8000 |
ENVIRONMENT | Modo de ambiente | development |
DATABASE_PATH | Caminho do ficheiro de base de dados | data/database.db |