هذا المقال جزء من سلسله مقالات “أختراق كل نظام ويندوز علي الشبكه” اذا لم تري المقال السابق فأنت بحاجه لأن تراه قبل أن تبدأ من هنا.
في المقاله السابقه ذكرت لكم أنني سأشرح في هذه المقاله لم أن مجرد فتحك لمتصفح Internet explorer سيتسبب في أختراقك بدون أن تفعل شيئا مجرد فتح المتصفح .
هذه ليست ثغره من ثغرات Internet explorer المعتاده بل هي مشكله في الأعدادات الأفتراضيه الخاصه بالمتصفح وهي موجوده في جميع أصدارات الويندوز فكما يقال “أنها خاصيه وليست خطأ” ،والأن سنري ماسبب هذه المشكله.
قبل أن نبدأ أنت بحاجه لأن تعلم ماهو برتوكول الـWPAD حتي تفهم ما سيحدث ومع أننا تلاعبنا به المقال الفائت أيضا لكنني لم أرد ذكره وتركته حتي أشرحه بتفصيل أكثر في مقال منفصل.

ماهو بروتوكول الـWPAD ؟

هو أختصار لـWeb Proxy Auto-Discovery وهو بروتوكول تقوم المتصفحات بأستخدامه لأيجاد ملف الـPAC بشكل تلقائي والـPAC أختصارا لـProxy Auto-Config وبيستخدم DHCP و DNS لأيجاد هذا الملف دون أن يحتاج لتدخل كبير من المستخدم فهو موجود في معظم المتصفحات وبعضها مفعل به بشكل أفتراضي مثل متصفح الـInternet explorer وهنا مربط الفرس 😀
دعوني أصيغ الأمر مجددا بطريقه أوضح الأن لدينا جهاز داخل شركه معينه يريد جلب ملف الضبط الخاص بالـWPAD ، والذي هو wpad.dat ،لكي يهيئ أعدادات البروكسي الخاصه به فا ليحصل علي هذا الملف يقوم بالأتي :
  1. يبحث داخل الشبكه عن جهاز بأسم wpad ولكي يجده يستخدم طريقه من الثلاثه
  2. أولا يقوم بسؤال سيرفر الـDHCP عن الجهاز الذي يحمل هذا الأسم ليأتي بالملف منه واذا وجده ينتقل للخطوه الأخيره
  3. اذا لم تنفع الطريقه الفائته يقوم بسؤال سيرفر الـDNS عن الـSub-Domain الخاص بالـWPAD فعلي سبيل المثال أذا كان دومين الشركه iSecur1ty.com فيقوم بعمل DNS Query يسأل السيرفر فيها عن wpad.iSecur1ty.com حتي يجد الجهاز الذي عليه ملف الـwpad.dat واذا وجده ينتقل للخطوه الأخيره اذا لم يجده ينتقل للخطوه التاليه :3
  4. الأن الجهاز يقوم بعمل Broadcast بأستخدام برتوكول الـLLMNR ، السابق شرحه في المقاله السابقه ، يسأل جميع الأجهزه التي علي الشبكه عن الـWPAD Server أو الجهاز الذي عليه الملف واذا وجده ينتقل للخطوه الأخيره واذا لم يجده اذا الجهاز لن يقوم بأستخدام البروكسي كما هو محدد له!
  5. يقوم بتحميل الملف (wpad.dat) وأستخدامه
