اعلان على الهواتف

شرح لهجمة الرجل في المنتصف في شبكة محلية

شرح لهجمة الرجل في المنتصف في شبكة محلية

شرح لهجمة الرجل في المنتصف في شبكة محلية.


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

الرجل في المنتصف هي في الحقيقة ليست ثغرة بالمعنى المتعارف عليه بل هي أسلوب هجوم ترتكز عليه عدة هجمات تستغل نقاط ضعف معينة في النظام المستهدف
تتلخص هذه التقنية في اعتراض محادثة بين طرفي اﻹتصال بطريقة غير مباشرة تظهر المحادثة عادية لكلا طرفي اﻹتصال لكن في الحقيقة كل المعلومات المتبادلة تمر عبر المهاجم الذي يملك إمكانية التنصت على المحادثة أو حتى تغييرها مما يخرق مبدأ سرية البيانات confidentiality و سلامة البيانات integrity و هما كما من أوكد مبادئ أمن المعلومات
تخيل معي أنك تتبادل رسائل بريدية بينك و بين صديقك المقيم في مدينة أخرى
كلاكما يظن أن رسائله تصل للطرف اﻵخر كاملة و موثوقة لكن في الحقيقة ساعي البريد غير أمين في هذه الحاثة حيث يعترض رسالتك و يطلع عليها بل و يغير منها ما يريد قبل إرسالها إلى صديقك الذي يستلم الرسالة دون شك في نزاهتها
يظن صديقك أنه يتخاطب معك
تظن نفسك تتخاطب مع صديقك
لكن الحقيقة أن كلاكما يخاطب ساعي البريد
هذا هو مبدأ هجوم الرجل في المنتصف بالظبط فهل وصلت الفكرة ؟ شاهد الصورة لتفهم أكثر


هذا الهجوم فعال جدا خصوصا عند اﻷنظمة التي لا تمتلك آلية تحقق من المخاطب بالعودة إلى المثال السابق قلنا أنك تتبادل رسائل مع صديقك هل هو صديقك بالفعل ؟ ماهو الدليل على هذا ؟
أنت تلقيت رسالة عليها عنوان صديقك فهل هو فعلا من أرسلها ؟ أي نظام لا يجيب على هذه اﻷسئلة بشكل فعال هو عرضة لهذا الهجوم تختلف التطبيقات من علوم التشفير خصوصا في عملية تبادل تبادل المفاتيح إلى أمن الخوادم و التطبيقات إلى أمن الشبكات و هو فحوى درسنا اليوم ما سنقوم به هو استغلال نقطة ضعف في بروتوكول مستعمل بكثرة في الشبكات كي نتنصت على أنشطة مستخدم آخر معنا في الشبكة المحلية
تخيل معي السيناريو التالي
الضحية و المهاجم موجودان في شبكة محلية متصلة باﻹنترنت
التتنفيذ الناجح لهذا المهجوم سيمكن المهاجم من اﻷطلاع على كافة أنشطة الضحية
على الشبكة و كتطبيق عملي سنقوم باﻹطلاع على الصور التي قامت الضحية بتصفحها

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

