🔒 Cloudflare Tunnel 통합을 갖춘 현대적인 C2 플랫폼 | WinRM 및 SSH 원격 관리 | 실시간 터미널 및 원격 데스크톱 | FastAPI 및 React로 구축
ZeroPulse는 안전한 원격 관리 및 모니터링을 위해 설계된 종합적인 C2(Command & Control) 플랫폼입니다. Cloudflare Tunnel 기술을 활용하여 인프라를 공용 인터넷에 노출하지 않으면서도 안전하고 암호화된 연결을 제공합니다.
⚠️ 개발 상태: 이 프로젝트는 현재 활발히 개발 중입니다. 이 버전은 데모/알파 릴리스이며 일부 기능은 다음과 같을 수 있습니다:
- 불안정하거나 호환성을 깨뜨리는 변경이 있을 수 있음
- 불완전하거나 일부만 구현되었을 수 있음
- 빈번한 업데이트가 이루어지는 활발한 개발 중 상태
이 소프트웨어는 테스트 및 평가 목적으로만 사용할 것을 권장합니다. 프로덕션 환경에서는 안정적인 릴리스를 기다리거나 본인의 책임 하에 사용하십시오.
ZeroPulse 대시보드 - 모든 터널 및 시스템 상태 개요
터널 관리
원격 명령 실행
원격 데스크톱
세션 및 보안
DNS 관리
로컬 셸 접근
모듈 제어 시스템
| 레이어 | 기술 | 용도 |
|---|---|---|
| 프론트엔드 | React 19, Redux Toolkit, React Router, TailwindCSS, xterm.js | 사용자 인터페이스 |
| 백엔드 | FastAPI, Uvicorn | API 서버 |
| 데이터베이스 | SQLite (with optimized queries and indexes) | 데이터 저장 |
| 인증 | JWT, python-jose | 토큰 기반 인증 |
| 원격 실행 | pywinrm, paramiko, evil-winrm | WinRM 및 SSH 통합 |
| 터미널 | xterm.js, WebSocket | 대화형 터미널 |
| 외부 API | requests, cloudflare | 서비스 통합 |
| 프로세스 관리 | subprocess, asyncio, threading | 백그라운드 작업 |
.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
The server will be accessible at http://localhost:8000
| 변수 | 설명 | 기본값 |
|---|---|---|
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 |
Cloudflare API 토큰에는 다음 권한이 필요합니다:
Zone:Read, DNS:EditCloudflare Tunnel:Edit
터널 목록 - 상태, 상태 표시기, 빠른 작업과 함께 모든 터널 표시
터널 경로 구성 - 인그레스 규칙 및 DNS 레코드 구성