Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
zttp — جسر SSH حصين بنموذج الثقة المعدومة (Zero-trust) مع إدارة مفاتيح مدعومة من Vault، وفرض سياسات RBAC، وتسجيل كامل للجلسات، وواجهة TUI إدارية للوصول القابل للتدقيق إلى البنية التحتية للإنتاج. | Kitploit
أدوات/GitLabGitLab/nihal799/zttp
المصادقة والترخيصأمن البنية التحتية السحابيةأدوات دفاعيةأمن الشبكاتDevSecOpsإدارة الهوية والوصول (IAM)
GitLabnihal799/zttp

zttp

جسر SSH حصين بنموذج الثقة المعدومة (Zero-trust) مع إدارة مفاتيح مدعومة من Vault، وفرض سياسات RBAC، وتسجيل كامل للجلسات، وواجهة TUI إدارية للوصول القابل للتدقيق إلى البنية التحتية للإنتاج.

عرض المستودع
13منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

ZTTP — وكيل شفاف قائم على مبدأ الثقة الصفرية

مضيف حصن SSH ذاتي الاستضافة ومُحصّن مع إدارة مفاتيح مدعومة بـ Vault، وفرض سياسات RBAC، وتسجيل كامل للجلسات، وواجهة إدارة تفاعلية TUI — مصمم للفرق التي تحتاج وصولاً قابلاً للتدقيق وقائماً على مبدأ الثقة الصفرية إلى البنية التحتية للإنتاج.


جدول المحتويات

  • لماذا ZTTP؟
  • نظرة عامة على البنية
  • أبرز الميزات
  • المتطلبات الأساسية
  • بدء سريع — الخادم
  • بدء سريع — العميل
  • الإعدادات
  • الأدوار وسياسة RBAC
  • وحدة التحكم الإدارية
  • سجلات التدقيق وتسجيلات الجلسات
  • البناء من المصدر
  • مرجع Makefile
  • لقطات الشاشة والعرض التوضيحي
  • هيكل المشروع
  • نموذج الأمان
  • المساهمة
  • الترخيص

لماذا ZTTP؟

تحتاج فرق الهندسة الحديثة إلى طريقة تمنح المطورين الحد الأدنى من الوصول المطلوب لأداء مهامهم — لا أكثر ولا أقل. توزيع مفاتيح SSH التقليدي عرضة للأخطاء: تتم مشاركة المفاتيح، وتُنسى على أجهزة الكمبيوتر المحمولة، ويتم إبطالها بعد فوات الأوان.

يحل ZTTP هذه المشكلة من خلال العمل كـالباب الوحيد إلى بنيتك التحتية:


نظرة عامة على البنية

root@kitploit:~
Developer Laptop
      │
      │  zttp
      │  (Under the hood: SSH over port 2224)
      ▼
┌─────────────────────────────────────────────────────────┐
│                     ZTTP Proxy                          │
│                                                         │
│  ① Auth Gate     — bcrypt/Argon2id login TUI           │
│  ② RBAC Engine   — environment-aware policy check      │
│  ③ Vault Fetch   — ephemeral SSH key retrieval         │
│  ④ Bridge        — transparent TCP tunnel              │
│  ⑤ Audit Writer  — ttyrec frame recorder               │
└──────────┬──────────────────────────────────────────────┘
           │  ssh (private IP, ephemeral key)
           ▼
     Target Server

خدمات البنية التحتية (Docker Compose):


أبرز الميزات

  • 🔐 مصادقة قائمة على مبدأ الثقة الصفرية — واجهة تسجيل دخول SSH تفاعلية TUI مع تجزئة كلمات مرور bcrypt، وتحديد معدل، وقفل الحساب بعد 5 محاولات فاشلة
  • 🛡️ محرك سياسات RBAC — تحكم في الوصول لكل دور ولكل بيئة مع استعلام PostgreSQL JOIN واحد مُحسَّن (بدون رحلات ذهاب وإياب)
  • 🗝️ مفاتيح SSH مدعومة بـ Vault — المفاتيح الخاصة لا تلمس القرص أبداً؛ يتم جلبها مؤقتاً لكل جلسة من HashiCorp Vault
  • 📹 تسجيل كامل للجلسات — يتم تسجيل جميع الجلسات بصيغة .ttyrec مع إطارات زمنية
  • 🖥️ واجهة إدارية تفاعلية TUI — واجهة طرفية كاملة لإدارة المستخدمين، وتسجيل الخوادم، ومنح الوصول، ومراجعة السجلات
  • 🔍 عارض سجلات التدقيق — تصفح الجلسات حسب الخادم، أو إعادة تشغيل التسجيلات، أو قراءة سجلات نصية نظيفة مباشرة من وحدة التحكم الإدارية
  • ⚡ مفتاح الإيقاف — نقطة نهاية gRPC لإنهاء أي جلسة حية فوراً
  • 📋 سجل الإجراءات الإدارية — يتم تسجيل كل إجراء إداري (إنشاء مستخدم، منح وصول، عرض سجلات) في مسار تدقيق دائم
  • 🌍 عميل متعدد المنصات — CLI بملف ثنائي واحد لنظامي Linux وmacOS (amd64/arm64) وWindows

