
droidground v1.0.14
ملعب مرن لتحديات CTF الخاصة بنظام أندرويد.
DroidGround
الموقع الإلكتروني |
عرض توضيحي
في تحديات CTF التقليدية، من الشائع إخفاء الأعلام (flags) في ملفات على النظام، مما يتطلب من المهاجمين استغلال الثغرات لاسترجاعها. ومع ذلك، في عالم Android، لا ينجح هذا النهج بشكل جيد. فملفات APK سهلة التنزيل وقابلة للهندسة العكسية، لذا فإن وضع العلم على الجهاز عادةً ما يجعل استخراجه أمرًا تافهًا باستخدام التحليل الساكن أو حيل المحاكي. وهذا يحدّ بشدة من القدرة على إنشاء تحديات واقعية تركز على وقت التشغيل.
صُمم DroidGround لحل هذه المشكلة.
إنه منصة مبنية خصيصًا لاستضافة تحديات اختراق تطبيقات Android في بيئة مُتحكَّم بها وواقعية، حيث يكون المهاجمون مقيَّدين بالقدر الكافي فقط لإجبارهم على حل التحديات بالطريقة المقصودة.
والأهم من ذلك، قد يكون المشاركون محبوسين داخل بيئة التطبيق. تتيح مرونة الأداة تحديد ما إذا كان يمكن للمستخدم فتح shell أو قراءة ملفات عشوائية أو تحميل أدوات جانبية. يمكن إعداد كل شيء بحيث تكون الطريقة الوحيدة لاسترجاع العلم هي فهم التطبيق نفسه واستغلاله.
📋 جدول المحتويات
- 🧭 نظرة عامة
- ✨ الميزات
- 📸 لقطات الشاشة
- ⚙️ الإعدادات
- 🧩 حالات الاستخدام
- ⚙️ الاستخدام
- 💡 نصائح
- 🛠 التطوير
- 🤝 المساهمة
- 📚 الشكر والتقدير
- 🪪 الترخيص
🧭 نظرة عامة
تُمكّن DroidGround من إنشاء مجموعة واسعة من تحديات Android التي يصعب تنفيذها بخلاف ذلك في إعدادات CTF التقليدية. على سبيل المثال، في تحدٍّ لتنفيذ التعليمات البرمجية عن بُعد (RCE)، قد يتلقى اللاعبون ملف APK للتحليل المحلي. بعد اكتشاف ثغرة ما، يمكنهم تطوير سكربت Frida وتشغيله عبر DroidGround على الجهاز الهدف الحقيقي لاستخراج العلم من التخزين الداخلي. يمكن أن تتضمن أنواع التحديات الأخرى أنشطة مخفية، أو نوايا بث (broadcast intents) مخصصة، أو استغلال الخدمات، أو التحليل الديناميكي باستخدام أدوات محمّلة مسبقًا.
مع البث المباشر للجهاز، والتحكم الدقيق في الميزات، وتكامل Frida، وسكربتات إعداد وإعادة تعيين قابلة للتخصيص، تُمكّن DroidGround منظّمي CTF من بناء تحديات Android آمنة ومرنة وواقعية تتجاوز بكثير ما هو ممكن عادةً.
✨ الميزات
توفر DroidGround مجموعة غنية من الميزات التي يتحكم بها الخادم.
- شاشة الجهاز في الوقت الفعلي (عبر
scrcpy)، مع تحكم اختياري بالفأرة واللمس ولوحة المفاتيح - إعادة تعيين حالة التحدي
- إعادة تشغيل التطبيق / بدء نشاط / بدء خدمة
- إرسال نية بث (Broadcast Intent)
- إيقاف تشغيل / إعادة تشغيل الجهاز
- تنزيل تقرير الأخطاء (bugreportz)
- برمجة Frida
- التشغيل من مكتبة محمّلة مسبقًا (الوضع المقيّد)
- تشغيل سكربتات عشوائية (الوضع الكامل)
- متصفح الملفات
- الوصول إلى الطرفية
- إدارة APK
- عارض Logcat
- خادم الاستغلال (إذا كان وضع الفريق مُفعّلًا)
جميع الميزات تقريبًا معيارية (modular) ومُعرَّفة عبر متغيرات البيئة، مما يضمن تحكمًا دقيقًا في نطاق التحدي.
📸 لقطات الشاشة
![]() | ![]() |
|---|---|
| نظرة عامة | بدء النشاط |
![]() | ![]() |
| وضع Frida المقيد | وضع Frida الكامل |
![]() | ![]() |
| متصفح الملفات | مدير التطبيقات |
![]() | ![]() |
| الطرفية | السجلات |
⚙️ الإعدادات
يُعد ملف .env.sample في الدليل الجذر نقطة بداية جيدة. هذه هي القائمة الكاملة لجميع متغيرات البيئة المدعومة حاليًا:







