لوحة لبنية الفريق الأحمر ونطاقات التدريب السيبراني. قم بتكوين طوبولوجيا، وتصدير Terraform وAnsible قابلين للتشغيل، ونشرها بنفسك. بيانات اعتماد السحابة الخاصة بك لا تغادر جهازك أبدًا.

لوحة ويب تبني فيها البنية التحتية كطوبولوجيا، ثم تصدّر دليل عمل كامل وقابل للتشغيل من Terraform و Ansible. تشغّله من جهازك الخاص. redStackPRO لا يحتفظ أبدًا ببيانات اعتماد السحابة الخاصة بك.
[!IMPORTANT] redStackPRO في مرحلة ما قبل الإصدار (بيتا). لا يزال المخطط والميزات في تغيّر. تم اختبار GCP و AWS من البداية إلى النهاية؛ Azure و Proxmox و ESXi على خارطة الطريق. توقّع بعض الخشونة، وثبّت على إصدار صادر إذا كنت تحتاج إلى الاستقرار.
واجهت مشكلة، أو لديك ملاحظات؟ افتح تذكرة على Issues. إذا كانت متعلقة بعملية نشر، أرفق ملف
logs/deploy-*.logالمنقّح الذي كتبه التشغيل (يسجّل الإصدارات، والمزوّد، ومكان التوقف، مع إزالة الأسرار) ليتم تحليله بسرعة. تقاريرك تشكّل الإصدار.
يضع redStackPRO البنية التحتية للهجوم ونطاقات الأهداف على نفس اللوحة. وضعا
اللوحة هما Offense (البنية التحتية للهجوم) و Defense (نطاقات AD الدفاعية)؛
يسمّي التصدير ملف التسليم الخاص به OFFENSE-BRIEFING.md أو DEFENSE-BRIEFING.md ليتوافق مع ذلك.
Split horizon C2، البنية التحتية للهجوم: بوابتان أماميتان لا تتشاركان المصير، Apache أمام Sliver و Nginx أمام Mythic، كل redirector على شبكته المتصلة الخاصة، مع teamservers و collector والمشغّلين خلف jumpbox.

عدة مشغّلين، حزمة واحدة. يمكن لـ jumpbox الخاص بالبنية التحتية للهجوم أن يسمّي
قائمة من operators (المعرّف بالإضافة إلى الدور)، ويحصل كل منهم على تسجيل دخول
إلى بوابة Guacamole على كلمة مرور المختبر المشتركة. اضبط access_mode الخاص بـ jumpbox
على wireguard أو openvpn (الافتراضي هو بوابة عامة) وسيحصل كل مشغّل أيضًا على
بيانات اعتماد VPN شخصية تُولَّد على jumpbox عند التطبيق: المفاتيح لا تغادر الصندوق
أبدًا ولا تدخل التصدير، فقط ملف إعداد العميل يفعل. تتشارك تسجيلات دخول البوابة اليوم
كلمة مرور المختبر الواحدة، لذا يأتي العزل لكل مشغّل من بيانات اعتماد VPN الخاصة به،
وليس من تسجيل دخول البوابة؛ كلمات مرور البوابة الفردية على خارطة الطريق. في وضع
الوصول عبر VPN تُغلق البوابة أمام الإنترنت وتنتقل خلف النفق، بينما يبقى SSH مفتوحًا
ليتمكن المسؤول من مواصلة النشر وإدارة الصندوق. أضف أو أزل عضوًا في الفريق على jumpbox
قيد التشغيل باستخدام sudo rsp-operator add <handle>. راجع
الويكي Deploying a Range.
Harbor، نطاق هدف: غابة مؤسسية صغيرة، نطاق جذر وابن فوق علاقة ثقة أب-ابن، مع المسار العادي من محطة عمل مصيدة إلى الغابة.

GOAD، المختبر الكامل: ثلاثة نطاقات عبر غابتين، خمس أجهزة وعلاقات الثقة بينها، النطاق المرجعي الذي يتبعه الحل المكتوب.

