التقاط حزم البيانات المارة بالشبكات packets sniffing

الدرس الرابع تسميم بروتوكول آرب ARP poisoning

القسم الثاني

السلام عليكم بطيت عنكم كما يقال في بلاد شنقيط, اليوم سنتقدم بعض الشيئ في الدورة التركيز على هذا الدرس مطلوب, بالنسبة للقراء الجدد تفضلوا هذه لينكات الدروس السابقة :

الدرس الاول – مدخل الى packets sniffing

الدرس الثاني – كيفية عمل السويتش LAN Switch

الدرس الثالث – هجوم MAC flooding

الدرس الرابع تسميم بروتوكول آرب ARP poisoning القسم الاول

في القسم الاول من عملية تسميم بروتوكول آرب وضعت سيناريو تواجد ثلاثة اجهزة A B C  واعتبرت ان الجهاز C يمثل المهاجم لكي ننجح في عملية التقاط الحزم يجب ان تمر عبر جهازنا يا ترى كيف يمكننا الاستفادة من نقطة ضعف ARPو القيام بهذا الهجوم ؟

ما سأقوم به هو خداع كل من الجهازين A و B سأخبر الجهاز A ان العنوان المنطقي او IP الجهاز B يتواجد عند العنوان الفيزيائي للجهاز C و ذلك بارسال حزمة استجابة مزورة ARP response الى الجهاز A  و سأخدع كذلك الجهاز Bو اخبره ان A يتواجد عند العنوان الفيزيائي ل C كما في الصورة التالية :

الآن دعوني اقوم بانشاء الحزم المزوة قبل ذلك يجب ان نلتقط حزمة استجابة ARP Response Packet لنستخدمها كقالب لتزوير الحزم و لهذا سأسخدم برنامج wireshark و اقوم بعمل ping على احد اجهزة الشبكة كما هو موضح في الصورة التالية :

عند اختيار الحزمة السابقة بالضغط عليها تظهر معلومات حزمة الاستجابة ARP Response :

الآن سأقوم بتفصيل الحقول لاحظو معي الصورة التالية و التي تمثل جزء ايثيرنت Ethernet من الحزمة :

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

الآن بقي لنا الجزء من الحزمة المخصص لبروتوكول ARP و الذي سنقوم ايضا بتعديله لاحقا في هذا الدرس :

الصورة السابقة كانت لبيانات المرسل عنوانه الفيزيائي و عنوانه المنطقي الآن سأوضح اين تتواجد بيانات المستقبل في جزء ARP من الحزمة :

الآن و قد انتهينا من توضيح اهم حقول حزمة ARP Response سنقوم بتعديلها قبل ذلك في نافذة wireshark ارجو الضغط على سطر frame بزر الفأرة الايمن و من ثم اختيار Export Selected Packet Bytes و ذلك لحفظ بايتات الحزمة في ملف ليتسنى لنا تعديلها :

بالنسبة لي حفظت البايتات في ملف اسميته arp_reply الآن سأستخدم محرر الهكس hexedit لتعديل الملف و لهذا يجب تطبيق الامر التالي :

hexedit -b arp_reply

الخيار b يعني buffer و هو لتحميل الملف بشكل كلي الى الذاكرة ليسهل التعامل معه بعد تطبيق الامر ستظهر الشاشة التالية :

اوكي الآن و قبل البدأ في تعديل حزمة الاستجابة و انشاء حزمنا المزورة سأوضح السيناريو كما قلت سابقا الجهاز C هو المهاجم اذا كل حقل يعني المرسل sender في الحزمة سيأخذ بيانات الجهاز C ما عدا حقل واحد و هو الآيبي لماذا ؟

