يعمل البروتوكول DHCP على تخصيص العناوين IP address بشكل أوتوماتيكي لكل الأجهزة ضمن الشبكة . يعرفكم روبودين في هذا المقال على على الهجمات التي تستهدف DHCP واجراءات وطرق الحماية منها.
DHCP Starvation Attack:
هذا الهجوم عندما يقوم المهاجم بإغراق سيرفر DHCP بعدد كبير جداً من طلبات DHCP discovery لاستخدام كل عناوين IP المتاحة وعندها لن يكون السيرفر قادر على تأمين المزيد من عناوين IP. وهذا سيؤدي لهجوم منع الخدمة DoS Attack ولن يستطيع المستخدم الشرعي الاتصال بالشبكة لانه لن يكون قادر على الحصول على عنوان IP.
هذا الهجوم يمكن أن يتم باستخدام أدوات مثل Yersinia أو يمكن القيام به بشكل يدوي من خلال كتابة كود برمجي لتنفيذ هذه المهمة.
تنفيذ الهجوم DHCP Starvation:
للقيام بهذا الهجوم باستخدام أداة Yersinia نحتاج أولاً لتنصيب هذه الأداة على الكالي kali
ومن ثم يمكننا تشغيل هذه الأداة كواجهة رسومية من خلال إضافة الخيار -G
يُستخدم هذا النوع من الهجمات من قبل المهاجم لربط الهدف مع سيرفر DHCP بديل. و يؤدي بالتالي لهجوم رجل في المنتصف MITM Attack – Man-in-the-Middle
لنقم بعرض جدول عناوين MAC ضمن السويتش قبل تنفيذ الهجوم:
ولنقم أيضاً بعرض جدول عناوين MAC ضمن السويتش بعد تنفيذ هذا الهجوم
كما تلاحظ فإن الجدول قد امتلئ بقيم عناوين وهمية ولن يتمكن أي جهاز جديد من الحصول على عنوان IP والاتصال بالشبكة
الهجمات على DHCP- طريقة تنفيذ الهجوم بشكل يدوي:
قد يقوم القراصنة بتنفيذ هذا الهجوم بشكل يدوي من خلال كتابة سكريبت بلغة البايثون يقوم بخلق طلبات DHCP وهمية وارسالها بشكل متكرر مع عناوين MAC وهمية لإغراق سيرفر DHCP واستنفاذ كل عناوين IP المتاحة لديه. و قمنا بمحاكاة ذلك في بيئة الاختبار (نظام التشغيل كالي لينكس جهاز المهاجم)
في البداية لنقم باستيراد scapy . إن لم تكن منصبة مسبقاً يمكنك تنصيبها باستخدام التعليمة التالية على نظام كالي لينكس
لنقم بخلق طلبات DHCP Discover لها:
- عنوان الوجهة broadcast
- عنوان MAC عشوائي كعنوان للمصدر
- عنوان IP للمصدر 0.0.0.0 (آلية عمل طلبات DHCP – الجهاز لا يملك عنوان IP ويرغب بالحصول على عنوان من سيرفر DHCP)
- Source port = 68
- Destination port = 67
- نوع الرسالة DHCP discover
وبعد خلق هذا الطلب لنقم بتكرار إرساله عبر كرت الشبكة eth0. الآن لنقم بتنفيذ الكود الخاص بعملية الهجوم
أثناء تنفيذ الهجوم لنقم بمراقبة حركة البيانات باستخدام التعليمة tcpdump
كما تلاحظ لقد قمنا بإغراق سيرفر DHCP بالطلبات باستخدام عناوين MAC وهمية وأي جهاز جديد يحاول الاتصال بنفس الشبكة لن يكون قادر على الحصول على عنوان IP من سيرفر DHCP
الهجمات على DHCP باستخدام سيرفر DHCP مخادع:
بعد تنفيذ DHCP Starvation Attack يمكن للمهاجم استكمال الهجوم كرجل في المنتصف MitM Attack إذا نجح بوضع سيرفر DHCP مخادع ضمن الشبكة وخارج عن سيطرة مدير الشبكة.
وهذا السيرفر سيبدو على أنه سيرفر شرعي وسيعمل على تقديم عناوين IP ومعلومات الشبكة (مثل default gateway) الأخرى للأجهزة داخل الشبكة. وعندها فإن الأجهزة داخل الشبكة ستتصل بالاعتماد على معلومات وقيم مخادعة تؤدي لوصول المهاجم لهجوم رجل في المنتصف MitM Attack .وهجمات أخرى. وذلك كون حزم البيانات المرسلة من قبل المستخدم ستمر أولاً على سيرفر أو جهاز مخادع خاص بالمهاجم.
يتم هذا الهجوم عندما يقوم المهاجم بإنشاء أو نشر سيرفر مخادع داخل الشبكة وهذا السيرفر سيقوم بالرد على طلبات DHCP Discovery الخاصة بالمستخدمين. ومن الممكن أن يتم الرد على هذه الطلبات من قبل سيرفر DHCP المخادع وسيرفر DHCP الشرعي. والمستخدم سيتعامل مع الرد الذي يصله أولاً. يمكننا تنفيذ هجوم منع خدمة على سيرفر DHCP الشرعي لمنعه من الرد على طلبات المستخدمين.
الرد االقادم من سيرفر DHCP المخادع سيخصص عنوان IP للوجهة الافتراضية default gateway لتكون جهاز المهاجم .وعندها فإن المهاجم سيتلقى كل حركة البيانات الصادرة عن المستخدم وسيعمل على توجيهها إلى الوجهة الافتراضية الصحيحة. حينها لن يشعر المستخدم بأي خلل. وبالتالي فمن الصعب عليه اكتشاف أنه قد تعرض للهجوم. وفي بعض الأحيان فإن سيرفر DHCP المخادع يقوم بتوجيه المستخدم لزيارة موقع مزور كمحاولة منه للحصول على معلومات تسجيل الدخول أو لإصابة جهازه ببرمجيات خبيثة.
للتخفيف من مثل هذا النوع من الهجمات يمكننا ضبط المنافذ الخاصة بالمستخدمين والغير مرتبطة بسيرفر DHCP الشرعي و تعريفها على أنها منافذ غير موثوقة untrusted ports.
الحماية من الهجمات على DHCP:
للحماية من هجوم DHCP Starvation Attack يمكننا تطبيق port security والتي ستعمل على الحد من العدد الأعظمي لعناوين MAC المسموح لها الاتصال عبر المنفذ الخاص بالسويتش. وعندما تتم هذه العملية فإن السويتش سيقوم باستبعاد كل طلبات عناوين MAC المتتالية
التعليمات الخاصة بتفعيل port security:
تحديد عدد عناوين MAC المسموح لها بالاتصال بمنفذ السويتش بعنوان واحد فقط
Switchport mode access
switchport port-security
switchport port-security maximum 1
switchport port-security violation restrict
التعليمة أعلاه تحدد المهمة التي يجب القيام بها بعد اكتشاف الاختراق. وهنا ستقوم بعملية استبعاد حزم البيانات التي لها عناوين مصدر غير معروفة. ثم نستخدم التعليمة التالية لضبط قيمة الوقت للسماح لعنوان MAC الآمن بالاتصال بعد دقيقتين.
switchport port-security aging time 2
و لعدم السماح بالاتصال ننفذ ما يلي:
switchport port-security aging type inactivity
ثم هذه التعليمة لتحديد عنوان MAC للجهاز المتصل بشكل اتوماتيكي
switchport port-security mac-address sticky
لنقم بعرض الإعدادات الخاصة بطريقة الحماية port security للتأكد من أن عملية التفعيل تمت بنجاح.
لنقم بتنفيذ هجوم DHCP Starvation مرة أخرى وسنرى أنه فشل وجدول العناوين ضمن السويتش لم يتأثر.
الحماية من هجوم سيرفر DHCP المخادع:
تتم الحماية ضد مثل هذا النوع من الهجمات باستخدام تقنية تدعى DHCP Snooping. تعمل هذه التقنية من خلال تحديد المنفذ الذي يتصل من خلاله سيرفر DHCP الشرعي على أنه منفذ موثوق وباقي المنافذ على أنها منافذ غير موثوقة.
وعندها سيتم منع الرد على طلبات DHCP Discover من قبل هذه المنافذ والسماح بالرد فقط عبر المنافذ الموثوقة بذلك فإن سيرفر DHCP المخادع الخاص بالمهاجم لن يستطيع الرد على طلبات DHCP Discover الخاصة بالمستخدمين
التعليمات الخاصة بتطبيق DHCP Snooping:
ip dhcp snooping
ip dhcp snooping vlan [number] | vlan {vlan range}
المنفذ المتصل من خلاله سيرفر DHCP الموثوقip dhcp snooping trust
ip dhcp snooping trust
تحديد عدد حزم DHCP بالثانية التي يمكن أن يتلقاها المنفذ
ip dhcp snooping limit rate
للتأكد من الإعدادات
end
show ip dhcp snooping
للتأكد من الإعدادات
تعرفنا في هذا المقال على الهجمات الخاصة بالبرتوكول DHCP والإجراءات وطرق الحماية المضادة لها.