السلام عليكم

نستعرض فى هذا المقال التعريف بهجمات 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 الداخلية .

 

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