نستطيع تمييز نوعين من اﻷجهزة هما الحاسوب العادي و الموجه أو الراوتر يمكن تعويض الحاسوب بأي جهاز آخر على غرار هاتف ذكي أو حاسوب لوحي أو طابعة أو غيره عندما يريد الحاسوب الأول التخاطب مع الحاسوب الثاني يمر اﻷمر بسلام باعتبارهما موجودين في نفس الشبكة المحلية
لكن عندما يريد الحاسوب اﻷول التخاطب مع اﻹنترنت يجب أن يتدخل الراوتر في هذه الحالة
تعني كلمة اﻹنترنت هنا أي جهاز خارج عن نطاق الشبكة المحلية في الحالة اﻷولى الحاسوب يعلم جيدا عنوان مخاطبه فهما موجودان في نفس الشبكة المحلية المعرفة ب192.168.1.0/24
أما في الحالة الثانية فهو بحاجة ﻷن يسأل أحدا له علم بالشبكات الخارجية و هذا هو دور الراوتر الراوتر إما يعلم عنوان المرسل إليه أو يعلم شخصا آخر لديه المعلومة أي راوتر آخر هذا الراوتر اﻵخر إما يعلم مكان المخاطب أو عليه أن يسأل راوترا آخر و هكذا و بهذه الطريقة تنتقل حزم البيانات عبر اﻹنترنت التي هي عبارة عن مجموعات عملاقة من الرواتر المتصلة ببعضها إلى أن تصل إلى عنوان المخاطب عندما يريد الحاسوب إرسال حزم بيانات إلى مخاطب معين فهو يسأل نفسه السؤال التالي
هل مخاطبي موجود في شبكتي المحلية ؟ إن كان نعم فسأرسل الحزم مباشرة إليه مباشرة و إن كان لا فهذا يعني أني لا أعلم طريقا يؤدي إليه و لهذا سأوجه الحزم إلى الراوتر المتصل بي و هو سيتصرف هذا الراوتر يسمى default gateway أي عندما يريد الحاسوب إرسال حزم بيانات إلى مخاطب غير وجود في شبكته المحلية فهو يرسل الحزم وجوبا إلى هذا الراوتر حسنا لنتعمق قليلا في التفاصيل التقنية
كيف يتم إرسال بيانات في الشبكة المحلية ؟ نعلم أن اﻷي بي عنوان منطقي لا يشير بالضرورة إلى نفس الجهاز كل مرة لكن نحن بحاجة إلى عنوان فيزيائي لإرسال المعلومات لذلك نحن مجبرون للنزول إلى الطبقة الثانية
عندما يقوم الحاسوب بإرسال بيانات إلى الحاسوب الثاني عبر الشبكة المحلية فهو في الحقيقة يستخدم عنزان الطبقة الثانية الخاص بيالحاسوب الثاني و هو عنوان الMAC طبعا كل اﻷجهزة الموجودة في نفس الشبكة المحلية تعرف عناوين الMAC الخاصة ببعضها سواءا بطريقة مباشرة أو غير مباشرة كما سنشاهد فهذا هو هدف الشبكة المحلية أي مجموعة أجهزة متصلة عبر مرفق فيزيائي قد يكون كوابل في حالة Ethernet أو موجات راديو في حالة الواي فاي
لكن ماذا نفعل بعنوان اﻵي بي هنا يجب أن نرجع قليلا إلى مبدأ تغليف البيانات في الشبكة و إلى هيكلة الشبكات وفق طبقات يهمنا منها الطبقة الثالثة أي الأي بي التي تسمى طبقة التوجيه و الطبقة الثانية MAC التي تسمى طبقة روابط البيانات و تعمل على نطاق محلي في الحقيقة يتم تغليف حزم بيانات أي بي داخل هياكل بيانات تعرف بالframes
ما يتم تبادله في الشبكة المحلية هو فقط frames التي تحتاج إلى عنوان فيزيائي أي MAC جهاز متصل بالشبكة المحلية كل جهاز يتحصل على frames يقوم بفك تغليفها للصعود إلى الطبقة الثالثة أي عنوان اﻵي بي
هل توضحت الصورة ؟
مثال عملي
يريد الحاسوب اﻷول التخاطب مع الحاسوب الثاني فيقوم يصنع حزم بيانات من طبقات عليا لا تهمنا و يغلفها في حزم أي بي يضع عنوان المستقبل أي بي الحاسوب الثاني و هنا يسأل نفسه هل هذا اﻵي بي موجود في شبكتي المحلية ؟ إن كان نعم فأنا أعرف طريقا يوصلني إليه أو باﻷحرى عنوانه الفيزيائي MAC لذلك أغلف هذه الحزم في frames على أن تحمل هذه اﻷخيرة العنوان الفيزيائي للحاسوب الثاني كعنوان مستقبل (كيف أعلم أن الحاسوب موجود في شبكتي المحلية من عدمه انطلاقا من عنوان الأي بي ؟ الأمر مرتبط ببعض العمليات الرياضية و هو معقد نوعا ما و لا يسعه مجال درس اليوم المهم أن الحاسوب له وسائله كي يعلم) إن كان لا فهذا يعني أن هذا اﻷي بي غير موجود في شبكتي المحلية أي أي لا أستطيع التواصل معه عبر عنوانه الفيزيائي و بالتالي فأنا بحاجة إلى استشارة الراوتر إذن أقوم بوضع عنوان أي بي المستقبل الحاسوب الثاني لكن أضع العنوان الفيزيائي الخاص بالراوتر نعم هذا صحيح الهدف هو دائما اﻹتصال بالحاسوب الثاني في كل الحالات لذلك عنوان اﻵي بي للمستقبل لم يتغير ما تغير هو العنوان الفيزيائي و كأن الحاسوب يسأل الراوتر هل عندك طريق إلى هذا اﻵي بي ؟ ما يقوم به الراوتر هو نزع غلاف الطبقة الثانية للحزم المرسلة و مشاهدة عنوان اﻵي بي المستقبل و مقارنته بما عنده في جداول التوجيه و قرارات الراوتر لا تعنينا في هذا الشرح هل اﻷمر واضح لكم اﻵن ؟ أعلم أن ما أقوم به قد لا يبدو معقولا حيث أني أختزل صفحات من علم الشبكات في شرح بسيط لكن القرصان الناجح هو الذي يعلم بالظبط ما الذي يدور داخل اﻷنظمة التي يحاول كسر حمايتها لنحاول التلخيص حاسوب يريد التواصل مع طرف آخر إن كان هذا الطرف موجودا في الشبكة المحلية فيستطيع التواصل معه مباشرة عبر عنوانه الفيزيائي و إن كان اﻷمر غير ذلك فعليه المرور وجوبا عبر الراوتر و بالتالي يجب أن يكون الحاسوب عالما بآي بي الراوتر الذي يجب استشارته أو ما نعبر عنه بdefault gateway و دون هذه المعلومة لا يمكن للحاسوب إجراء اتصالات خارج النطاق المحلي لنفترض أن الحاسوب الإتصال بالراوتر و هو طبعا يعلم عنوانه المنطقي أي اﻵي بي لكن هو لا يعلم بالضرورة عنوانه الفيزيائي صحيح هما موجودان في نفس الشبكة المحلية و سلمنا نظريا بإنكانية وجود إتصال فيزيائي بينهما لكن يجب تبادل العناوين الفيزيائية هنا يأتي دور بروتوكول حجز العناوين ARP for address resolution protocol وظيفة هذا البروتوكول بسيطة فهو يترجم عنوان اﻷي بي إلى العنوان الفيزيائي للجهاز الحامل له شاهد معي الصورة


