Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
yersinia — إطار عمل هجمات الشبكة من الطبقة الثانية لاستغلال بروتوكولي STP وCDP، مما يتيح هجمات حجب الخدمة (DoS)، اختطاف دور الجذر، وهجمات استنزاف الذاكرة على مفاتيح سيسكو. | Kitploit
أدوات/GitHubGitHub/tomac/yersinia
التهرب من IDS/IPSأمن الشبكاتاختبار الاختراقالفريق الأحمر
GitHubtomac/yersinia

yersinia

إطار عمل هجمات الشبكة من الطبقة الثانية لاستغلال بروتوكولي STP وCDP، مما يتيح هجمات حجب الخدمة (DoS)، اختطاف دور الجذر، وهجمات استنزاف الذاكرة على مفاتيح سيسكو.

عرض المستودع
861139منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Build Status

الشجرة الممتدة

1: هجوم حجب الخدمة بإرسال BPDUs تكوينية (conf)

root@kitploit:~
لنرسل بعض 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>

2: هجوم حجب الخدمة بإرسال BPDUs (tcn)

root@kitploit:~
هذا الهجوم يرسل باستمرار 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>

3: هجوم غير حجب خدمة (Non-DOS) المطالبة بدور الجذر

root@kitploit:~
هدفنا هذه المرة هو الحصول على دور الجذر في الشجرة. كيف يمكننا تحقيق ذلك؟ فقط بالاستماع إلى الشبكة
لمعرفة من هو الجذر الحالي، ثم البدء في إرسال 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>

4: هجوم غير حجب خدمة المطالبة بدور غير الجذر

نتظاهر بأننا مفتاح غريب آخر يلعب مع STP ويُعجب بمعرف جذره :)

5: هجوم حجب الخدمة يسبب انتخابات جذر أبدية

root@kitploit:~
بإرسال 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>

6: هجوم حجب الخدمة يسبب اختفاء الجذر

root@kitploit:~
هذه المرة نحاول استنزاف عملية انتخاب الجذر. نتمكن من أن نصبح الجذر في شجرة STP،
لكننا نتوقف عن إرسال BPDUs التكوينية حتى نصل إلى max_age ثانية (عادة 20)، مما يجبر
عملية انتخاب جديدة.

<output from the cisco log>
02:02:43: STP: VLAN0001 heard root 32769-000e.84d4.2280 on Fa0/9
02:02:43:     supersedes 32769-000e.84d5.2280
02:02:43: STP: VLAN0001 new root is 32769, 000e.84d4.2280 on port Fa0/9, cost 19
02:03:03: STP: VLAN0001 we are the spanning tree root
02:03:04: STP: VLAN0001 heard root 32769-000e.84d4.2280 on Fa0/9
02:03:04:     supersedes 32769-000e.84d5.2280
02:03:04: STP: VLAN0001 new root is 32769, 000e.84d4.2280 on port Fa0/9, cost 19
02:03:04: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:06: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:08: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:10: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:12: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:14: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:16: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:18: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:20: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:22: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:24: STP: VLAN0001 we are the spanning tree root
02:03:24: STP: VLAN0001 heard root 32769-000e.84d4.2280 on Fa0/9
02:03:24:     supersedes 32769-000e.84d5.2280
02:03:24: STP: VLAN0001 new root is 32769, 000e.84d4.2280 on port Fa0/9, cost 19
02:03:24: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:26: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:28: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:30: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:32: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:34: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:36: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:38: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:40: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:42: STP: VLAN0001 sent Topology Change Notice on Fa0/9
02:03:44: STP: VLAN0001 we are the spanning tree root
</output>

التخفيف (خاص بـ Cisco فقط)

  • استخدم أمان المنفذ (port security) وعطّل STP في المنافذ التي لا تحتاج STP. لمزيد من المعلومات حول أمان المنفذ، يرجى مراجعة الرابط التالي: http://www.cisco.com/en/US/products/hw/switches/ps628/products_configuration_guide_chapter09186a0080150bcd.html

  • إذا كنت تستخدم ميزة portfast في تهيئة STP الخاصة بك، قم بتمكين أيضاً حارس BPDU (BPDU guard) لتجنب هذه الهجمات عندما يدخل المنفذ تلقائياً حالة التوجيه (forwarding state): http://www.cisco.com/warp/public/473/65.html

  • استخدم ميزة حارس الجذر (root guard) لتجنب الأجهزة المارقة من أن تصبح جذراً: http://www.cisco.com/en/US/tech/tk389/tk621/technologies_tech_note09186a00800ae96b.shtml

قراءة إضافية

  • رسالة الماجستير الجميلة لـ Guillermo Marro: http://seclab.cs.ucdavis.edu/papers/Marro_masters_thesis.pdf

  • Oleg K. Artemjev, Vladislav V. Myasnyankin. Fun with the Spanning Tree Protocol http://phrack.org/issues/61/12.html

CDP

أجهزة Cisco تتحدث دائماً بلغة مختلفة للتواصل فيما بينها، لتخبر الجميع بأنها لا تزال حية وما الميزات الرائعة التي تمتلكها. CDP هو اختصار لـ Cisco Discovery Protocol. من خلال هذه اللغة الخاصة، تقوم أجهزة Cisco بإنشاء عالم افتراضي حيث الجميع سعداء ولا توجد جريمة على الإطلاق. أو على الأقل يبدو الأمر كذلك، لأن العديد من مسؤولي الشبكات لا يقلقون بشأن CDP بعد. على الرغم من أن بعض المعلومات التي يمكن إرسالها في حزمة CDP لا تزال غير موثقة (CDP هو بروتوكول مملوك ويبدو أن Cisco لا تريد تقديم تفاصيل عنه)، إلا أن هناك هجوماً قديماً واحداً على الأقل (لا يزال صالحاً) معروفاً، ويوجد تطبيق عام له (قام به FX!).

