Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
yersinia — STP और CDP प्रोटोकॉल के शोषण के लिए लेयर 2 नेटवर्क हमला ढांचा, जो Cisco स्विच पर DoS, रूट रोल हाइजैकिंग, और मेमोरी थकावट हमलों को सक्षम बनाता है। | Kitploit
उपकरण/GitHubGitHub/tomac/yersinia
आईडीएस/आईपीएस से बचनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubtomac/yersinia

yersinia

STP और CDP प्रोटोकॉल के शोषण के लिए लेयर 2 नेटवर्क हमला ढांचा, जो Cisco स्विच पर DoS, रूट रोल हाइजैकिंग, और मेमोरी थकावट हमलों को सक्षम बनाता है।

रिपॉजिटरी देखें
8611393 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Build Status

स्पैनिंग ट्री

1: DOS हमला conf BPDUs भेजना

root@kitploit:~
चलिए कुछ conf BPDUs भेजकर स्वयं को रूट घोषित करते हैं!!! लगातार conf BPDU भेजकर जिनमें root pathcost 0 हो,
यादृच्छिक रूप से उत्पन्न bridge id (और इसलिए समान root id) हो, और अन्य फ़ील्ड्स के लिए कुछ डिफ़ॉल्ट मान हों,
हम अपने आस-पास के स्विचों को परेशान करने का प्रयास करते हैं, जिससे उनके STP इंजनों को पार्स और पुनर्गणना करने में
DoS उत्पन्न होता है।

Source MAC: यादृच्छिक रूप से उत्पन्न।
Destination 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: DOS हमला tcn BPDUs भेजना

root@kitploit:~
यह हमला लगातार tcn BPDUs भेजता है जिससे रूट स्विच परिवर्तन स्वीकार करने के लिए conf BPDUs भेजने को मजबूर हो जाता है।
इसके अलावा, रूट स्विच ट्री के सदस्यों को टोपोलॉजी परिवर्तन सूचनाएँ भेजेगा, और उन्हें नए परिवर्तन को सीखने के लिए
अपने STP इंजन को पुनर्गणना करनी होगी।

Source MAC: यादृच्छिक रूप से उत्पन्न।
Destination 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: NONDOS हमला रूट भूमिका का दावा करना

root@kitploit:~
अब हमारा लक्ष्य ट्री की रूट भूमिका प्राप्त करना है। यह कैसे संभव है? बस नेटवर्क को सुनकर पता लगाएँ कि कौन सी रूट भूमिका है,
और फिर रूट बनने के लिए कम प्राथमिकता वाला conf BPDU भेजना शुरू करें।

Source MAC: स्निफ़ किए गए BPDU के समान।
Destination MAC: स्निफ़ किए गए BPDU के समान।
Bridge ID: स्निफ़ किया गया, थोड़ा संशोधित करके कम प्राथमिकता दी गई
Root ID: 8000: bridge id के समान।
Hello time: स्निफ़ किए गए BPDU के समान।
Forward delay: स्निफ़ किए गए BPDU के समान।
Max age: स्निफ़ किए गए BPDU के समान।
Root pathcost: स्निफ़ किए गए BPDU के समान।

<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 NONDOS हमला गैर-रूट भूमिका का दावा करना

हम STP के साथ खेलते हुए एक और अजीब स्विच होने का दिखावा करते हैं और अपने root id की प्रशंसा करते हैं :)

5 DOS हमला अनंत रूट चुनाव उत्पन्न करना

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 DOS हमला रूट के गायब होने का कारण

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)

  • उन पोर्ट्स पर पोर्ट सुरक्षा का उपयोग करें और STP को अक्षम करें जिन्हें STP की आवश्यकता नहीं है। पोर्ट सुरक्षा के बारे में जानकारी के लिए, कृपया निम्नलिखित URL देखें: http://www.cisco.com/en/US/products/hw/switches/ps628/products_configuration_guide_chapter09186a0080150bcd.html

  • यदि आप अपने STP कॉन्फ़िगरेशन में portfast सुविधा का उपयोग कर रहे हैं, तो इन हमलों से बचने के लिए BPDU गार्ड भी सक्षम करें जब पोर्ट स्वचालित रूप से फ़ॉरवर्डिंग स्थिति में प्रवेश करता है: http://www.cisco.com/warp/public/473/65.html

  • दुष्ट उपकरणों को रूट बनने से रोकने के लिए रूट गार्ड सुविधा का उपयोग करें: http://www.cisco.com/en/US/tech/tk389/tk621/technologies_tech_note09186a00800ae96b.shtml

आगे पढ़ने के लिए

  • गिल्लर्मो मारो का अच्छा मास्टर थीसिस: http://seclab.cs.ucdavis.edu/papers/Marro_masters_thesis.pdf

  • ओलेग के. आर्टेमजेव, व्लादिस्लाव वी. मायस्नायंकिन। स्पैनिंग ट्री प्रोटोकॉल के साथ मज़ा http://phrack.org/issues/61/12.html

CDP

Cisco उपकरण हमेशा एक दूसरे से संवाद करने के लिए एक अलग भाषा बोलते हैं, सभी को बताने के लिए कि वे जीवित हैं और उनके पास कितनी अच्छी सुविधाएँ हैं। CDP का अर्थ है Cisco Discovery Protocol। इस विशेष भाषा के माध्यम से, Cisco उपकरण एक आभासी दुनिया स्थापित करते हैं जहाँ हर कोई खुश है और कोई अपराध नहीं है। या कम से कम ऐसा लगता है, क्योंकि कई नेटवर्क प्रशासक अभी तक CDP के बारे में चिंतित नहीं हैं। हालाँकि CDP पैकेट में भेजी जा सकने वाली कुछ जानकारी अभी भी अप्रलेखित है (CDP एक मालिकाना प्रोटोकॉल है और ऐसा लगता है कि Cisco इसके बारे में विवरण नहीं देना चाहता है), कम से कम एक पुराना हमला (जो अभी भी मान्य है) ज्ञात है, और इसका एक सार्वजनिक कार्यान्वयन है (FX ने ऐसा किया!)।

यह हमला एक DoS है जो डिवाइस की मेमोरी को खत्म करने का प्रयास करता है ताकि वह किसी भी डिवाइस प्रक्रिया के लिए अधिक मेमोरी आवंटित न कर सके। हम यह कैसे कर सकते हैं? बस वास्तविक Cisco उपकरणों का अनुकरण करते हुए नकली डेटा वाले CDP पैकेट भेजकर। लक्ष्य डिवाइस अपनी 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 बच्चे नहीं...

टूल डाउनलोड करें