أمن وحماية السيرفراتأمن وحماية الشبكاتامن وحماية تطبيقات الويبمواضيع ومقالات

مقال: تعرف على هجوم cross site port attacks

تم أرشفة هذا المحتوى


السلام عليكم

نستعرض فى هذا المقال التعريف بهجمات Cross  Site  Port  Attacks وما هى هذه الثغرة ومدى خطورتها وكيفية اكتشافها ومن ثم استغلالها ليكون هذا المقال اول واكبر مرجع عربى يتناول هذه الهجمات .

كنا قد تعرضنا لذكر هذه الثغرة فى احد المقالات السابقة ولكن لم نشرها بالتفصيل واليوم نضع شرح مفصل لها .

فى البداية ما هو هجوم Cross  Site  Port  Attacks :

يطلق عليه ايضا XSPA . وهو عملية الفحص الداخلى للشبكة الخاصة بالموقع المصاب او الهجوم على مواقع اخرى من خلال الموقع المصاب .

يتضمن الهجوم عملية فحص البورتات للشبكة الداخلية للموقع المصاب ثم القيام بعملية banner grabbing لمعرف البرامج والخدمات المثبتة على النظام ثم اختراق كامل للنظام على حسب حماية النظام.

هذه الثغرة اصابت عددا من المواقع الكبرى مثل جوجل وفيس بوك وياهو وموزيلا وادوبى  وهذا يدل على انها ثغرة عالية الخطورة .

مدى خطورة XSPA:

  • فحص البورتات للشبكة الداخلية للموقع
  • فحص البورتات لمواقع اخرى
  • معرفة السيرفات والأجهزة الداخلية للشركة
  • معرفة جميع البرامج والخدمات المثبتة داخل الشبكة واصدارتها
  • اكتشاف الثغرات للبرامج الداخلية ومحاولة اختراق النظام
  • قراءة الملفات الداخلية فى الشبكة

تظهر هذه الثغرة عندما يسمح الموقع  للمستخدم من ادخال رابط(مثلا رابط صور خارجية لعرضها داخل الموقع) ولا يتحقق الموقع من هذا المدخل ولا من الرد الناتج من الرابط المضاف فيتم الإتصال بالرابط ومن هنا يمكن اكتشاف البورتات المفتوحة ومهاجمة النظام.

مثال1:

لا حظ الكود التالى :

1

الدالة file_get_contents تأخذ الرابط “رابط لصورة” من المستخدم ثم تقوم بحفظ الصورة ويعد ذلك تعرضها للمستخدم. اذن يمكننا التلاعب بالرابط ومعرفة المنافذ المفتوحة كما سنرى لاحقا فى هذه المقالة .

مثال 2:

موقع يقوم بعرض ملفات نصية داخل الصفحة فقط اختار الملف وسيتم احضاره من موقع خارجى و فتحه وعرضه لك على الصفحة .

2

بعد الضغط على view file تكون النتيجة كالأتى :

3

تم عرض الملف النصى من الرابط الخارجى بنجاح .

فى هذا المثال واضح ان الموقع لا يسمح لك بإضافة روابط فقط يقترح عليك 4 ملفات .اذن ما الحل ؟ …. سنتسخدم intercepting proxy لقطع request ومحاولة اضافة رابط خارجى وعرض الملف النصى بالرابط .

4

سنستبدل هذا الرابط برابط robots الخاص بموقعنا isecur1ty وسنرى هل سيتم عرض الملف ام لا ؟

5

نمرر الطلب للموقع ونرى النتيجة :

6

تم فتح الملف بنجاح وعرض محتوياته .

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 .لاحظ الصورة:

7

وتكون النتيجة هى :

8

 

تم فحص البورت بنجاح .كما هو واضح فى الصورة فالبورت مفتوح وتم عمل banner grabbing بنجاح ومعرفة الخدمة التى تعمل على هذا البورت ومعرفة اصدارها كما تم عمل fingerprinting للنظام .

اذا اردت فحص بورت اخر فقط ستغير رقم 22 برقم البورت المراد فحصه مثل 21 مثلا لتكون النتيجة على الشكل التالى :

9لم يظهر شيئا لأن البورت مغلق .

