مقال: تعرف على هجوم cross site port attacks
السلام عليكم
نستعرض فى هذا المقال التعريف بهجمات Cross Site Port Attacks وما هى هذه الثغرة ومدى خطورتها وكيفية اكتشافها ومن ثم استغلالها ليكون هذا المقال اول واكبر مرجع عربى يتناول هذه الهجمات .
كنا قد تعرضنا لذكر هذه الثغرة فى احد المقالات السابقة ولكن لم نشرها بالتفصيل واليوم نضع شرح مفصل لها .
فى البداية ما هو هجوم Cross Site Port Attacks :
يطلق عليه ايضا XSPA . وهو عملية الفحص الداخلى للشبكة الخاصة بالموقع المصاب او الهجوم على مواقع اخرى من خلال الموقع المصاب .
يتضمن الهجوم عملية فحص البورتات للشبكة الداخلية للموقع المصاب ثم القيام بعملية banner grabbing لمعرف البرامج والخدمات المثبتة على النظام ثم اختراق كامل للنظام على حسب حماية النظام.
هذه الثغرة اصابت عددا من المواقع الكبرى مثل جوجل وفيس بوك وياهو وموزيلا وادوبى وهذا يدل على انها ثغرة عالية الخطورة .
مدى خطورة XSPA:
- فحص البورتات للشبكة الداخلية للموقع
- فحص البورتات لمواقع اخرى
- معرفة السيرفات والأجهزة الداخلية للشركة
- معرفة جميع البرامج والخدمات المثبتة داخل الشبكة واصدارتها
- اكتشاف الثغرات للبرامج الداخلية ومحاولة اختراق النظام
- قراءة الملفات الداخلية فى الشبكة
تظهر هذه الثغرة عندما يسمح الموقع للمستخدم من ادخال رابط(مثلا رابط صور خارجية لعرضها داخل الموقع) ولا يتحقق الموقع من هذا المدخل ولا من الرد الناتج من الرابط المضاف فيتم الإتصال بالرابط ومن هنا يمكن اكتشاف البورتات المفتوحة ومهاجمة النظام.
مثال1:
لا حظ الكود التالى :
الدالة file_get_contents تأخذ الرابط “رابط لصورة” من المستخدم ثم تقوم بحفظ الصورة ويعد ذلك تعرضها للمستخدم. اذن يمكننا التلاعب بالرابط ومعرفة المنافذ المفتوحة كما سنرى لاحقا فى هذه المقالة .
مثال 2:
موقع يقوم بعرض ملفات نصية داخل الصفحة فقط اختار الملف وسيتم احضاره من موقع خارجى و فتحه وعرضه لك على الصفحة .
بعد الضغط على view file تكون النتيجة كالأتى :
تم عرض الملف النصى من الرابط الخارجى بنجاح .
فى هذا المثال واضح ان الموقع لا يسمح لك بإضافة روابط فقط يقترح عليك 4 ملفات .اذن ما الحل ؟ …. سنتسخدم intercepting proxy لقطع request ومحاولة اضافة رابط خارجى وعرض الملف النصى بالرابط .
سنستبدل هذا الرابط برابط robots الخاص بموقعنا isecur1ty وسنرى هل سيتم عرض الملف ام لا ؟
نمرر الطلب للموقع ونرى النتيجة :
تم فتح الملف بنجاح وعرض محتوياته .
cross site port scanning:
الهجوم الأول وهو استخدام الموقع المصاب كبروكسى “proxy” من اجل فحص البورتات فى المواقع الأخرى .
سنضيف الرابط ثم بعده البورت المراد فحصه على هذا الشكل:
80:http://www.isecur1ty.org
ربما تفشل هذه الطريقة وذلك لأن الموقع يتحقق من اخر الرابط فيجب ان ينتهى الرابط ب txt. كحالتنا هذه ولو كان الموقع يعرض صور فيجيب ان ينتهى ب jpg. ليكون الرابط :
http://www.isecur1ty.org:80/xspa.txt
http://www.isecur1ty.org:80/xspa.jpg
نقوم بفحص موقع scanme.nmap.org “وهو موقع مقدم من nmap يسمح لك بفحصه”
على بورت 22 .لاحظ الصورة:
وتكون النتيجة هى :
تم فحص البورت بنجاح .كما هو واضح فى الصورة فالبورت مفتوح وتم عمل banner grabbing بنجاح ومعرفة الخدمة التى تعمل على هذا البورت ومعرفة اصدارها كما تم عمل fingerprinting للنظام .
اذا اردت فحص بورت اخر فقط ستغير رقم 22 برقم البورت المراد فحصه مثل 21 مثلا لتكون النتيجة على الشكل التالى :
لم يظهر شيئا لأن البورت مغلق .
نريد ان نطور الهجوم ونفحص عدد اكبر من البورتات بشكل اوتوماتيكى وسريع .يمكن انجاز هذا ببساطة من خلال كتابة سكربت بلغة البايثون لكن اليوم سنعتمد على اداة burp intruder.
ارسل request الى burp intruder ثم اضبط الإعدادات بهذا الشكل :
ثم تضيف قائمة من اشهر البورتات مثل الصورة التالية :
او ربما نريد فحص اكثر من الف بورت مرة واحدة بدل اضافة قائمة من البورتات .ستتغير الإعدادات قليلا لتكون على هذه الشكل :
بعد ذلك نريد عرض نتيجة الفحص بشكل سلس و مباشر امامنا :
اذهب الى خيار options ثم اضغط على add
نختار النتيجة من بين الأكواد لتظهر كل النتائج تنازليا فى عمود واحد :
لاحظ خانة start after expression هى الخانة التى تبدأ من بعدها النتيجة وخانة End وهى الخانة التى تنتهى عندها عرض النتيجة والكلام الملون باللون البرتقالى هى النتيجة والتى ستتغير حسب البورت المفحوص .
نضغط على start attack لتبدأ عملية الفحص وتبدأ ظهور النتائج امامنا كالتالى :
كما مبين بالصورة : بورت 25 مفتوح بينما بورت 21 مغلق .
تم الهجوم الأول بنجاح وهو استخدام الموقع المصاب كوسيط لفحص مواقع اخرى .
الهجوم الثانى :
فحص البورتات للشبكة الداخلية للموقع المصاب ومعرفة الخدمات المستخدمة
فقط سيتم تغيير الرابط ليصبح على هذا الشكل :
http://127.0.0.1:80/xspa.txt
لتطوير هذا الهجوم :سنعتمد ايضا على اداة burp intruder
ولكن سنغير نوع payload الى cluster bomb وستغير موضع الهجوم الى موضعين
الموضع الأول سنوفر فيه عدد من Ip الأجهزة الداخلية فى الشبكة للموقع المصاب
والموضع الثانى قائمة من اشهر البورتات حيث سيتم فحص كل البورتات فى الموضع الثانى على كل ip فى الموضع الأول .
نضع قائمة من ip “الموضع الثانى” وقائمة من البورتات “الموضع الأول” ولنبدأ الهجوم :
يمكنك ضبط اعدادات ظهر النتيجة كما فعلناها سابقا .
قراءة الملفات الداخلية للنظام :
توفر xspa ايضا امكانية قراءة الملفات الداخلية للنظام مما يزيد من خطورتها حيث تستطيع قراءة الملفات الهامة مثل الباسوردات وملفات الإعدادات وغيرها الكثير من ملفات النظام .
نفس فكرة الهجوم الأول :فقط سنستبدل الرابط ليكون بهذا الشكل
file:///C:/Windows/win.ini
win.ini هو الملف المراد قرائته .يمكنك تغييره كما تريد . والنتيجة :
تم قراءة الملف بنجاح
التخمين :
سنقوم بهجوم bruteforcing من خلال ثغرة xspa .يتضمن الهجوم محاولة تخمين السكربتات والبرامج المستخدمة داخل الشبكة الداخلية وذلك من اجل اكتشاف الثغرات بها ثم مهاجمتها لاحقا .
ببساطة نضيف المسارات الخاصة بأشهر السكربتات ونرى استجابة الموقع وبهذا يتم تحديد وجود السكربت من عدم وجوده .يمكن الإعتماد على لغة البايثون فى هذا الهجوم
مثلا :
http://127.0.0.1:80/phpMyAdmin
http://127.0.0.1:80/drupal
http://127.0.0.1:80/wp-admin
http://127.0.0.1:80/vb
http://127.0.0.1:8080/jmx-console
اخترق النظام والشبكة الداخلية :
بعد معرفة البرامج والسكربتات المركبة داخليا فى الشبكة والتى لا تظهر للمستخدم العادى على الإنترنت :يمكن مهاجمتها بالطرق التقليدية حيث ان اغلب هذه السكربتات لا تتطلب اسم مستخدم او كلمة مرور او لأن هذه الخدمات على الشبكة الداخلية فلا حاجة للتحق من المستخدم او ربما تطلب كلمة مرور وغالبا تكون هذه هلى كلمة المرور الإفتراضية للسكربت .يمكنك الدخول الى السكربت ورفع ميتربريتر عليه من خلال مشروع الميتاسبلويت وبالتالى اختراق كامل للشبكة الداخلية من خلال موقع مصاب ب xspa
لاكتشاف ثغرة xspa :
قم بالبحث عن كل البارمترز والدوال فى الموقع التى تسمح لك بإضافة روابط خارجية والتى تقوم بالإتصال بهذا الرابط مثل خدمات جلب وفتح الروابط النصية او خدمات جلب وعرض الصور ثم قم بتجربة الثغرة عليها كما هو موضح سابقا !!
تطبيق الثغرة على موقع مشهور :
سنطبق الثغرة على موقع MailChimp الشهير
لا تحاول تجربة الثغرة على الموقع لأنه تم اصلاحها !!
فحص بورت مفتوح مثل بورت 22 : لاحظ استجابات الموقع تختلف :
وعند فحص بورت مغلق مثل بورت 31337:
للحماية من الثغرة :
- التحقق من المدخلات والروابط
- عرض رسائل اخطاء مخصصة
- منع الإتصال بالبورتات المشهورة
- منع الإتصال ب Ip الداخلية .
الى هنا ينتهى المقال “حاولت ان اراعى المبتدئين فى فهم المقال قدر الإمكان” اى استفسار لا تتردد فى السؤال سواء هنا من خلال التعليقات او بالتواصل معى على حسابى فى فيسبوك .
اريد معرفة اسم الاداة التي تم استخدامها في هجمت XSPA
يمكن استخدام اى بروكسى مع لغة البايثون لكنى اعتمدت على burp suite فى هذا الشرح
اخي الكريم انت ذكرتني بشي غريب حدث لي امس
كنت احاول ابرمج سكربت لوقير لثغرة الـ XSS
ونفذت طريقه بالصدفه في قوقل
ورسلي رسالة الى ملف الولق فيها نظام قوقل الداخلي MAC وانا نظامي وندوز + IP Google وكم معلومه داخليه لقوقل
شي غريب !
كلامك غير واضح !!
السلام عليكم ورحمة الله وبركاتة
اولا الف شكر على المعلومات الجميلة دى , انا استفدت جداااا
بس ياريت شرح بأمثلة برضة للحماية من الثغرة
ورمضان كريم
وعليكم السلام ورحمة الله وبركاته
الشرح كله بالأمثلة . راجع المقال
شكرا على الرد
بس انت مش فاهمنى
للحماية من الثغرة :
التحقق من المدخلات والروابط
عرض رسائل اخطاء مخصصة
منع الإتصال بالبورتات المشهورة
منع الإتصال ب Ip الداخلية .
انا عايز امثلة بئة للكلام دة 🙂 , معلش انا طماع شوية بس اعذرنى انا Software developer
فالكلام دة يهمنى جداااااااااااااااااااااااا
zakiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
😀
شباب ممكن تتعمقوا شوية و تعنى شرحات شوية جديدة ف ده تغرة من عصر حجري هي و تغرة حقن و تغرة تخطي bypass
وتغرة رموت
فايل
كومند وكتير
هذا النوع من الهجوم هو جديد فى ساحة الويب
شرح أكثر من رائع الكلماة لا تكفي ننتضر شروحاة أخرى للثغراة قوية مثل XSPA و هذا أول شرح عربي لهذه الثغرة
شكرا لك انتظر المزيد
السلام عليكم ورحمه الله وبركاته
موضوع حقا رائع وتفصيل المعلومات سلسل يستطيع أي شخص أن يتدرج بالفهم لكل نواحي الثغره المستغله والأدوات المستخدمة عرضت بشكل سلسل فهمت اغلب هذه الأشياء من هنا ولكني احب ان أضيف بعض الأشياء كتحليل شخصي لما يدور حول هذه الثغره؛ فعند إرسال أي حزمه عبر الإنترنت تمر عبر طبقات النظام الشبكي منذ مغادرتها جهاز المصدر إلى وصولها إلى الهدف طبقه التطبيق وطبقه الجلسه وطبقه التقديم وطبقه النقل…. الخ هنا نعلم أن طلبات بروتوكول http تذهب إلى الطبقه السابعه ومن ثم تمرر إلى خادم الويب الذي يقوم بدوره بتمريرها إلى تطبيق الويب الذي يعالج الطلبيات ويرسل عادتا إلى أن تصل إلى متصفح الويب وتعرض على العميل أليس كذلك؟ ونعلم أيضا أن طبقه النقل tcp /udp هي من تحدد المنافذ المفتوحه في النظام فإذا طلبنا بيانات من السيرفر ببورت معين طبقه النقل هي من تحدد وجهه البيانات إلى أي تطبيق سيرفر معالج لهذه البيانات وهنا استخدمنا بروتوكول http الذي هو في الطبقه السابعه ومتصفح الويب يتعامل مع بروتوكول 80-8080 وبروتوكلات محدده كبروتوكلات VPN إلى آخر المقصود أن البروتوكولات محدده للاستخدام في روابط الويب url والمدخلات مستخدم وتم استغلال هذه النقطه لإرسال طلبات من بورتات أخرى لعرض الفحص هل هناك يوجد بيانات أخرى تتستغل إرسال طلبيات http للعبور بياناتها على جدار الناري وتجاوز الحمايه ips التي تمنع مرور البيانات المحتوى الغير مرغوب مثلا بيانات icmp لو ان الطلبات سمحت بالفحص معنى هذا انه لا فائده للحماية ويمكن تطبيق هجمات على السيرفر حتى وإن يوجد جميع الحمايات لأن المهاجم يمكنه لف بيانات للبيروتوكل آخر عبر حزمه http كطلب مادائم المتصفح لا يوجد لديه امكانيه تحديد تزوير الطلب ببورت آخر هذا ما أراه
الشغله الأخرى التي أحببت أن أضافتها للاستفادة أكثر من الموضوع واكماله حتى الانتهاء منه حيث يمكن أن نستغل مدخلات المستخدم في مهاجمه النظام كما ذكرت وهنا في الرابط أسفل فيديو حقا جميل لاستغلال ثغره الفيض buffer overflow موجوده على سيرفر الوقت الذي يعيد لنا كم الوقت الحالي في الشبكه وهنا يقوم بإرسال كود الاستغلال على مدخل الطلب وكل شي يعمل وينفذ البرامج على السيرفر ارجوا ان تستفيدو منه كما استفدت
https://m.youtube.com/watch?v=WTSENYiL5_8
وهنا رابط يشرح تطبيق هذا النوع من الثغرات على ثغره RFI فيمكن الحصول على النتائج من على متصفح الويب أو بارسال الطلبات عن طريق المقابس برمجيات وهناك أكثر من طريقه لارسال طلبيات http بشكل برمجي واخر تحديث للمتصفحات تدعم websocket لبرامج اللعاب الشبكه وما إلى ذلك كمعلومه للمبتدئين
http://niiconsulting.com/checkmate/2015/04/server-side-request-forgery-ssrf/
يتبقى معرفه تطبيق الثغره على نوع ثغرات SQLI وثغرات Oracle
وفي الاخير هذا ما حبيت أن أشارككم واتمنى ان احصل على الإجابات من أصحاب الخبره الواسعه في هذا المجال
وشكرا لكم جزيلا