
نشر آلي للبنية التحتية للفريق الأحمر باستخدام Docker
إصدار مبكر. تابعني على تويتر للبقاء على اطلاع بتطوير Redcloud.
💁☁️🐚🌱
البدء السريع - الهندسة المعمارية - حالات الاستخدام - لقطات الشاشة
Redcloud عبارة عن صندوق أدوات قوي وسهل الاستخدام لنشر بنية تحتية كاملة لـ Red Team باستخدام Docker. استغل سرعة السحابة لأدواتك. يتم النشر في دقائق. استخدمها وأدرها باستخدام واجهة الويب الأنيقة.
مثالية لاختبارات الاختراق، وميادين الرماية، وعمليات Red Team، وصيد الثغرات!
استضف بنيتك التحتية الهجومية دون عناء، وانشر بنيتك التحتية الهجومية الحية والقابلة للتوسع والمرنة في غضون دقائق.
العرض التوضيحي التالي يعرض نشر Redcloud عبر SSH، متبوعًا بـ Metasploit. ثم ننظر إلى Traefik وحجم مباشر مرتبط بـ Metasploit. أخيرًا، نتحقق من أن قاعدة بيانات Metasploit تعمل باستخدام المحطة الطرفية عبر الويب، ونحذف الحاوية، وننهي Redcloud.
الإعداد:```bash
cat ~/.ssh/id_rsa.pub | ssh root@your-deploy-target-ip 'cat >> .ssh/authorized_keys'
eval (docker-machine env default)
python --version
نشر:```bash
> git clone https://github.com/khast3x/redcloud.git
> cd redcloud
> python redcloud.py
يستخدم Redcloud PyYAML لطباعة قائمة القوالب المتاحة. وهي مثبتة افتراضيًا على معظم الأنظمة.
إذا لم تكن مثبتة، قم بتشغيل:```bash
pip install -r requirements.txt
لدى Redcloud 3 طرق نشر مختلفة:
1. **محليًا**
2. **عن بُعد، باستخدام ssh**. يتطلب وجود مفتاحك العام في ملف `authorized_keys` على الخادم الهدف.
3. **عن بُعد، باستخدام docker-machine**. قم بتشغيل سطر `eval (docker-machine env deploy_target)` لتحميل بيئتك مع docker-machine، ثم قم بتشغيل `redcloud.py`. سيكتشف Redcloud تلقائيًا docker-machine، وسيبرز عناصر القائمة ذات الصلة بنشر docker-machine.
___
<h4 align="center">
<b>القوالب</b>
<br>
<br>
</h4>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/345/e38f19fa9cc10216030f7856b99170a4ac7c35399c2dd9daf19156a6e9b75e46.png" width="540" title="قوالب Redcloud">
</p>
___
**باختصار،**
`redcloud.py` ينشر مجموعة [Portainer](https://www.portainer.io/)، **محملة مسبقًا بالعديد من قوالب الأدوات لعملياتك الهجومية**، مدعومة بواسطة Docker. بعد النشر، تحكم في Redcloud من خلال [واجهة الويب](#screenshots). يستخدم [Traefik](https://traefik.io/) كموزع عكسي. نشر عن بُعد سهل على الخادم الهدف باستخدام `ssh` أو `docker-machine` النظاميين.
* :rocket: هل سبق لك أن أردت تشغيل Kali في السحابة ببضع نقرات فقط؟
* :package: هل تريد حاويات نظيفة بين أدواتك وأساليبك ومراحلك؟
* :ambulance: مراقبة صحة عمليات المسح و C2 الخاصة بك؟
* :fire: تجاوز مهام مسؤول النظام لإعداد حملة تصيد والوصول إلى الاختراق بشكل أسرع؟
* :smiling_imp: هل لديك فضول حول كيفية بناء البنية التحتية المثالية للهجوم؟
استخدم واجهة الويب لمراقبة وإدارة **والتفاعل مع كل حاوية**. استخدم محطة الويب السريعة كما تفعل مع محطتك الخاصة. أنشئ وحدات تخزين وشبكات وتوجيه منافذ باستخدام واجهة Portainer البسيطة.
انشر وتعامل مع جميع أدواتك وتقنياتك المفضلة بقوة إنترنت من فئة مراكز البيانات :rocket:
___
*في القسم التالي، سنتعمق أكثر في مفاهيم تصميم Redcloud. يمكنك البدء دون الحاجة إلى الغوص في التفاصيل.*
___
* :book: **جدول المحتويات**
- [مقدمة](#introduction)
- [الميزات](#features)
- [بداية سريعة](#quick-start)
- [التفاصيل](#details)
- [بنية Redcloud](#redcloud-architecture)
- [سير عمل النشر](#deployment-workflow)
- [الشبكات](#networks)
- [وحدات التخزين](#volumes)
- [الوصول إلى الحاويات من المحطة الطرفية](#accessing-containers-from-the-terminal)
- [الوصول إلى الملفات](#accessing-files)
- [شهادات SSL](#ssl-certificates)
- [إيقاف Redcloud](#stopping-redcloud)
- [قوالب تطبيقات Portainer](#portainer-app-templates)
- [الموزع العكسي Traefik](#traefik-reverse-proxy)
- [اعتبارات أمان Redcloud](#redcloud-security-considerations)
- [خيارات النشر المختبرة](#tested-deployment-candidates)
- [استكشاف الأخطاء وإصلاحها](#troubleshooting)
- [حالات الاستخدام](#use-cases)
- [لقطات الشاشة](#screenshots)
- [إرشادات المساهمة](#contribution-guideline)
- [استضافة Redcloud](#hosting-redcloud)
- [الإلهام والتحية](#inspirations--shout-outs)
___
## التفاصيل
### بنية Redcloud
* `redcloud.py`: يبدأ/يوقف واجهة الويب وقوالب التطبيقات، باستخدام Docker و Portainer.
* `portainer`: واجهة ويب Portainer.
* `traefik`: حاوية الموزع العكسي Traefik لواجهة الويب وواجهة API وحاويات الملفات. تحتوي بعض القوالب على مسارات مهيأة مسبقًا للراحة. راجع `templates.yml`.
* `templates`: حاوية `http.server` بلغة python3 التي تغذي قوالب التطبيقات. تقع في شبكة "داخلية".
* `cert_gen`: حاوية [omgwtfssl](https://github.com/paulczar/omgwtfssl) التي تنشئ شهادات SSL باستخدام أفضل الممارسات الشائعة.
* https://your-server-ip/portainer: واجهة ويب Redcloud بعد النشر.
* https://your-server-ip/files: وحدة تخزين `redcloud_files`. يمكنك أيضًا الوصول إلى محتوى حاوية `redcloud_log`، محمي بنفس `.htpasswd` الخاص بـ Traefik. بيانات الاعتماد الافتراضية: `admin:Redcloud`
* https://your-server-ip/api: صفحة مراقبة صحة الموزع العكسي Traefik. تعرض إحصائيات حية عن المسارات، الخوادم الخلفية، رموز الإرجاع. ستعرض أيضًا بيانات الاستدعاء العكسي للبرامج الضارة إذا تم تكوينها عبر Traefik.
### سير عمل النشر
**سير عمل نشر Redcloud كما يلي:**
1. استنساخ/تنزيل مستودع Redcloud.
2. تشغيل `redcloud.py`.
3. اختيار خيار النشر من القائمة (محلي، ssh، docker-machine).
4. يقوم `redcloud.py` تلقائيًا بما يلي:
* التحقق من وجود `docker` و `docker-compose` على الجهاز الهدف.
* تثبيت `docker` و `docker-compose` إذا لم يكونا موجودين.
* نشر مجموعة الويب على الهدف باستخدام `docker-compose`.
5. بعد اكتمال النشر، سيقوم `redcloud.py` بعرض عنوان URL. توجه إلى https://your-deploy-machine-ip/portainer.
6. تعيين اسم المستخدم/كلمة المرور من واجهة الويب.
7. تحديد نقطة النهاية (الوحيدة في القائمة).
8. الوصول إلى القوالب باستخدام عنصر القائمة "App Templates" على اليسار :rocket: