New's

Thursday, August 19, 2010

هجوم الـ Vlan Hopping وكيف التصدى له ؟

 

موضوعي لهذا اليوم يتحدث عن أحد أنواع الهجمات التى تستهدف الـ Layer 2 Devices

وتدعى Vlan Hopping وتقوم فكرة هذا الهجوم باختراق قواعد الـ Vlan على الشبكة

وذلك بالسماخ لشخص معين موجود على Vlan2 مثلا بالدخول على Vlan 3 والأتصال بكل

الأجهزة الموجودة هناك لأننا كما نعلم أن أحد مميزات الـ Vlan هي عزل الأجهزة عن بعضها

البعض

لهذا النوع من الهجمات حتى هذه اللحظة طريقتان

الطريقة الأولى : Switch Spoofing

كما نعلم جميعا أن وظيفة الـ Trunk Port هي السماح بالأتصال بين جميع الـ Vlans

الموجودة في السويتش مع نفس الـ Vlans الموجودة على سويتش آخر وذلك بوسم كل Traffic

ذاهب الى السويتش الآخر برقم الـ Vlan التى أرسلت منه وهذا بدوره يعطي

الـ Trunk Port

القدرة على الأتصال بكل الـ Vlans الموجودة على الشبكة لنتخيل أول حالات

هذه الهجوم

يقوم العابث الموجود على PC1 بعمل سويتش وهمي أو يقوم بوصل سويتش حقيقي على

الجهاز مخبر السويتش Aبأنه Trunk Port وهذا بدوره يعطي العابث الصلاحيات في

الوصول إلى كل الأجهزة الموجودة على الشبكة بالأضافة إلى أمكانية التنصت على كل الباكيت

المرسلة بين الـ Vlansوالسبب طبعا لان البورتات الموجودة في السويتش A تكون في حالة auto

مع الطرف الآخر فهو يستجيب لك أذا أخبرته أنك سويتش وأنك Trunk Port

وللتصدي لهذا النوع تقوم بكتابة أمر واحد على كل Interface موصول مع Host

Cisco's IOS
SwitchA#conf t
SwitchA(config)#interface fastethernet 0/1
SwitchA(config-if)#switchport mode access

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

بروتوكول الـ DTP أو Dynamic Trunk Protocol وظيفة هذا البروتوكول بأختصار

هي تحديد نوع الـ Trunk Protocol الذي يجب أستخدامه بشكل أوتماتيكي أي تحديد هل

يجب أستخدام 802.1Q أو ISL وهو يعمل Be default على كل البورتات الموجودة على

السويتش وهذا مايستغله العابث بشكل جيد فهو يقوم بأرسال DTP Packet إلى السويتش

مخبرا ايأه بأنه ييستخدم بروتوكول 802.1Q مثلا ليتحول الـ Port إلى Trunk Port

بشكل أوتماتيكي حتى لو كنا قد طبقنا الأمر السابق ولأيقاف هذه البروتوكول عن العمل نقوم

بتنفيذ الأمر التالي

Cisco's IOS
SwitchA(config)# interface fastethernet 0/1
SwitchA(config-if)# switchport mode trunk
SwitchA(config-if)# switchport nonegotiate

وفيه أخبر البورت بأن لايقوم بالتفاوض مع الطرف الآخر حول نوع الروتوكول الذي يجب

أستخدامه

الطريقة الثانية : Double Tagging

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

قمنا بعمل كل الخطوات السابقة وهي ببساطة تقوم على مبدأ أرسال باكيت تم وسمها مرتان

بي 802.1Q tags وعندما تصل الباكيت الى السويتش A يقوم السويتش بأزالة الـ Tag

الخارجي فقط ويقوم بأرسالها الى السويتش B كا untagged packet وعندما تصل إلى

السويتش B تصل وهي تحمل الـ Tag الداخلي الذي تم أعداده من قبل وليقوم السويتش

بعدها بأيصال الباكيت إلى المكان المطلوب

يمكن التصدي لهذا النوع من الهجوم بأرسال كل باكيت Untagged إلى Vlan تم أعداده

مسبقا وغير مستخدمه لأي شيء ويتم ذلك من خلال الأمر التالي

Cisco's IOS
SwitchA(config)# interface fastethernet 0/1
SwitchA(config-if)# switchport trunk native vlan 210

بحيث

210 هي Vlan غير مستخدمه لأي شيء

No comments:

Post a Comment