Abdulrahman
Abdulrahman

@infosec_90

11 تغريدة 273 قراءة May 10, 2022
موضوع اليوم :
عن تكنيك hop-by-hop
وكيف هذا التكنيك البسيط تسبب بثغرة RCE
في منتج الفايرول الشهير F5
#امن_المعلومات #برمجة #CyberSecurity
تندرج هذه الهجمة ضمن :
Web Server Penetration Testing
وليس
Web App Penetration Testing
بحاول ابسط وصول المعلومة للجميع
قبل شرح التكنيك نحتاج نفهم Reverse Proxy
بشكل مبسط لأن الهجمة تعمل عليه غالباً
لو فرضنا عندي 3 تطبيقات منها تطبيق
يحق للزوار تصفحه وباقي التطبيقات
ما احتاج اكشفها مثلا ما احتاج اكشف لوحة
تحكم قاعدة البيانات أو اكشف API
هنا أنا استخدم Reverse Proxy
بحيث اي زائر يبي يرسل طلب لازم من موقع
الزوار خطأ أن الزائر يتواصل مع api
بشكل مباشر أو يكون سيرفر API مكشوف
او سيرفر قاعدة البيانات
هنا أنا أعمل طبقة بحيث اي طلب يوصل للموقع
يذهب لموقع الزوار مهما الشخص ارسل طلب
يذهب لتطبيق الزوار
بعد ما يذهب لتطبيق الزوار نفس التطبيق
يتواصل مع الخدمات الثانية ايش ما كان نوعها
لان التواصل بشكل مباشر مع أي خدمة ممكن
يسبب ثغرات مستقبلا وكل ما قل عدد التطبيقات
المكشوفة قلت المخاطر
hop-by-hop
التكنيك يسمح ليا اتواصل مع API وتتخطى
مشكلة أن الطلب فقط يذهب لموقع الزوار
لنفرض الآن أن تطبيق الزوار app-a
يتواصل مع app-c الا هو API
مهما حاولت ارسل طلب بشكل مباشر ل
App-c api
يرفض ويتواصل مع app-a
المبرمج معتمد أن التواصل مع app-c API
ما يتم إلا عن طريق طلب من تطبيق الزوار app-a
ومطمن أن app-c ما يحتاج حماية لأن الا بيتواصل معاه تطبيق الزوار
وتطبيق الزوار فقط إلا فيه الحماية
هذا تعتبر خطورة جدا كبيرة لأن فيه تكنيكات
معينة ممكن تتجاوز وصول الطلب إلى موقع الزوار
تذهب بشكل مباشر للتطبيق app-c
منها تكنيك hop-by-hop
فكرة التكنيك جدا بسيط أنه يحذف هيدر
او إضافة هيدر على حسب الكونفق
بدون التعمق بشكل بسيط الصورة توضح
وقت ما ننفذ تكنيك hop حذف هيدر
او أضافة هيدر قد يسبب حدوث عملية أو تخطى للتحقق
الان لنشرح سبب حدوث ثغرة F5
بشكل مبسط بدون تعقيد والتفاصيل الاخرى
اذا ارسلت طلب يوصل لFront
وfront يتواصل مع API عن طريق هيدر محددة
محددة
نلاحظ في الطلب أننا اضفنا 2 auth
X-F5-Auth-Token
Authorization
يتحقق ال front من الطلب إذا الطلب موجه
لApi وفيه X-F5-Auth-Token
بيرسل front الطلب لapi وapi يتحقق من
Authorization
هنا تم استخدام hop-by-hop
قلنا للفرونت إذا وصلك هيدر اسمه
X-F5-Auth-Token
احذفه ووجه الطلب لapi
طبعا لو حاول الفرونت يتحقق من صحة X-F5-Auth-Token
بيحصلها غير موجودة لانه حذفها بنفسه
مع أنه هو إلا ارسل الطلب
فرجع لنا قيمة صحيحة
كأنه تحقق منها وأنها صحيحة
بالنهاية حذف هيدر أو إضافة هيدر قد يقود
الى استغلال وهذا
اشهر طرق استغلال
Accessing Authenticated Endpoint
Accessing Protected Information
CPDoS
SSRF
WAF Bypass
حاولت قد ما اقدر ابسط المعلومة للجميع
تعتبر من الهجمات الادفانس ضد الويب سيرفر

جاري تحميل الاقتراحات...