مقال : مبدأ عمل ARP poisoning و هجمات MITM
هناك الكثير من المواضيع التي تتحدث عن كيفية عمل ARP spoofing او ARP poisoning للشبكات و من ثم القيام بالكثير من الامور مثل هجمات MITM – Man In The Middle التي تمكننا من السيطرة على الاتصالات بين الاجهزة و الراوتر بشكل كامل مما يمكننا من سرقة جميع كلمات المرور و الكوكيز و الاطلاع على جميع الملعومات المرسلة في الشبكة , ليس هذا فقط بل بامكاننا التعديل على هذه المعلومات مثلا تحويل جميع اتصالات HTTPS الى HTTP و غيرها.
كل هذه الامور تعتمد على مبدأ عمل واحد و هو تسميم جداول ARP في الجهاز الهدف و في الراوتر , الفرق بين هذه الهجمات هو كيفية التعامل مع المعلومات التي يتم تجميعها من الشبكة بعد القيام بعملية التسميم , لذا نلاحظ في جميع هذه الهجمات أول خطوة نقوم بها هي القيام بتسميم الهدف و الراوتر ثم نقوم بتنفيذ الهجوم الذي نريده.
و لكن السؤال هو كيف يحدث هذا التسميم و كيف بامكاننا وضع جهازنا في وسط الاتصال بين اي جهاز في الشبكة و بين الراوتر ؟؟
الجواب يمكن في فهم طريقة عمل بروتوكول ARP أو Address Resolution Protocol.
ما هو ARP:
هو بروتوكول يستخدم من قبل الاجهزة الموجودة في الشبكة لربط عناوين الـIP للأجهزة الموجودة في نفس الشبكة بـMAC Address الخاصة بكل جهاز مما يمكن هذه الاجهزة من الاتصال ببعضها و تناقل المعلومات بينها.
يحتوي هذا البروتوكول على 4 اوامر بسيطة:
1. ARP request: هذا هو امر الطلب و يتسخدم لطلب عنوان الماك باستخدام الاي بي.
مثال: نفرض ان جهازك يريد التواصل مع جهاز صاحب العنوان 192.168.1.5 فسيقوم جهازك بارسال الطلب التالي “من يملك العنوان 192.168.1.5”
2. ARP response: هذا هو امر الاستجابة بحيث يستجيب الجهاز الذي يملك الاي بي المطلوب و يرسل الماك ادرس الخاص به الى الجهاز الذي طلبه
مثال: يقوم الجهاز صاحب العنوان 192.168.1.5 بارسال الاستجابة التالية الى جهازك “انا صاحب هذا الاي بي و الماك ادرس الخاص بي هو 00:11:22:33:44:55”
3. RARP request: نفس امر الطلب الاول و لكن معكوس بحيث يتم الحصول على الاي بي من خلال الماك ادرس
4. RARP response: نفس امر الاستجابة الثاني و لكن معكوس بحيث يتم ارسال الاي بي بدلا من الماك ادرس
جميل الان فهمنا كيفية عمل بروتوكول ARP , فعندما يحتاج جهاز من التواصل مع جهاز اخر يرسل رسالة الى جميع الاجهزة الموجودة في الشبكة يسئلهم عن ماك ادرس الجهاز الذي يريد التواصل معه , هذا الجهاز يقوم بالاستجابة من خلال ارسال الماك ادرس الخاص به الى الجهاز الذي طلبه. طبعا لتسريع عمل الاجهزة كل جهاز يحتوي على جدول ARP يحتوي على جميع الاجهزة التي تم التواصل معها مسبقا , هذا الجدول يحتوي على اي بي كل جهاز و الماك ادرس الخاص بهذه الاجهزة. مثال على جدول ARP في جهازي:
مثل ما تشاهدون في الصورة فالجدول يحتوي على ايبي الراوتر و الماك ادرس الخاص بالروتر.
الان مثا ما شاهدنا فبروتوكول ARP رائع , فهو بسيط و سريع (لانه يحتفظ بقائمة الاجهزة المتصلة بكل جهاز في جدول) , و لكن هناك مشكلة واحدة , انه غير امين , فالجهاز الطالب يثق بالجواب الذي يتلاقاه دون التحقق من المصدر , ليس هذا و حسب ولكنه يقبل حزم الجوابات ARP response في اي وقت حتى و لو انه لم يرسل طلب في بداية الامر!!
هذا يعني انه بامكاننا تكوين حزمة جواب ARP response و ارسالها الى اي جهاز موجود في الشبكة و هذا الجهاز سيثق بمعلومات هذه الحزمة و سضعها في جدول ARP الموجود لديه.
هجمات MITM:
بامكاننا استغلال هذه المشكلة في بروتوكول ARP لنضع نفسنا في الوسط بين الراوتر و اي جهاز موجود في الشبكة مما يمكننا من الاطلاع على جميع الحزم المرسلة بين الجهازين , لنفرض ان اي بي جهازنا هو 192.168.1.66 و اي بي الجهاز الهدف هو 192.168.1.5 و اي بي الراوتر هو 192.168.1.1.
كل ما علينا فعله هو تكوين حزمتين من نوع ARP response الاولى نرسلها للروتر نخبره انه “انا 192.168.1.5 و الماك ادرس الخاص بي هو 00:11:22:33:44:55” و الثانية الى الجهاز الهدف نخبره بها “انا 192.168.1.1 و الماك ادرس الخاص بي هو 00:11:22:33:44:55” , الان كلا الجهازين سيصدقون كلامي و سيقومان بتحديث جداول ARP لديهم , الان الجهاز الهدف يظن انني الراوتر و الراوتر يظن انني الجهاز الهدف مما سيجعلني في الوسط بين الجهازين و بالتالي سأتمكن من الاطلاع على جميع الحزم المرسلة بين الجهازين.
لنأخذ مثال لتبسيط الصورة نفرض انه عندك صديقين احمد و علي , هذين الضديقين يصدقون كلامك بشكل اعمى , و لنفرض انك تريد ان تعرف كل شيء يقوله احمد لعلي و كل شيء يقوله علي لاحمد , فكل ما عليك فعله هو – بما انهم يصدقوم كلامك دون تشكيك – هو ان تقول لعلي انك احمد و تقول لاحمد انك علي , في هذه الحالة كل ما يريد احمد التواصل مع علي سيتواصل معك لانه يعتقد بانك علي و علي سيقوم بنفس الشيء.
ملاحظة: لنجاح الهجوم السابق يتوجب علينا تفعيل خاصية IP Forwarding و التي تمكن جهازنا من تمرير الحزم خلاله بحيث يتم وصل الجهاز الهدف بالراوتر و لن يتم قطع الاتصال عنه.
في الموضوع القادم سنتكلم عن كيفية اكتشاف هذا الهجوم في الشبكة و كيفية الحماية منه.
شكرا يا زيد على المقال الرائع .
الشرح مفهوم وواضح جدا
اتمنى ان نحول هذه المفاهيم الى امور برمجيه ونتاول طريقة تنفيذ مثل هذه الهجمات وفكرة العمل او فكرة الكود
لكي نجد مشاريع عربيه لأدوات امنية
تحياتي.
موضوع مميز طبعا شرح في المستوى –كنت أشك أنه سيطرح هدا الموضوع في المدونة نضرا لانه توجد دورة خاصة isnptمدفوعة — في انتضار حلول وحماية لمتل هده الهجومات والبروتوكولات التي تستعمل في الكشف والحماية وأيضا قائمة بالأدوات التي تستعمل
شكرا على المعلومات القيمية وسؤالي هو ماذا سوف يحصل في الشبكة لو ان الماك ادرس لجهازي اصبح نفس الماك ادرس للراوتر؟
علي الواشي: شكرا على المرور اخ علي
himos: شكرا لمرورك اخي , مشاركتي للمجتمع العلملي العربي ليس لها اي علاقة في الدورة و لن تأثر الدورة على هذا
zaid: في هذا الهجوم لا يتم تغيير الماك ادرس الخاص بجاهزك , كل ما نقوم به هو اخبار الاجهزة الاخرى هو ان جهازك هو الراوتر , يتم هذا من خلال اخبار ارسال حزمة جواب لهذه الاجهزة و اخبارها بانك الراوتر و صاحب الاي بي 192.168.1.1 (اي بي الراوتر) و الماك ادرس الخاص بي هو (الماك ادرس الحقيقي لجهازك)
معلومات رائعه ونفتقدها في عالمنا العربي الطريقه هذه كان هناك سيرفر خاص حاولت عدة مرات على كسر حمايته والوصول الى شي معين داخل السيرفر للاسف لم استطع قمت في فحص تطبيقاته البرمجيه بمجموعه من ادوات الفحص لان السكربت البرمجي قد تم برمجته برمجه خاصه فلم يكن في متناول اليد حتى استطيع تحليله وكان صاحب السيرفر ذكي ولديه خلفيه كبيره جدا في الحمائه فقد قام بحمائة السيرفر اكاد اجزم بشكل كلي حاولت بعدة طرق لم استطع سيطرة على سيرفر اخر على نفس الشبكة وقمت في تنفيذ سكربت برمجي استطعت من خلاله تنفيذ الهجمه وان اكون وسيطا لدى سيرفر الهدف وتمكنت من السيطره بشكل كلي على السيرفر ويمكن ايضا ان يزرع فايروس يبتدأ من تطبيق الويب حتى يصيب السيرفر ومن ثم يبدا في الوصول الى نطاقات اخرى * سأبدا باذن الله بعد شهر من دراستي للشبكات بشكل مفصل في الجامعه وحتى اصل مرحلة متقدمه سأبدأ في نشر ما لدي لكم بالتوفيق
للفائده اكثر http://webstersprodigy.net/category/pentest/
شكرا لحضرتك يابشمهندس علي الموضوع جزاك الله الجنه
كيف يمكننا التنفيذ ؟؟ هل احتاج لوجود الميتاسبلويت؟؟
السلام عليكم
لدي استفسار صغير
في هجوم mitm arp poison من خلال ettercap في خيارين
sniff remote connection
only poison one-way
ايش الفرق بينهم؟؟
برنامج جميل جدا ً طبقت عليه ونجحت بسرقة الكوكيز وبعض المعلومات من جهازي
بارك الله فيك اخ زيد … شرح وافي