🔒 منصة C2 حديثة مع تكامل Cloudflare Tunnel | إدارة عن بُعد عبر WinRM وSSH | طرفية في الوقت الفعلي وسطح مكتب عن بُعد | مبنية باستخدام FastAPI وReact
ZeroPulse هي منصة قيادة وتحكم (C2) شاملة مصممة للإدارة والمراقبة عن بُعد بشكل آمن. تستفيد من تقنية Cloudflare Tunnel لتوفير اتصالات آمنة ومشفرة دون كشف البنية التحتية الخاصة بك للإنترنت العام.
⚠️ حالة التطوير: هذا المشروع قيد التطوير النشط حاليًا. هذا الإصدار هو إصدار تجريبي/ألفا وقد تكون بعض الميزات:
- غير مستقرة أو عرضة لتغييرات جذرية
- غير مكتملة أو منفذة جزئيًا
- قيد التطوير النشط مع تحديثات متكررة
نوصي باستخدام هذا البرنامج لأغراض الاختبار والتقييم فقط. للاستخدام في الإنتاج، يرجى انتظار إصدار مستقر أو استخدامه على مسؤوليتك الخاصة.
لوحة تحكم ZeroPulse - نظرة عامة على جميع الأنفاق وحالة النظام
إدارة الأنفاق
تنفيذ الأوامر عن بُعد
سطح المكتب البعيد
الجلسات والأمان
إدارة DNS
الوصول إلى الصدفة المحلية
نظام التحكم في الوحدات
| الطبقة | التقنية | الغرض |
|---|---|---|
| الواجهة الأمامية | 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 | طرفية تفاعلية |
| الواجهات البرمجية الخارجية | 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
الخادم سيكون متاحًا على 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 | - |
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
واجهة تنفيذ الأوامر - تنفيذ الأوامر على أنظمة Windows البعيدة عبر WinRM وSSH
سجل الأوامر - عرض شامل لجميع الأوامر المنفذة مع معلومات مفصلة
توفر ميزة سجل الأوامر مسار تدقيق كامل لجميع عمليات تنفيذ الأوامر:
تسجيل شامل
تصفية متقدمة
عرض مفصّل
إدارة السجل
لوحة تحكم الوحدات - واجهة مركزية لإدارة جميع وحدات النظام وقدراته
توفر لوحة تحكم الوحدات واجهة موحدة للوصول إلى وحدات النظام المختلفة وإدارتها:
نافذة الإعدادات - واجهة تكوين وإدارة مركزية
توفر نافذة الإعدادات تكوينًا وإدارة شاملين للنظام من خلال عدة تبويبات:
إدارة وحدات PowerShell التي يمكن تنفيذها على الأنظمة البعيدة:
ميزات الوحدات:
يتيح لك محرك القوالب إنشاء وحدات PowerShell ديناميكية بمتغيرات يُدخلها المستخدم. تُعرَّف المتغيرات باستخدام صيغة _{...}_ وتُستبدل بالقيم التي يوفرها المستخدم قبل التنفيذ.
1. إدخال نص بسيط```powershell ping {ip,192.168.1.1}
- **التنسيق**: `_{name,placeholder}_`
- **الاستخدام**: حقل إدخال نصي مع 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**: إدخال نصي (placeholder: 192.168.1.1)
- **port**: أزرار اختيار (80, 443, 8080)
- **scan_type**: قائمة منسدلة (ping, tcp, udp)
- **verbose**: خانة اختيار (Yes/No)
##### أفضل الممارسات
- **استخدم أسماء وصفية**: يجب أن تكون أسماء المتغيرات واضحة ووصفية
- **وفّر نصوصًا توضيحية**: قم دائمًا بتضمين نصوص placeholder مفيدة لحقول الإدخال النصية
- **حدّد الخيارات**: اجعل خيارات القوائم المنسدلة/أزرار الاختيار في نطاق مناسب (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 بصلاحيات دقيقة
إدارة الجلسات النشطة - عرض وإدارة جلسات المستخدم النشطة
عرض وإدارة جلسات المستخدم النشطة:
إدارة الجلسات النشطة - عرض وإدارة جلسات المستخدم النشطة
تكوين المسارات لجميع الأنفاق:
محرر سكربت الوكيل - إنشاء وتحرير وتخصيص سكربتات الوكيل الخاصة بـ PowerShell لنشر أنظمة Windows
الوكيل هو سكربت 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. اضبط `ENVIRONMENT=production` في `.env`
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>
## ⚠️ إخلاء المسؤولية القانوني والأخلاقي
🚨 تم تطوير هذه الأداة حصرياً للأغراض التعليمية واختبارات الأمان المصرح بها فقط.
🔬 تهدف إلى مساعدة المتخصصين في الأمن السيبراني والباحثين والمتحمسين على فهم تقنيات ما بعد الاستغلال (post-exploitation) والاختبارات الهجومية (red teaming) والكشف في البيئات المختبرية أو الخاضعة للتحكم.
❌ لا تستخدم هذه الأداة على أي نظام أو شبكة دون إذن صريح. قد يكون الاستخدام غير المصرح به غير قانوني وغير أخلاقي.
🛡 لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام أو ضرر ناتج عن هذا المشروع.
---
> اخترق دائماً بمسؤولية. 💻🔐
---
<div align="center">
</div>