المتطلبات الأساسية

الخادم (مضيف الوكيل):

  • Docker ≥ 24 و Docker Compose ≥ 2.20
  • عنوان IP عام أو قابل للوصول عبر الشبكة المحلية على المنفذ 2224
  • make (اختياري، لكن موصى به)

المطور (العميل):

  • أي عميل SSH (أمر ssh)
  • جهاز Linux أو macOS أو Windows

بدء سريع — الخادم

1. استنساخ المستودع

root@kitploit:~
git clone https://gitlab.com/Nihal799/zttp.git
cd zttp

2. تكوين بيئتك

root@kitploit:~
cp .env.example .env

قم بتحرير .env واضبط على الأقل:

root@kitploit:~
PROXY_NODE_IP=<your-server-public-ip>
POSTGRES_PASSWORD=<a-strong-password>
VAULT_TOKEN=<a-strong-vault-token>

⚠️ لا تقم أبداً بتضمين ملف .env الخاص بك في الالتزامات. إنه مدرج في .gitignore.

3. تشغيل جميع الخدمات

root@kitploit:~
make docker-up
# أو مباشرة:
docker compose -f deploy/docker-compose.yml up -d --build

4. التحقق من سلامة الخدمات

root@kitploit:~
make docker-ps
curl http://localhost:8080/healthz

5. بناء ونشر مثبتات CLI

root@kitploit:~
make release PROXY_ADDR=<your-server-ip>:2224

يقوم هذا بتجميع العملاء لجميع المنصات وتحديث dist/install.sh و dist/install.ps1 تلقائياً بعنوان الخادم الصحيح. تقدم حاوية Nginx هذه الملفات على http://<your-server-ip>:8555/.


بدء سريع — العميل

Linux / macOS

root@kitploit:~
curl -fsSL http://<proxy-ip>:8555/install.sh | bash

Windows (PowerShell، تشغيل كمسؤول)

root@kitploit:~
irm http://<proxy-ip>:8555/install.ps1 | iex

الاتصال

بمجرد التثبيت، اتصل ببوابة ZTTP:

root@kitploit:~
zttp
# أو مباشرة:
ssh -p 2224 <your-username>@<proxy-ip>

ستظهر لك شاشة تسجيل دخول طرفية. بعد المصادقة، سترى قائمة بالخوادم المصرح لك بالوصول إليها.


الإعدادات

جميع الإعدادات عبر متغيرات البيئة (أو ملف .env). راجع .env.example للمرجع الكامل.


الأدوار وسياسة RBAC

يستخدم ZTTP نموذجاً قائماً على الأدوار. يتم تعيين دور لكل مستخدم؛ ولكل دور سياسة تحدد بيئات الخوادم التي يمكنه الوصول إليها.

تتم إدارة الأدوار وتعيينات الخوادم من خلال وحدة التحكم الإدارية (انظر أدناه). يقوم محرك RBAC بجميع الفحوصات في استعلام PostgreSQL واحد — ولا يكشف أبداً لماذا تم رفض الوصول للعميل (حماية من التعداد).


وحدة التحكم الإدارية

اتصل بخادم zttp-admin من قائمة البوابة، أو سجل الدخول بحساب لديه دور security-admin.

توفر وحدة التحكم الإدارية:

يتم تسجيل جميع الإجراءات الإدارية في admin-actions.log داخل حجم التدقيق.


سجلات التدقيق وتسجيلات الجلسات

يتم تخزين جميع الجلسات في حجم Docker zttp-audit-logs (/var/log/zttp/audit/ داخل الحاوية).

العرض من وحدة التحكم الإدارية

  1. سجل الدخول كـ security-admin
  2. حدد عرض سجلات التدقيق
  3. حدد خادماً من القائمة
  4. حدد جلسة
  5. اختر عرض السجل النصي (بدون ANSI، قابل للقراءة) أو تشغيل التسجيل (تشغيل في الوقت الفعلي)
  6. اضغط Ctrl+C للرجوع