لفهم كيفيه عمله بالتفصيل أكمل قرائه من هنا
الأن لعلك لاحظت انه هناك العديد من الهجمات التي يمكن أن تطبق في الخطوات السابقه مثل الـDHCP poisoning او الـDNS poisoning ولكن المشكله هنا أنه يمكن الحمايه منهم بوجود الشخص المناسب اذا كنت داخل شبكه شركه أو شيئا من ذاك القبيل ولكن أن قمنا بعمل هجوم الـLLMNR Poisoning فأن الـLLMNR Broadcast تذهب لكل جهاز داخل الشبكه فعندما تصل الرساله لجهازنا ، أي جهاز المهاجم ، فنقوم بالرد بأن لدينا ملف wpad.dat فا يسألنا الجهاز بأن نعطيه الملف فا لكي يحصل هذا يجب أن يحدث عمليه مصادقه أو Authentication كما شرحنا المقال السابق وبالتالي النتيجه أننا نحصل علي الـNTLM Hashes بسهوله 😀
الأن كما لاحظت هذا يحدث فقط في الشركات اذا فلنفترض أن الشركه لا تستخدم هذا الميزه أو أن الهدف ليست شركه فهل سيكون هذا التكنيك بلا فائده ؟ بالتأكيد لا :3
كما ذكرت مسبقا هذا الميزه موجوده في كل المتصفحات بأنتظار أن تفعل ولكن منها ماهو مفعل بشكل أفتراضي وهو متصفح الـInternet Explorer وهو موضوعنا هذا المقال فا المشكله في هذا المتصفح أنه ستجد هذه الميزه مفعله بشكل أفتراضي سواء كنت داخل شبكه ولا لا فا مجرد فتح المتصفح يبدأ بعمل الخطوات السابق ذكرها مما يجعل أن فتح المتصفح يتسبب في أختراقك فقط فتحه بدون أستخدامه ! وهو يستخدم نفس أعدادات الخاصه بالويندوز فا بداخل الـLAN Settings داخل الضبط الخاص بالـInternet explorer ستجد هذا

والأن…

بعدما فهمت كيف يعمل بروتوكول الـWPAD الأن لنبدأ نطبق خطواتنا لأختراق الجهاز ولعمل هذا سنستخدم أداه Responder هذه المره أيضا لكن هذه المره أترك ملف Responder.conf كما هو فيكون كالأتي
الأن نشغل الأداه بنفس من خلال الأمر
الأن كل شئ جاهز الهدف هو ويندوز 7
الأن مجرد فتحي للمتصفح أنظر ماذا سيحدث
تم ألتقاط الهاشات بنجاح ونستطيع التكمله لأختراق الجهاز كما شرحنا من قبل
لاحظ أنه في حالات أخري قد لا يكون الجهاز يقوم بعمليه التصديق بشكل ألي فيسأل المستخدم عن الأسم وكلمه السر عن طريق prompt تظهر له في الجهاز وليس المتصفح ولكن في هذه الحاله ما سيكتبه سيأتيك كما هو Plain text وليس هاش.

يفترض أن تكون هذه نهايه المقاله ولكن…

لا لن أنهيها هنا لنطور هذا التكنيك أولا ونستغل الملف أكثر 😀
الأن أنت رأيت فوق في بدايه المقال أن كل مافعلناه هو أستغلالنا لبحث الجهاز عن الملف لنجعله يتصل بنا لنلتقط الهاش ولكن الا يمكننا أستغلال الملف ذات نفسه ؟
أداه Responder هي أداه رائعه بل ومدهشه كلما فهمتها أكثر كلما أحببتها أكثر فالأداه لا تكتفي بأنها تخبر الجهاز أنها تملك الملف حتي تجعله يتصل بها بل أنها تصبح تملك الملف فعلا حيث أنها تقوم بتوليد الملف بالفعل ولكن بداخل الملف تضع الهوست الخاص بالبروكسي هو ProxySrv وهو بالطبع ليس موجودا علي الشبكه فا يرسل الجهاز LLMNR Broadcast ويحدث كما شرحنا من قبل مجددا ولكن هذه المره يخبر الجهاز أنه هو البروكسي فالأن تصبح كل الترافيك الخاصه بالجهاز تمر من خلال جهازنا بما أننا البروكسي المتصل به الجهاز فنستطيع أن نعدل الصفحات الذي يفتحها المستخدم قبل فتحها مما يفتح الباب لأختبار مهاراتك في الهندسه الأجتماعيه 😀
الأن أنت فعلت كل الذي سبق والجهاز حصل علي الملف وأستخدمه لكن هذا لا يكفي فالأن سنغلق الأداه ونبدأ من جديد بعد تفعيل بعض المزايا الأخري.
بداخل ملف الـResponder.conf ستجد سكشن أسمه HTTP Server نحن هذه المره مهتمين بخمس متغيرات في داخله فقط وهما :
  • Serve-Exe وضبط قيمه هذا المتغير لـOn سيفعله يجعل الأداه تبدل كل ملف exe يقوم المستخدم بتحميله بملف exe خاص بنا والذي سيكون Backdoor بالطبع 😀
  • Serve-Html تفعيله سيجعل الأداه تستبدل الصفحات بصفحه مخصصه ، عندما يكون لا يحمل شئ ، والتي تقنع المستخدم بأن يقوم بتحميل الملف
  • HtmlFilename وهذه هي الصفحه التي تظهر للمستخدم لأقناعه بتحميل الملف وأنا عن نفسي أجدها مقنعه ولا داعي لتغييرها ولكن أن أردت تغييرها تستطيع كتابه مسار ملف أخر
  • ExeFilename وهذا هو الملف الذي سيحمله المستخدم والذي هو بشكل أفتراضي ملف يقوم بعمل bind shell تستطيع الأتصال به كما سنوضح بعد قليل وتستطيع أن تستبدله بملف Backdoor تولده بأستخدام الـMetasploit مثلا كما سنوضح بعد قليل ايضا
  • ExeDownloadName وهذا هو أسم الملف بعدما يقوم المستخدم بتحميله وأنا عن نفسي أيضا أراه مناسب لا داعي لتغييره
