Abdulrahman
Abdulrahman

@infosec_90

17 تغريدة 88 قراءة Jul 14, 2022
موضوع اليوم:
اختبار اختراق تطبيقات SAAS
قبل التطرق لنحاول تبسيط المعنى
بشكل أسهل بمثال
الان لديك شركة باسم المتجر وظيفتك
بيع منتجات
قررت في إحدى الايام توسيع شركتك
قلت لماذا لا اقدم خدمة وهي إمكانية اي تاجر
فتح متجر لبيع منتجاته
ولكن تحت إدارتي اقدم له التطبيق كخدمة
باختصار ابيع للتاجر تطبيق الكتروني
يقدم فيه منتجاته بشرط أن ابيعها كخدمة
للتاجر
إدارة السيرفر والتطبيق انت كمقدم خدمة
مسؤول عنها وليس التاجر
وكثير شركات تقدم هذه الخدمة مثل
اشهرها
Shopify
انك متجر فرعي
لكن فعليا كل الخدمات تديرها شركة Shopify
لو انت كمختبر اختراق وجدت ثغرة في متجر
واحد ستعمل هذه الثغرة على كل المتاجر
في الشركة وهذا مشكلة ليست بسيطة ابدا
كثير من مختبري الاختراق أو صائدي المكافآت
Bugbounty
يخطئون خطأ متكرر حيث بعضهم اذا
ووجد تطبيق SAAS يتجاهله أو شخص اخر
يختبر اختراقه بطريقة خاطئة
نأخذ مثال آخر للتوضيح اكثر
في الصور بعض مثل تطبيقات
SAAS
الان انت كمختبر اختراق
دخلت على موقع فيه خدمة تسجيل الدخول
وتم ربط فيها خدمة من الخدمات لتسجيل الدخول
عن طريقها مثل
google Facebook ...etc
منطقيا إذا مثلا حاولت تسجيل الدخول
عن طريق
Gmail
بتظهر لك صفحة تسجيل دخول Gmail
اكيد وقت اختبارها ما بتحقن بايلود
Sqlinj
في Gmail
الأغلبية يتجاهل اختبار اختراقها لانه خدمة
معروفة وإذا وجدت ثغرة تراسل google
وليس نفس الشركة
لان هالشركات تقدم تطبيقاتها كخدمة توثيق أو
خدمة رفع ملفات وغيرها الكثير
ولكن فيها ثغرات أكثر من المتوقع
وسبب هالثغرات أن المبرمج وقت الربط
مع هالخدمة ارتكب خطأ
نأخذ مثال اوضح
الان وجدت موقع عندي اختبار الاختراق
وجدت أنه يطلب مني إرفاق
السيرة الذاتية أما عن طريق رفعها
او عن طريق خدمة رفع ملف من Dropbox
اختبار خدمات أو تطبيقات SAAS
او بعض PAAS مختلف نوعا ما
يعتمد على ثغرات تسبب بها المبرمج
عند محاولته الربط.
في الاعلى عندما وجدت خدمة SAAS
أكملت جميع الخطوات ولكن قبل الضغط
على زر موافق اعترضت الطلب
وجدت أن المبرمج لما عند محاولته في الربط
استخدم عنوان ملف كامل يتم سحبه من
Dropbox
SSRF
دائما ثغرات تطبيقات SAAS تكون
في طريقة ربط المبرمج مع هذه الخدمة بنسبة
80% عيوب هذا النوع من التطبيقات
في اكتشاف الثغرات
يحتاج منك انك تفهم نفس الخدمة الأساسية
وكيف يتم الربط بينها وبين موقعك باختصار
تفكر كمطور وطرق الربط بعدها
تبدأ باختبار اختراقها وتستغل عملية
الضعف
الان عندنا مثال اخر
لوحة تسجيل دخول طبيعية
معظم الأشخاص يبدأ
يحقن أكواد أو محاولة الوصول لendpoint
بتحاول تختبر اختراقه مث
لكن الا بالصورة تطبيق SAAS
تحتاج تفهم الخدمة وكيف يتم ربطها
لافضل اختبار اختراق
الخدمة خاصة بشركة Salesforce
هذا صورة توضح الفروق في بعض إدارة الابلكيشن
يا تكون شركة عندها كامل الصلاحيات لإعداد
سيرفر كامل وابلكيشن كامل
أو يكون عندك وصول محدود
تكمن المشكلة عند اختبار الاختراق
بعض تطبيقات واضحة أنها SAAS
وبعضها جدا غير واضحة مثل لوحة الدخول
في الاعلى قد تظهر لك
ببعض الادوات مثل nuclei
قد تتعرف عليها بخيارات معرفة
التقنية المستخدمة كم شرحت في ثريد
Bug bounty
باستخدام أداة httpx
او بعرض سورس الصفحة أو
استخدام nuclei
بعد ما تعرفت على تطبيق SAAS
توجهت لقراءة docs
developer.salesforce.com
وجدت أن التطبيق يستخدم endpoint
شبيهة بapi
بدورك بسيط لهذا التطبيق
endpoint
كانت مثل :
/s/aurora ..etc
دخلت للوحة الدخول مره اخرى
وبحث عن endpoint
اذا قدرت اتحكم في اوامر endpoint
تعني تحكم بكامل التطبيق دون الحاجة لتسجيل
الدخول
عن طريق تمرير الأوامر داخل بارمتر message
مثلا لسحب جميع الاوبجكت والخيارات المتاحة
serviceComponent://ui.global.components.one.one.controller.OneController/ACTION$getCurrentApp}
استخراج معلومات مدير التطبيق
وسحب ريكورد معين
ُ{"actions":[{"id":"pwn","descriptor":"serviceComponent://ui.force.components.controllers.detail.DetailController/ACTION$getRecord","callingDescriptor":"UNKNOWN","params":{"recordId":"id","record":,"navigationLocation":"LIST_VIEW_RO
ونفس التطبيق تستخدمه
عدة شركات أبرزها كانت Uber ارسلت
لهم أكثر من ٢٥ تقرير بالإضافة لشركة dell
ومايكروسوفت وغيرها
طبعا صياغة الأوامر والاوبجكت صعبة
تحتاج فهم لتطبيق SAAS لذلك برمجة
أداة واول موديل فيها انها تفحص
تطبيق Salesforce وفي حالة اليدوي
ايضا تنشئ لك بايلود للتطبيق
اخيرا اتمنى وصلت فكرت
اختبار اختراق تطبيقات SAAS
فهم آلية عملها يعتبر نصف الاختراق
بحاول اضيف في الإداة تطبيقات اخرى
على فترات
اذا ظهر عند الفحص أنه قابل
للكتابة الخطورة مرتفعة مثل
@Eng_Abdull4h
اسال الله لي ولكم التوفيق

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