يريد الحاسوب A إرسال حزم بيانات إلى جاره في الشبكة المحلية لكنه يجهل عنوانه الفيزيائي فيقوم بإرسال رسالة إلى جميع اﻷجهزة المتصلة عبر تحديد العنوان الفيزيائي ff:ff:ff:ff:ff:ff أي يضع عنوان المرسل كله آحاد فحوى هذه الرسالة من يملك اﻵي بي التالي ip_b أرجو أن يرسل لي عنوانه الفيزيائي فقط حامل العنوان الفيزيائي المطلوب يجيب برسالة فحواها اﻷي بي المطلوب نعدي و أنا أملك العنوان الفيزيائي كذا
فور تلقيه هذه الرسالة يقوم الحاسوب A بتسجيل المعلومة في جدول مخصص يعرف بجدول ARP و بذلك لا يعيد نفس الرسالة
كلما احتاج إلى التواصل مع نفس الهدف خصوصا و أن هذه العملية أي إرسال رسالة إلى جميع اﻷجهزة المتصلة مكلفة جدا
أرجو أنكم قد كونتم فهما جيدا لبنية الشبكة المحلية و مختلف العمليات التي تدور فيها لا سيما و أن هذه العمليات هي التي تدور في مختلف أجهزتكم
الذكية و حواسيبكم و يكون الراوتر مدمجا في أغلب الحالات في جهاز يقوم عادة بأمور أخرى على غرار التبديل switch و تركيز نقطة إتصال الواي فاي و غيره