فيصبح الناتج النهائي للملف الأن
الأن نشغل الأداه ونفتح المتصفح كما فعلنا من قبل وسيحصل نفس الذي حصل والأن متي تعرض الأداه الصفحه المخصصه ؟ تعرض الأداه الصفحه في حالتين :
  1. أن يقوم المستخدم بفتح صفحه http
  2. أن يكتب أي هوست نيم ليدخل عليه سواء كان موجودا أم لا مثل testtest/ مثلا
الأن بداخل المتصفح نجرب نكتب أي شئ مثلا testtest/ وندخل عليه ونري النتيجه
كما تري الصفحه فتحت والتي تخبر المستخدم أن الموقع قد منع بسبب تحديثات في الـSecurity Policy ولكي يفتح الموقع عليه أن يحمل الكلاينت الجديد حتي يستطيع أن يفتح المواقع 😀
والأن نضغط علي كلمه Proxy Client حتي نحمل الملف وبعدها نقوم بتشغيله
الأن بعد تحميل وتشغيل الملف لا يظهر شئ علي جهاز المهاجم أو علي جهاز المستخدم فكيف ندخل علي الـBind Shell ؟
الـBind Shell موجود علي المنفذ 140 فا نستطيع الدخول اليه عن طريق الـNetcat فنجد الأتي
كما تري حصلنا علي Bind Shell داخل الجهاز 😀 ولاحظ أنك تستطيع أن تغير أسم الملف بملف أخر خاص بك فعلي سبيل المثال سأقوم الأن بتوليد Backdoor لأستخدامه بسرعه لأحصل علي Meterpreter Session داخل الجهاز ، وهذا أمر يرجعلك ماهو الملف أو ماذا يفعل الأهم الا تمسح الملف الأصلي من داخل فولدر files ، وسأقوم بأستخدام سكربت خاص بي قمت ببرمجته منذ فتره لتسريع توليد الباكدورز 😀
نجهز الميتاسبلويت لأستقبال الأتصال ونفتح أداه Responder 😀
الأن نحمل الملف ونستقبل الجلسه
كما تري أخترق الجهاز بالطبع 😀

أخر شئ اريد أن أقوله قبل نهايه المقاله هو

لاحظ الفرق عند الدخول علي google.com
وعند الدخول علي https://google.com
بالتأكيد لاحظت الفرق فعند الدخول علي موقع جوجل ، المعروف بأنه يعمل علي الـHTTPS ، بدون كتابه الـhttps نجد موقع جوجل فتح من خلال بروتوكول الـhttp والصفحه المخصصه عرضت ! فكيف هذا ؟
أي موقع يعمل من خلال الـhttps عند فتحه بدون كتابتها يفترض أنه سيفتح http ثم يقوم بعمل تحويل علي الـhttps وهذا ليمنع هجمات الـDowngrade والـSSLStriping ولكن ما حدث هنا أن الأداه لا تعطي الفرصه للموقع ليقوم بالتحويل من http لـhttps والذي سيطبق مع أي موقع أخر مما يجعلنا سعداء 😀
الي هنا تنتهي مقالتنا اليوم أرجوا أن تكون أستفدت وأنتظرونا في الجزء القادم وأيضا أعتذر علي التأخر فهذه فتره أمتحانات فلذلك أكتب كلما يتيح لي الوقت .