نريد ان نطور الهجوم ونفحص عدد اكبر من البورتات بشكل اوتوماتيكى وسريع .يمكن انجاز هذا ببساطة من خلال كتابة سكربت بلغة البايثون لكن اليوم سنعتمد على اداة burp intruder.

ارسل request الى burp intruder ثم اضبط الإعدادات بهذا الشكل :

10

ثم تضيف قائمة من اشهر البورتات مثل الصورة التالية :

11او ربما نريد فحص اكثر من الف بورت مرة واحدة بدل اضافة قائمة من البورتات .ستتغير الإعدادات قليلا لتكون على هذه الشكل :

12

 

بعد ذلك نريد عرض نتيجة الفحص بشكل سلس و مباشر  امامنا :

اذهب الى خيار options ثم اضغط على add

13

نختار النتيجة من بين الأكواد  لتظهر كل النتائج تنازليا فى عمود واحد :

14

لاحظ خانة start after expression هى الخانة التى تبدأ من بعدها النتيجة وخانة End وهى الخانة التى تنتهى عندها عرض النتيجة والكلام الملون باللون البرتقالى هى النتيجة والتى ستتغير حسب البورت المفحوص .

نضغط على start attack لتبدأ عملية الفحص وتبدأ ظهور النتائج امامنا كالتالى :

17كما مبين بالصورة : بورت 25 مفتوح بينما بورت 21 مغلق .

تم الهجوم الأول بنجاح وهو استخدام الموقع المصاب كوسيط لفحص مواقع اخرى .

الهجوم الثانى :

فحص البورتات للشبكة الداخلية  للموقع المصاب ومعرفة الخدمات المستخدمة

فقط سيتم تغيير الرابط ليصبح على هذا الشكل :

http://127.0.0.1:80/xspa.txt

لتطوير هذا الهجوم :سنعتمد ايضا على اداة burp intruder

ولكن سنغير نوع payload الى cluster bomb وستغير موضع الهجوم الى موضعين

الموضع الأول سنوفر فيه عدد من Ip الأجهزة الداخلية فى الشبكة للموقع المصاب

والموضع الثانى قائمة من اشهر البورتات حيث سيتم فحص كل البورتات فى الموضع الثانى على كل ip فى الموضع الأول .

 

15

 

نضع قائمة من ip “الموضع الثانى” وقائمة من البورتات “الموضع الأول” ولنبدأ الهجوم :

16يمكنك ضبط اعدادات ظهر النتيجة كما فعلناها سابقا .

قراءة الملفات الداخلية للنظام :

توفر xspa ايضا امكانية قراءة الملفات الداخلية للنظام مما يزيد من خطورتها حيث تستطيع قراءة الملفات الهامة مثل  الباسوردات وملفات الإعدادات وغيرها الكثير من ملفات النظام .

نفس فكرة الهجوم الأول :فقط سنستبدل الرابط ليكون بهذا الشكل

file:///C:/Windows/win.ini

win.ini هو الملف المراد قرائته .يمكنك تغييره كما تريد . والنتيجة :18

 

 

تم قراءة الملف بنجاح

التخمين :

سنقوم بهجوم 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 : لاحظ استجابات الموقع تختلف :19

 وعند فحص بورت مغلق مثل بورت 31337:

 

20

 

للحماية من الثغرة :

  • التحقق من المدخلات والروابط 
  • عرض رسائل اخطاء مخصصة 
  • منع الإتصال بالبورتات المشهورة 
  • منع الإتصال ب Ip الداخلية .

 

الى هنا ينتهى المقال “حاولت ان اراعى المبتدئين فى فهم المقال قدر الإمكان” اى استفسار لا تتردد فى السؤال سواء هنا من خلال التعليقات او بالتواصل معى على حسابى فى فيسبوك .

 

محمود رضا

محمود من مصر مهووس بالتكنولوجيا ومجال امن المعلومات.مختبر اختراق للشبكات والمواقع.لدى معرفة بلغات برمجة لكن احب لغة البايثون

مقالات ذات صلة