ان لم تعرف الجواب اخي القارئ انصحك بالعودة للدروس السابقة ,,, عملية الخداع بسيطة و هي ان الجهاز C سيرسل حزمة حقل المرسل فيها و الذي يحتوي على العنوان الفيزيائي سيكون عنوانه اما العنوان المنطقي او الآيبي فسيكون عنوان الجهاز الذي ننتحل شخصيته فاذا وصلت الحزمة الى الجهاز الهدف اي الذي سنقوم بخداعه سوف يقوم بتعديل جدول ARP اي ARP cache table واضافة عنوان المهاجم الفيزيائي مقابل عنوان آيبي الجهاز المخدوع بعد ذلك اي برنامج يحاول ارسال بيانات الى آيبي جهاز المخدوع سيقوم بتمريرها الى جهاز المهاجم و هو C  في هذه الحالة :

اذا يجب علينا الحصول على معلومات الاجهزة وهو امر بسيط نعمل ping على كل من A و B و بعد ذلك نتفقد جدول ARP في جهازنا للحصول على العناوين الفيزيائية :

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

لننشئ الآن الحزم قبل ذلك سأريكم بنية حزمة الاستجابة للمرة الاخيرة :

البايتات المحاطة بالمربعات الحمراء سنضع فيها العنوان الفيزيائي للهدف فاذا اردنا خداع A سيكون عنوانه هناك

البايتات المحاطة باللون الابيض سنضع فيها العنوان الفيزيائي لجهاز الهجوم C

البايتات المحاطة باللون الاسود سنضع فيها آيبي الهدف

البايتات المحاطة باللون الاصفر سنضع فيها عنوان آيبي الجهاز الذي سننتحل شخصيته فاذا اردنا خداع A فسنضع عنوان آيبي الجهاز Bاذكر فقط انه يجب تحويل العنوان من النظام العشري الى النظام السداس عشري Hexadecimal

اليكم الآن محتويات ملفين arp_reply_a و arp_reply_b كل واحد منهما يحتوي على حزمة مزورة لخداع الهدف :

ملف خداع الجهاز A

ملف  خداع الجهاز B

انتهت مرحلة التعديل بقي لنا ارسال البايتات هناك اداة جميلة يمكنها حقن الحزم الجاهزة في بطاقة الشبكة الاداة تدعى file2cable و لاستخدامها سنطبق الامر التالي :

file2cable -i <interface> -f  file

مكان interface نضع واجهة الشبكة المستخدمة و مكان file اسم الملف الذي يحتوي على البايتات

بعد تطبيق الامر السابق سيتم ارسال البايتات الى الهدف المعني مما يرغمه على تعديل جدول آرب , لكن هذه التغييرات لن تبقى طويلا مما يتطلب تسميم الجدول كل ثانيتين على سبيل المثال, يمكن عمل باش سكربت يقوم بالعملية :

#!/bin/bash

while  [  true  ] ;

do

file2cable -i <interface> -f arp_reply_a;

file2cable -i <interface> -f arp_reply_b;

sleep 2;

done

لا تنسوا وضع اسم الواجهة مكان interface

الآن لنحفظ السكربت في ملف ونعطيه تصريح التنفيذ بالامر

chmod +x filename

بعد ذلك نقوم بتشغيله كما في الصورة :

لننتقل الى واجهة wireshark و نرى ماذا يحدث :

بقي امر مهم , كل مافعلناه فوق سيوقع الشبكة في ما يعرف بنكران الخدمة DoS لأننا لم نقم بتفعيل خاصية ip forwarding في جهازنا لتمرير الحزم ولكن ذلك بسيط جدا بتطبيق الامر التالي :

echo 1 > /proc/sys/net/ipv4/ip_forward

الى هنا ينتهي درسنا اليوم ,,, و مرحبا بأي ملاحظات

مع تحياتي اخوكم حسين…

تعليق واحد

Filed under Uncategorized

One response to “التقاط حزم البيانات المارة بالشبكات packets sniffing

  1. Bullet_proof

    good job Ahoss!!
    keep up the good work
    ^^
    Bu11et_Pr00f

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار ووردبريس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google photo

أنت تعلق بإستخدام حساب Google. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s