
إطار عمل هجمات الشبكة من الطبقة الثانية لاستغلال بروتوكولي STP وCDP، مما يتيح هجمات حجب الخدمة (DoS)، اختطاف دور الجذر، وهجمات استنزاف الذاكرة على مفاتيح سيسكو.
لنرسل بعض BPDUs التكوينية مدّعين أننا الجذر!!! من خلال الإرسال المستمر لـ BPDUs التكوينية مع تكلفة مسار جذر 0،
ومعرفات جسر (bridge id) مولّدة عشوائياً (وبالتالي نفس معرف الجذر)، وبعض القيم الافتراضية للحقول الأخرى، نحاول
إزعاج المفاتيح القريبة منا، مما يسبب حجب خدمة (DoS) عند محاولتها تحليل وإعادة حساب محركات STP الخاصة بها.
MAC المصدر: مولّد عشوائياً.
MAC الوجهة: 01:80:c2:00:00:00
معرف الجسر (Bridge ID): 8000:source_mac
معرف الجذر (Root ID): 8000:source_mac
مدة الترحيب (Hello time): 2
تأخير التوجيه (Forward delay): 15
الحد الأقصى للعمر (Max age): 20
تكلفة مسار الجذر (Root pathcost): 0
<output from the cisco log>
01:20:26: STP: VLAN0001 heard root 32768-d1bf.6d60.097b on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-9ac6.0f72.7118 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-85a3.3662.43dc on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-3d84.bc1c.918e on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-b2e2.1a12.dbb4 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-4ba6.2d45.5844 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-deb0.4f14.7288 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-4879.8036.0e24 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-2776.e340.9222 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-299e.de76.c07d on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-d38b.bc5b.e90d on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-78ee.0205.afdb on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-b32b.e969.81b1 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-b16b.c428.88a3 on Fa0/8
01:20:26: STP: VLAN0001 heard root 32768-dd01.1436.9044 on Fa0/8
</output>
هذا الهجوم يرسل باستمرار BPDUs من نوع التغيير الطوبولوجي (TCN)، مما يتسبب في إرسال المفتاح الجذر لـ BPDUs تكوينية تأكيداً للتغيير.
بالإضافة إلى ذلك، سيرسل المفتاح الجذر إشعارات التغيير الطوبولوجي إلى أعضاء الشجرة، وسيتعين عليهم
إعادة حساب محرك STP الخاص بهم لمعرفة التغيير الجديد.
MAC المصدر: مولّد عشوائياً.
MAC الوجهة: 01:80:c2:00:00:00
<output from the cisco log>
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
01:35:39: STP: VLAN0001 Topology Change rcvd on Fa0/8
</output>
هدفنا هذه المرة هو الحصول على دور الجذر في الشجرة. كيف يمكننا تحقيق ذلك؟ فقط بالاستماع إلى الشبكة
لمعرفة من هو الجذر الحالي، ثم البدء في إرسال BPDU تكوينية بأولوية أقل لنصبح نحن الجذر.
MAC المصدر: نفس MAC الـ BPDU المستنشقة.
MAC الوجهة: نفس MAC الـ BPDU المستنشقة.
معرف الجسر (Bridge ID): نفس المعرف المستنشق مع تعديل طفيف ليكون له أولوية أقل.
معرف الجذر (Root ID): 8000: نفس معرف الجسر.
مدة الترحيب (Hello time): نفس القيمة المستنشقة.
تأخير التوجيه (Forward delay): نفس القيمة المستنشقة.
الحد الأقصى للعمر (Max age): نفس القيمة المستنشقة.
تكلفة مسار الجذر (Root pathcost): نفس القيمة المستنشقة.
<output from the cisco log>
01:58:48: STP: VLAN0001 heard root 32769-000e.84d4.2280 on Fa0/8
01:58:48: supersedes 32769-000e.84d5.2280
01:58:48: STP: VLAN0001 new root is 32769, 000e.84d4.2280 on port Fa0/8, cost 19
</output>
نتظاهر بأننا مفتاح غريب آخر يلعب مع STP ويُعجب بمعرف جذره :)
بإرسال BPDUs تكوينية مع خفض أولويتها تلقائياً، يمكننا التسبب في انتخابات لا نهائية للجذر في شجرة STP.
سيكون الأمر مشابهاً لإعادة فرز أصوات الانتخابات لتحديد الفائز (هل تذكرون فلوريدا؟)
<output from the cisco log>
00:20:21: STP: VLAN0001 heard root 32769-000e.84d4.2280 on Fa0/9
00:20:21: supersedes 32769-000e.84d5.2280
00:20:21: STP: VLAN0001 new root is 32769, 000e.84d4.2280 on port Fa0/9, cost 19
00:20:23: STP: VLAN0001 heard root 32769-000e.84d3.2280 on Fa0/9
00:20:23: supersedes 32769-000e.84d4.2280
00:20:23: STP: VLAN0001 new root is 32769, 000e.84d3.2280 on port Fa0/9, cost 19
00:20:25: STP: VLAN0001 heard root 32769-000e.84d2.2280 on Fa0/9
00:20:25: supersedes 32769-000e.84d3.2280
00:20:25: STP: VLAN0001 new root is 32769, 000e.84d2.2280 on port Fa0/9, cost 19
00:20:27: STP: VLAN0001 heard root 32769-000e.84d1.2280 on Fa0/9
00:20:27: supersedes 32769-000e.84d2.2280
00:20:27: STP: VLAN0001 new root is 32769, 000e.84d1.2280 on port Fa0/9, cost 19
00:20:29: STP: VLAN0001 heard root 32769-000e.84d0.2280 on Fa0/9
00:20:29: supersedes 32769-000e.84d1.2280
00:20:29: STP: VLAN0001 new root is 32769, 000e.84d0.2280 on port Fa0/9, cost 19
00:20:31: STP: VLAN0001 heard root 32769-000e.84cf.2280 on Fa0/9
00:20:31: supersedes 32769-000e.84d0.2280
00:20:31: STP: VLAN0001 new root is 32769, 000e.84cf.2280 on port Fa0/9, cost 19
00:20:33: STP: VLAN0001 heard root 32769-000e.84ce.2280 on Fa0/9
00:20:33: supersedes 32769-000e.84cf.2280
00:20:33: STP: VLAN0001 new root is 32769, 000e.84ce.2280 on port Fa0/9, cost 19
00:20:35: STP: VLAN0001 heard root 32769-000e.84cd.2280 on Fa0/9
00:20:35: supersedes 32769-000e.84ce.2280
00:20:35: STP: VLAN0001 new root is 32769, 000e.84cd.2280 on port Fa0/9, cost 19
00:20:37: STP: VLAN0001 heard root 32769-000e.84cc.2280 on Fa0/9
00:20:37: supersedes 32769-000e.84cd.2280
00:20:37: STP: VLAN0001 new root is 32769, 000e.84cc.2280 on port Fa0/9, cost 19
00:20:39: STP: VLAN0001 heard root 32769-000e.84cb.2280 on Fa0/9
00:20:39: supersedes 32769-000e.84cc.2280
00:20:39: STP: VLAN0001 new root is 32769, 000e.84cb.2280 on port Fa0/9, cost 19
</output>
هذه المرة نحاول استنزاف عملية انتخاب الجذر. نتمكن من أن نصبح الجذر في شجرة STP،
لكننا نتوقف عن إرسال BPDUs التكوينية حتى نصل إلى max_age ثانية (عادة 20)، مما يجبر
عملية انتخاب جديدة.