شرح ثغرات Unvalidated Redirects وتطبيقها علي موقع Kaspersky

Kaspersky from Unvalidated redirection to Malware spreading

قبل أن أبدأ بشرح ثغرات ال Unvalidated Redirects

دعونا نعطي مثال بسيط حتي نفهم فكرة ال  (التحويل)Redirection

المستخدم تلقي رسالة علي بريده الإلكتروني بالمحتوي التالي:

عزيزي المستخدم .. يمكنك زيارة المدونة الخاصة بموقعنا من خلال الرابط التالي:

http://www.goodsite.com/link.php?url=http://blog.goodsite.com

إذا عندما يقوم المستخدم بالضغط علي الرابط بالإعلي فإنه سيتم توجيهة إلي http://blog.goodsite.com

إذا كيف يمكن إستغلال الرابط أعلاه؟

الأمر بسيط جدا .. حيث سيقوم المهاجم/المخترق بإستبدال الرابط الذي سيتم تحويل المستخدم إليه برابط آخر تابع له حتي يتم تحويل المستخدم إلي موقع المهاجم.

مثال:

عزيزي المستخدم .. يمكنك زيارة المدونة الخاصة بموقعنا من خلال الرابط التالي:

http://www.goodsite.com/link.php?url=http://blog.attacker.com

إذا عندما يقوم المستخدم بالضغط علي الرابط بالإعلي فإنه سيتم توجيهة إليhttp://blog.attacker.com

ولكن كما تري فقد تم تحويل المستخدم من خلال موقع goodsite.com والذي يفترض به ان يكون موقع موثوق لدي المستخدمين.

ما هي الخطورة التي ستقع علي المستخدم من خلال هذا النوع من الثغرات؟

1- تحويل المستخدم إلي صفحات تسجيل دخول مزورة شبيهه تماما لنفس صفحة تسجيل الدخول الخاصة بالموقع الأصلي وربما يكون إسم النطاق(Domain name)  أيضا شبيه لنفس إسم النطاق الخاص بالموقع الأصلي وبالتالي سرقة بيانات تسجيل الدخول الخاصة بالمستخدم.
مثال: بدلا من أن يتم تحويلك لموقع الفيس بوك www.facebook.com يتم تحويلك لموقع www.faecbook.com   هل لاحظت الفارق؟

2- تنزيل ملفات خبيثة (Trojans) علي أجهزة المستخدمين .. حيث يمكن للمهاجم تحويل المستخدم علي صفحه تستغل ثغرة في البرمجيات المنصبة علي جهاز المستخدم .. برمجيات مثل Java, Flash Player, Adobe Reader وغيرها

إذا ما السبب في حدوث تلك الثغرة؟ وكيف للمبرمج أن يحمي نفسه منها؟

الخطأ ان المبرمج لا يستخدم أي نوع من أنواع التحقق(validation) حتي يتأكد من الرابط الذي سيتم تحويل المستخدم إليه!

بعض طرق الحماية من تلك الثغرة:

1- Security Tokens

ما هي ال Security tokens

هي أرقام يتم تكوينها بنوع ما من التشفير(علي حسب المبرمج) وكمثال فهي تكون تجميعه من رابط الموقع + التوقيت الحالي + Salt

مثال:

“TRIffZRIE_yke-3Z1pxFaHaDC5FOPEXEGx6LpRZdjW”

فيصبح الرابط بالشكل التالي:

http://www.goodsite.com/link.php?url=http://blog.goodsite.com&token=TRIffZRIE_yke-3Z1pxFaHaDC5FOPEXEGx6LpRZdjW

اذا وظيفة الToken في هذه الحالة هي التأكد من أن الرابط الذي سيتم تحويل المستخدم إليه هو رابط موثوق منه ومسجل في قاعدة بيانات الموقع ولم يتم التلاعب به لان كل رابط يكون له Security Token واحد فقط.

2- Black & White List

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

نأتي هنا لمثال عملي علي موقع شركة Kaspersky عملاق شركات إنتاج برمجيات الأمن المعلوماتي .. حيث كان الموقع مصاب بثغرة من هذا النوع الذي نتحدث عنه اليوم

وفي الفيديو التالي نجد انه تم إستغلال الثغرة بطريقة المحاكاة لمحاكاة إستغلال الثغرة من قبل الهاكرز واستخدامها في نشر الملفات الخبيثة (Trojans) مستغلين إسم وثقة Kaspersky لدي المستخدمين.

تخيل معي عزيزي القارئ  رابط يأتيك من شركة كاسبرسكي(وهي مصدر موثوق لا محاله) ويطلب منك تحميل ملف! أو صفحه يتم تحويلك إليها من موقع كاسبركي وتطلب منك بيانات معينه او تعرض عليك تنزيل آخر إصدار من برنامج كاسبرسكي المدفوع وبشكل مجاني!

“أكثر المصادر ثقة لك .. قد يكون هو عدوك الأسوء!”

الفيديو للمزيد من التفاصيل:

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

نبذة عن الكاتب

خبير أمن معلومات مصري , متخصص في تجربة إختراق تطبيقات الويب و أمن الشبكات و متحدث في عدة مؤتمرات دولية عن أمن المعلومات , تم مكآفأته و إدراج اسمه عدة مرات على حائط الشكر بموقع Google , Ebay , Microsoft , Yandex وتم تكريمة من قبل Yahoo و Avira و Barracuda. يمكنكم التواصل مع الكاتب عبر حسابة علي تويتر @Zigoo0

التعليقات:

أضف تعليقاً | عدد التعليقات: (10)

  1. مينا مجدى قال:

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

  2. Nader Moh'd قال:

    many many thanks to our Arab InfoSec professional, pentester & Consultant Ibrahim Hijazy. Make sure that many people follow your news and the new vulnerability you are discovering, and we are glad to see an Arab guy doing that many times 🙂

    Can you please guide the beginners and other levels here about the best practical resources/books in the web application penetration testing field.

  3. M******A*******G*****D****Y قال:

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

  4. @مينا: مرحبا بك وان شاء الله يكون الموضوع عند حسن ظنك 🙂

    @nader: أهﻻ بك أخي وشكرا لك علي كلماتك فهذا مديح لا أستحقه ..

    بالنسبة لسؤالك اخي فضلا إنتظر المواضيع القادمة فهي ان شاء الله ستضع خارطة لمن يريد التعمق في هذا المجال عن ما الذي يبدأ به ويمر بماذا والي ماذا ينتهي .. ان شاء الله سيتم طرحها قريبا جدا 🙂

    @Magdy: أعزك الله اخي أسال الله التوفيق لنا جميعا.

  5. Benefactor قال:

    السلام عليكم
    ماشاء الله عليك اخوي استفدنا منك كثير
    اخي وعزيزي المهندس ابراهيم

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

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

    جزاك الله خيرا

  6. Nader Moh'd قال:

    شكرا أخي ابراهيم …. في انتظار المواضيع القادمة 🙂

  7. ابو متعب قال:

    يشيخ الله يوفقك ويسعدك ويفتحها بوجهك ويزيدك يارب علم والله ينفعلك يارب ب الدارين ويجعل جميع ماتعمله ف موازين حسناتك اللهم آمين يارب

  8. hamza قال:

    الفيديو مش مبين عندي عشان اشغله واشوفه ارجو المساعدة

  9. Balla قال:

    جازاك الله خيرا على هـذه المعلومات المفيدة و لك مني ازكى التحيات.

أكتب تعليق