العرض من المضيف (خام)

root@kitploit:~
# قائمة التسجيلات
sudo ls /var/lib/docker/volumes/zttp-audit-logs/_data/

# تشغيل تسجيل باستخدام ttyplay
sudo ttyplay /var/lib/docker/volumes/zttp-audit-logs/_data/<session-id>.ttyrec

# قراءة سجل الإجراءات الإدارية
sudo cat /var/lib/docker/volumes/zttp-audit-logs/_data/admin-actions.log

البناء من المصدر

المتطلبات: Go 1.25+، Docker (للترجمة المتقاطعة)

root@kitploit:~
# بناء الوكيل + CLI للمنصة الحالية
make build

# ترجمة متقاطعة لـ CLI لجميع المنصات (Linux، macOS، Windows)
make release PROXY_ADDR=<proxy-ip>:2224

# تشغيل الاختبارات
make test

# تشغيل الوكيل محلياً (يتطلب تشغيل Postgres و Vault مسبقاً)
make run-proxy

مرجع Makefile


لقطات الشاشة والعرض التوضيحي

1. التثبيت

Installation Demo (انقر لتشغيل العرض التوضيحي)

2. تسجيل الدخول الآمن

Secure Login Demo (انقر لتشغيل العرض التوضيحي)

3. إضافة خادم (وحدة التحكم الإدارية)

Add Server Demo (انقر لتشغيل العرض التوضيحي)

4. الاتصال بالخادم (البوابة)

Connect Server Demo (انقر لتشغيل العرض التوضيحي)

5. مفتاح الإيقاف (إخراج إداري)

Kill Switch Demo (انقر لتشغيل العرض التوضيحي)


هيكل المشروع

root@kitploit:~
zttp/
├── cmd/
│   ├── proxy/          # Proxy server entrypoint
│   └── zttp/           # CLI client entrypoint
├── db/
│   └── migrations/     # PostgreSQL schema migrations
├── deploy/
│   ├── docker-compose.yml
│   ├── Dockerfile.proxy
│   └── vault-seed.sh   # Seeds test SSH keys into Vault
├── dist/
│   ├── install.sh      # Linux/macOS installer script
│   └── install.ps1     # Windows installer script
├── internal/
│   ├── audit/          # Admin action logging
│   ├── auth/           # User authentication (bcrypt, lockout)
│   ├── cli/            # CLI client TUI and connect logic
│   ├── config/         # Environment-based configuration
│   ├── killswitch/     # gRPC kill-switch service
│   ├── proxy/          # SSH proxy, gateway TUI, admin TUI, bridge
│   ├── rbac/           # Role-based access control engine
│   ├── ratelimit/      # Per-IP rate limiting
│   ├── session/        # Session tracking and DB store
│   └── vault/          # HashiCorp Vault SSH key client
├── proto/              # gRPC protocol definitions
├── tools/
│   └── hashpw/         # CLI tool: generate bcrypt password hash
├── .env.example        # Configuration template
├── go.mod
└── Makefile

نموذج الأمان


المساهمة

  1. انسخ المستودع (Fork)
  2. أنشئ فرع ميزة: git checkout -b feat/your-feature
  3. قم بإجراء تغييراتك، مع ضمان حصول كل ملف على التزام خاص به
  4. شغّل الاختبارات: make test
  5. افتح طلب دمج

يرجى عدم تضمين:

  • .env أو أي ملف يحتوي على أسرار
  • عناوين IP حقيقية أو أسماء مضيفين لخوادم الإنتاج
  • ملفات ثنائية مترجمة (ملف zttp الثنائي في الجذر مدرج في .gitignore)

الترخيص

هذا المشروع ملكية خاصة. جميع الحقوق محفوظة.


بُني باستخدام Go و PostgreSQL و HashiCorp Vault و Docker.