لقد تعرفنا على بروتوكول ARP الذي يقوم بالترجمة بين عناوين اﻵي بي و العناوين الفيزيائية لكن هذا البروتوكول مصاب بثغرة خطيرة في تصميمه تجعل من الممكن تنفيذ هجمة الرجل في المنتصف على نطاق شبكة محلية
عيب هذا البروتوكول هو أنه عديم الحالة أي بمعنى آخر لا يتحقق من صحة المعلومات المتبادلة عن طريقه
ما معنى هذا الكلام ؟ قلنا أن الحاسوب يريد التواصل مع خادم غير موجود في نطاقه المحلي أي أنه مجبر على المرور
بالراوتر المحلي و هو طبعا يعلم عنوان اﻷي بي الخاص به لكن ليس عنوانه الفيزيائي و بالتالي فهو سيستخدم بروتوكول ARP
و قد وصلته رسالة ARP تقول أن الراوتر موجود في العنوان الفيزيائي كذا
ما يحدث هو أن الحاسوب يصدق هذه المعلومة بصفة عمياء دزن التثبت في صحتها
فهل حقا الراوتر هو من أجابه أم هو طرف ثالث ؟ تذكر مثل الرسائل البريدية الذي ناقشناه سابقا اﻷدهى من ذلك هو أن الحاسوب يقوم بتحديث جدول ARP الخاص به فور تلقيه رسالة ARP مهما كان مصدرها و حتى إن لم يطلب المعلومة أي بمعنى آخر يمكن أن أتيه معلومة ARP دون أن يكون هو مصدر الطلب و بالتالي يقوم بتحديث جدوله ماذا إن تكن قرصان ما من حقن رسالة ARP مفادها أن أي بي الراوتر مربوط مع العنوان الفيزيائي للقرصان ؟ هل استوعبتم خطورة الثغرة شاهد معي هذا السيناريو


ما سيقوم به القرصان بالتحديد هو حقن رسائل ARP للضحية و الراوتر على حد سواء فالراوتر في حد ذاته حاسوب له نظام تشغيل إلخ أي ينطبق عليه ما ينطبق على الحواسيب
يقول للضحية أن أي بي الراوتر مربوط مع MAC القرصان
يقول للراوتر أن أي بي الضحية مربوط مع MAC القرصان
كأنه يقول للضحية مرحبا أنا الراوتر و يقول للراوتر مرحبا أنا الضحية و طبعا كلاهما سيصدق هذا الكلام نظرا للثغرة الموصوفة أعلاه في بروتوكول ARP
اﻵن القرصان نصب نفسه طرفا ثالثا في المحادثة بين الضحية و الراوتر
أي بكلام آخر كل بيانات الحاسوب المتجهة إلى شبكات خارجية يتلقاها القرصان فيفعل بها ما يشاء ثم يرسلها إلى الرواتر و العكس صحيح و اﻵخطر من ذلك أن الجهازان ليسا على علم بما يحدث

هذه باختصار ثغرة ARP spoofing المرتكزة على مبدأ الرجل في المنتصف نمر اﻵن إلى تطبيق لما تعلمناه و أنصح بشدة بتطبيق الشرح على أنظمة وهمية إليكم السيناريو شبكة محلية بسيطة مرتكزة على أمواج الراديو أو كوابل Ethernet RJ45 حاسوب الضحية يريد اﻹتصال باﻹنترنت و طبعا كل شبكة محلية لها راوتر خاص بها الذي يمثل منفذا للخروج إلى اﻹنترنت المخترق تمكن من الدخول إلى الشبكة بطريقة أو بأخرى ما سيقوم به القرصان هو حقن رسائل ARP للضحية و الراوتر
هناك عدة أدوات تسهل القيام بهذا اﻷمر في توزيعية KALI Linux إخترت منها أداة arpspoof
كما يمكن القيام بهذا الأمر برمجيا لكن قبل ذلك يجب تفعيل خاصة ip forward فهي التي تسمح بتنقل حزم البيانات بين مختلف الواجهات interfaces