[!IMPORTANT] التصدير هو الحد الفاصل. تولّد اللوحة الملفات؛ وتشغّلها أنت تحت بيانات اعتمادك الخاصة. redStackPRO لا ينشر أي شيء أبدًا ولا يحتفظ بأي سر.
[!CAUTION] للاستخدام المصرّح به فقط. يبني redStackPRO بنية تحتية هجومية ونطاقات قابلة للاختراق عن قصد. استخدمه فقط في بيئات المختبر التي تملكها أو المصرّح لك صراحةً باختبارها، وليس أبدًا ضد أنظمة لا تملك إذنًا كتابيًا بها.
ما قبل الإصدار، ولا يزال مخطط الطوبولوجيا في تغيّر. تعمل خط الأنابيب نفسها من البداية إلى النهاية: تُترجم الطوبولوجيا إلى Terraform و Ansible، وينشر التصدير.
| المزوّد | الحالة |
|---|---|
| GCP, AWS | مدعوم ومُختبر من البداية إلى النهاية، لكل من نطاقات الأهداف والبنية التحتية للهجوم. |
| Azure, Proxmox, ESXi | على خارطة الطريق، غير مدعوم بعد. |
اللوحة كاملة في حاوية واحدة، واجهة API وتطبيق الويب على منفذ واحد:
docker compose up # builds from this repo, http://127.0.0.1:8000
أو اسحب الصورة المنشورة بدلًا من بنائها:
docker run -p 8000:8000 -v redstackpro-data:/data \
ghcr.io/devzero-security/redstackpro:0.9.0
تستمع اللوحة على المنفذ 8000 داخل الحاوية. لتقديمها على منفذ مضيف مختلف،
غيّر النصف الأيسر من التعيين (-p 8787:8000)، أو اضبط
REDSTACKPRO_PORT لـ compose (REDSTACKPRO_PORT=8787 docker compose up).
يحمل Compose أيضًا خلفية Postgres اختيارية لنشر مشترك:
REDSTACKPRO_DATABASE_URL=postgresql+psycopg://redstackpro:redstackpro@db:5432/redstackpro \
docker compose --profile postgres up
الصورة هي طبقة التركيب فقط. لا تحمل Terraform أو Ansible ولا تحتفظ أبدًا ببيانات اعتماد السحابة الخاصة بك: تشغّل التصدير الذي تنتجه من جهازك الخاص، تمامًا كما في مسار التشغيل من المصدر أدناه.
Python 3.11 أو أحدث، و Node 24 للوحة.
git clone <this repo> && cd redStackPRO
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
اللوحة هي عمليتان، واجهة API وتطبيق الويب:
redstackpro serve # http://127.0.0.1:8000
cd frontend && npm install && npm run dev
ينقل redstackpro serve --port 8787 واجهة API إلى منفذ مختلف. وجّه
خادم تطوير اللوحة إليه باستخدام REDSTACKPRO_API=http://127.0.0.1:8787.
افتحها، واستخدم Load blueprint (الزر، أو لوحة الأوضاع) لفتح نقطة بداية مضمّنة، واختر سحابتك في محدّد المزوّد في شريط الأدوات (GCP أو AWS)، وافتح تبويب Export (يترجم أثناء العمل)، ثم Download. تحصل على ملف zip لدليل العمل الموصوف أدناه.
أو تجاوز اللوحة تمامًا وترجم مخططًا مضمّنًا من سطر الأوامر، نفس المترجم، نفس المخرجات:
redstackpro compile frontend/public/goad/goad-light.json -o export
يفترض سطر الأوامر GCP افتراضيًا. مرّر --provider aws لـ AWS.
يكتب ذلك حوالي 200 ملف: Terraform للسحابة، و Ansible لكل ما
يحدث على الأجهزة، و deploy.sh، و DEFENSE-BRIEFING.md يخبرك
ببيانات الاعتماد وما زُرع وأين. goad-light نطاق Active
Directory من نطاقين: sevenkingdoms وابنه north، ثقة أب-ابن في
غابة واحدة، وحدتا تحكم بالنطاق وخادم عضو، بالإضافة إلى jumpbox.