تنزيل الأداة
المشكلةحل ZTTP
مفاتيح SSH مشتركة على أجهزة الكمبيوتر المحمولةالمفاتيح موجودة فقط في HashiCorp Vault — ولا تُخزن على القرص أبداً
لا توجد رؤية لمن فعل ماذايتم تسجيل كل ضغطة مفتاح بصيغة .ttyrec
وصول شامل للإنتاجمحرك سياسات قائم على الأدوار يفرض قواعد لكل بيئة
لا توجد طريقة لإيقاف جلسة نشطةنقطة نهاية gRPC للإيقاف الفوري تنهي أي جلسة حية
وصول غير واضح للمدققينواجهة إدارية TUI مع إعادة تشغيل الجلسات وسجلات نصية وسجلات إجراءات إدارية
الخدمةالغرض
zttp-proxyمضيف الحصن SSH (ملف Go الثنائي)
zttp-postgresقاعدة بيانات مستوى التحكم (المستخدمون، الخوادم، سياسات RBAC)
zttp-vaultHashiCorp Vault — يخزن مفاتيح SSH الخاصة
zttp-nginxيقدم مثبتات CLI في /release/
zttp-init-auditحاوية لمرة واحدة تصلح أذونات الحجم
المتغيرالافتراضيالوصف
PROXY_LISTEN_ADDR0.0.0.0:2222عنوان ربط وكيل SSH
HTTP_LISTEN_ADDR0.0.0.0:8080عنوان HTTP لفحص الصحة
GRPC_LISTEN_ADDR0.0.0.0:9090عنوان gRPC لمفتاح الإيقاف
PROXY_NODE_IP127.0.0.1عنوان IP الخارجي المدمج في ملفات CLI الثنائية
DATABASE_URLpostgres://zttp:...سلسلة اتصال PostgreSQL
VAULT_ADDRhttp://localhost:8201عنوان خادم Vault
VAULT_TOKENdev-root-token-zttpرمز Vault الجذر (للتطوير فقط — استخدم AppRole في الإنتاج)
MAX_FAILED_ATTEMPTS5حد القفل
LOCKOUT_DURATION15mمدة قفل الحساب
RATE_LIMIT_PER_MIN10الحد الأقصى لمحاولات تسجيل الدخول في الدقيقة لكل عنوان IP
AUDIT_LOG_DIR/var/log/zttp/auditمسار دليل تسجيل الجلسات
SOC_WEBHOOK_URL(فارغ)Webhook اختياري لتنبيهات SOC
الدورالوصول
security-adminوصول كامل لجميع البيئات + وحدة التحكم الإدارية
sre-tier1جميع البيئات بما في ذلك الإنتاج
sre-tier2بيئات التدريج والتطوير فقط
devبيئة التطوير فقط
readonlyبيئة التطوير، مجموعة أوامر مقيدة
خيار القائمةالوصف
إضافة مستخدمإنشاء مستخدم جديد مع تعيين دور
إضافة خادمتسجيل خادم هدف (اسم المضيف، عنوان IP، البيئة، مستخدم SSH)
إدارة وصول الخادممنح أو إلغاء وصول المستخدم إلى خوادم محددة
عرض المستخدمينقائمة بجميع المستخدمين وأدوارهم
عرض الخوادمقائمة بجميع الخوادم المسجلة
عرض سجلات التدقيقتصفح الجلسات، إعادة تشغيل التسجيلات، قراءة السجلات النصية
[ رجوع ]العودة إلى بوابة الخادم
الأمرالوصف
make buildبناء الوكيل و CLI للمنصة الحالية
make releaseترجمة متقاطعة لملفات CLI الثنائية لجميع المنصات
make release-dockerترجمة متقاطعة داخل حاوية Docker (تجنب مشاكل snap/WSL)
make docker-upتشغيل جميع خدمات Docker Compose
make docker-downإيقاف جميع الخدمات وحذف الأحجام
make docker-logsتتبع سجلات الوكيل
make docker-psعرض حالة الحاويات
make testتشغيل جميع اختبارات Go
make migrateتطبيق ترحيلات قاعدة البيانات
make seedبذر بيانات التطوير
make hashpw PW=mypasswordتوليد تجزئة bcrypt للبذر اليدوي لقاعدة البيانات
make cleanإزالة الملفات الثنائية المترجمة وذاكرة التخزين المؤقت للبناء
الطبقةالآلية
النقلجميع اتصالات العملاء عبر SSH (مشفرة أثناء النقل)
المصادقةbcrypt (التكلفة 12) / Argon2id — النص الصريح محظور هيكلياً في المخطط
الحماية من القوة الغاشمةقفل الحساب (5 محاولات / 15 دقيقة) + محدد معدل لكل عنوان IP
التفويضاستعلام RBAC بـ JOIN واحد — الرفض دائماً عام ("Permission denied")
إدارة الأسرارمفاتيح SSH الخاصة مخزنة حصرياً في HashiCorp Vault، ويتم جلبها مؤقتاً
مسار التدقيقتسجيل كامل لضغطات المفاتيح بصيغة .ttyrec، سجل إداري غير قابل للتعديل للإلحاق فقط
عزل العملياتيعمل الوكيل كمستخدم غير جذر (UID 65532) داخل حاوية distroless
مفتاح الإيقافيمكن إنهاء أي جلسة حية عبر gRPC دون إعادة تشغيل الوكيل