بعد ذلك ننتقل إلى توجيه رسائل ARP طبعا على افتراض أننا نعلم أي بي اراوتر و هذا أمر بديهي و كذلك أي بي الضحية و هذا الأمر ليس بالمستحيل خصوصا مع تقنيات فحص الشبكات و استكشاف الأجهزة المتصلة

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

باستعمال أداة driftnet يمكن للقرصان مشاهدة نفس الصور كما ترون أمامكم على الشاشة

إلى هنا ينتهي شرح اليوم لكن أريد اختتام الدرس ببعض الملاحظات
أولا ما شاهدتموه هو مثال عملي على المخاطر التي تنجر من الإتصال بشبكات عامة غير موثوقة على غرار نقاط الواي فاي المشبوهة أو التسلل إلى الشبكات الخاصة و التبجح بمهارات قرصة مزعومة فما يدريكم لعل صاحب نقطة الواي فاي قد جعل كلمة السر مكشوفة لاصطياد الأغبياء و المغفلين و هنا مضاد الفيروسات عادة ما يقف عاجزا في هذا النوع من الهجمات لا يمكنه فعل أي شيء ﻷن اﻷمر يتجاوز الحاسوب ليشمل البيانات المتبادلة في نطاق الشبكة المحلية اﻷمر يسير بصورة شفافة أمام أعين مضاد الفيروسات الذي لا يخامره شك أن
كل شيء على ما يرام ما دام لم يقم بكشف ملفات ملغمة أو ما شابه
فقط اﻷجهزة المخصصة لحمياة الشبكة يمكنها التصدي لهذه الهجمات بكفاءة و فاعلية
ثانيا الشرح يشير إلى مبدأ مهم في سلامة المعلومات يطلق عليه الدفاع في العمق حيث كما رأينا مجرد التواجد داخل شبكة محلية منعزلة نوعا ما لا يضمن الحماية التامة من الهجمات بل يجب أن نقوم بحماية البيانات نفسها فمثلا ما قمنا به من اعتراض للصور كان ممكنا نظرا لكون البيانات غير مشفرة ما يقوم به بروتوكول مثل https هو فرض طبقة من التشفير بين الخادم و العميل النهائي بطع النظر عن الشبكات الوسيطة و مع استخدام تشفير قوي سيتمكن القرصان من اعتراض البيانات عن طريق هذه التقنية لكنه لن يتمكن أبدا من فهم فحواها ما لم يتوفر على طريقة لكسر التشفير
هذه هو بالظبط مبدأ الدفاع في العمق ثالثا شرح اليوم استهدف ثغرة في حزمة بروتوكولات TCP/IP و يالتحديد في بروتوكول من الطبقة الثالثة و تتميز هذه الحزمة بخاصية انعدام الحالة نظرا لإهمال جانب الحماية عند تصميمها لذلك فإن أغلب آليات الحماية من هذه الهجمات تكون في فرض تحقق إجباري من هوية طرفي الإتصال
كما يمكن كذلك إدخال مدخلات ساكنة إى معطيات التبادل و منع تحديثها نهائيا أي في حالتنا إدخال معلومات الربط بين الأي بي و الMAC بشكل يدوي إن لم يكن في كامل أجهزة الشبكة فعلى الأقل الأجهزة الحساسة على غرار الراوتر و خادم DNS نعم حيث يمكن شن هجمات الرجل في المنتصف لاعتراض المحادثات بين الضحية و خادم DNS محلي و بالتالي يمكن للقرصان
ربط عنوان أي بي يحتوى على أمور ضارة مع إسم دومين موثوق و مستخدم بكثرة على غرار مواقع التواصل أو محركات البحث
أرجو أن يكون الشرح سلسا و مفهوما هذه المرة كما أنتظر استفساراتكم و ردود أفعالكم بشغف
دمتم بود
بالنسبة للبرامج انا شخصيا استعمل برنامج Xarp يكشف اذا قام احدهم بعمل هجمة ويقوم بتحذيرك



أسعار البناء في تونس 2019 سعر بناء بيت كامل
الهندسة العكسية : كسر حماية برنامج بسيط