هذا الهجوم هو حجب خدمة (DoS) يحاول استنزاف ذاكرة الجهاز بحيث لا يستطيع تخصيص المزيد من الذاكرة لأي عملية من عمليات الجهاز. كيف يمكننا القيام بذلك؟ ببساطة عن طريق إرسال حزم CDP ببيانات مزيفة تحاكي أجهزة Cisco حقيقية. سيبدأ الجهاز الهدف في تخصيص ذاكرة في جدول CDP الخاص به لحفظ معلومات الجار الجديد، دون أن يعلم أنه سيكون لديه آلاف أو ملايين الأصدقاء الجدد.

هجوم آخر تم تنفيذه في الكود الحالي هو القدرة على إنشاء جهاز Cisco افتراضي جديد مخصص فقط لإحداث فوضى صغيرة، محاولاً إرباك مسؤولي الشبكات.

لقطة شاشة للهجوم وهو يعمل:

مخرجات جهاز توجيه Cisco 2503:

root@kitploit:~
athens#sh mem
               Head   Total(b)    Used(b)    Free(b)  Lowest(b) Largest(b)
Processor     4873C    3893444    3893444          0          0          0
I/O          400000    2097152    2097088         64         64         64

<log>
%SCHED-3-THRASHING: Process thrashing on watched queue 'CDP packets' (count 57).
-Process= "CDP Protocol", ipl= 6, pid= 9
-Traceback= 3159232 31594DE 3201660
%LANCE-5-COLL: Unit 0, excessive collisions. TDR=7
%SCHED-3-THRASHING: Process thrashing on watched queue 'CDP packets' (count 57).
-Process= "CDP Protocol", ipl= 6, pid= 9
-Traceback= 3159232 31594DE 3201660
%SYS-2-MALLOCFAIL: Memory allocation of 100 bytes failed from 0x3201B3E, pool Processor, alignment 0
-Process= "CDP Protocol", ipl= 0, pid= 9
-Traceback= 314E8A4 314FA06 3201B46 32016C8
%SCHED-3-THRASHING: Process thrashing on watched queue 'CDP packets' (count 57).
-Process= "CDP Protocol", ipl= 6, pid= 9
-Traceback= 3159232 31594DE 3201660
%SYS-2-MALLOCFAIL: Memory allocation of 100 bytes failed from 0x3201B3E, pool Processor, alignment 0
-Process= "CDP Protocol", ipl= 0, pid= 9
-Traceback= 314E8A4 314FA06 3201B46 32016C8
%SYS-2-MALLOCFAIL: Memory allocation of 100 bytes failed from 0x3201B3E, pool Processor, alignment 0
-Process= "CDP Protocol", ipl= 0, pid= 9
-Traceback= 314E8A4 314FA06 3201B46 32016C8
</log>

وبعد دقيقتين من إيقاف الهجوم، يتوقف جهاز التوجيه بشكل مفاجئ لعدة ثوانٍ، ثم يطردك من المحطة الطرفية :)

root@kitploit:~
<log>
%SYS-3-CPUHOG: Task ran for 16884 msec (69/69), Process = Exec, PC = 3158D42
-Traceback= 3158CEE 3158D4A 30F7330 30F742A 30FF3A4 30FEF76 30FEF1C 3116860
</log>

مخرجات مفتاح Cisco 2950:

root@kitploit:~
00:06:08: %SYS-2-MALLOCFAIL: Memory allocation of 224 bytes failed from 0x800118D0, alignment 0
Pool: Processor  Free: 0  Cause: Not enough free memory
Alternate Pool: I/O  Free: 32  Cause: Not enough free memory

-Process= "CDP Protocol", ipl= 0, pid= 26
-Traceback= 801DFC30 801E1DD8 800118D8 80011218 801D932C 801D9318
00:06:08:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:09:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:10:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:11:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:12:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:13:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:14:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:15:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:16:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:17:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:18:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:19:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:20:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:21:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:22:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:23:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:38: %SYS-2-MALLOCFAIL: Memory allocation of 140 bytes failed from 0x801E28BC, alignment 0
Pool: Processor  Free: 0  Cause: Not enough free memory
Alternate Pool: I/O  Free: 32  Cause: Not enough free memory

-Process= "Calhoun Statistics Process", ipl= 0, pid= 21
-Traceback= 801DFC30 801E1DD8 801E28C4 801F13BC 801F1470 802F7C90 802F9190 802F9788 801D932C 801D9318
00:06:38:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:39:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:40:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:41:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:42:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:44:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:45:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:46:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:47:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:48:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:49:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:50:  ../src-calhoun/strata_stats.c at line 137: can't not push event list
00:06:59: %SYS-3-CPUHOG: Task ran for 2076 msec (11/10), process = Net Background, PC = 801ABD40.
-Traceback= 801ABD48 801D932C 801D9318

ثم، تكون عملية CDP معطلة تماماً، حتى عندما نوقف الهجوم. لا مزيد من أطفال CDP...

تنزيل الأداة