‫15 تعليقات

  1. اخي الكريم انت ذكرتني بشي غريب حدث لي امس
    كنت احاول ابرمج سكربت لوقير لثغرة الـ XSS
    ونفذت طريقه بالصدفه في قوقل
    ورسلي رسالة الى ملف الولق فيها نظام قوقل الداخلي MAC وانا نظامي وندوز + IP Google وكم معلومه داخليه لقوقل
    شي غريب !

  2. السلام عليكم ورحمة الله وبركاتة

    اولا الف شكر على المعلومات الجميلة دى , انا استفدت جداااا

    بس ياريت شرح بأمثلة برضة للحماية من الثغرة
    ورمضان كريم

      1. شكرا على الرد
        بس انت مش فاهمنى
        للحماية من الثغرة :

        التحقق من المدخلات والروابط
        عرض رسائل اخطاء مخصصة
        منع الإتصال بالبورتات المشهورة
        منع الإتصال ب Ip الداخلية .

        انا عايز امثلة بئة للكلام دة 🙂 , معلش انا طماع شوية بس اعذرنى انا Software developer
        فالكلام دة يهمنى جداااااااااااااااااااااااا

  3. شباب ممكن تتعمقوا شوية و تعنى شرحات شوية جديدة ف ده تغرة من عصر حجري هي و تغرة حقن و تغرة تخطي bypass
    وتغرة رموت
    فايل
    كومند وكتير

  4. شرح أكثر من رائع الكلماة لا تكفي ننتضر شروحاة أخرى للثغراة قوية مثل XSPA و هذا أول شرح عربي لهذه الثغرة

  5. السلام عليكم ورحمه الله وبركاته
    موضوع حقا رائع وتفصيل المعلومات سلسل يستطيع أي شخص أن يتدرج بالفهم لكل نواحي الثغره المستغله والأدوات المستخدمة عرضت بشكل سلسل فهمت اغلب هذه الأشياء من هنا ولكني احب ان أضيف بعض الأشياء كتحليل شخصي لما يدور حول هذه الثغره؛ فعند إرسال أي حزمه عبر الإنترنت تمر عبر طبقات النظام الشبكي منذ مغادرتها جهاز المصدر إلى وصولها إلى الهدف طبقه التطبيق وطبقه الجلسه وطبقه التقديم وطبقه النقل…. الخ هنا نعلم أن طلبات بروتوكول http تذهب إلى الطبقه السابعه ومن ثم تمرر إلى خادم الويب الذي يقوم بدوره بتمريرها إلى تطبيق الويب الذي يعالج الطلبيات ويرسل عادتا إلى أن تصل إلى متصفح الويب وتعرض على العميل أليس كذلك؟ ونعلم أيضا أن طبقه النقل tcp /udp هي من تحدد المنافذ المفتوحه في النظام فإذا طلبنا بيانات من السيرفر ببورت معين طبقه النقل هي من تحدد وجهه البيانات إلى أي تطبيق سيرفر معالج لهذه البيانات وهنا استخدمنا بروتوكول http الذي هو في الطبقه السابعه ومتصفح الويب يتعامل مع بروتوكول 80-8080 وبروتوكلات محدده كبروتوكلات VPN إلى آخر المقصود أن البروتوكولات محدده للاستخدام في روابط الويب url والمدخلات مستخدم وتم استغلال هذه النقطه لإرسال طلبات من بورتات أخرى لعرض الفحص هل هناك يوجد بيانات أخرى تتستغل إرسال طلبيات http للعبور بياناتها على جدار الناري وتجاوز الحمايه ips التي تمنع مرور البيانات المحتوى الغير مرغوب مثلا بيانات icmp لو ان الطلبات سمحت بالفحص معنى هذا انه لا فائده للحماية ويمكن تطبيق هجمات على السيرفر حتى وإن يوجد جميع الحمايات لأن المهاجم يمكنه لف بيانات للبيروتوكل آخر عبر حزمه http كطلب مادائم المتصفح لا يوجد لديه امكانيه تحديد تزوير الطلب ببورت آخر هذا ما أراه

  6. الشغله الأخرى التي أحببت أن أضافتها للاستفادة أكثر من الموضوع واكماله حتى الانتهاء منه حيث يمكن أن نستغل مدخلات المستخدم في مهاجمه النظام كما ذكرت وهنا في الرابط أسفل فيديو حقا جميل لاستغلال ثغره الفيض 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
    وفي الاخير هذا ما حبيت أن أشارككم واتمنى ان احصل على الإجابات من أصحاب الخبره الواسعه في هذا المجال
    وشكرا لكم جزيلا

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى