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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/vanhauser-thc/thc-ipv6
टोहीभेद्यता विश्लेषणशोषणआईडीएस/आईपीएस से बचनाफज़िंगनेटवर्क सुरक्षावायरलेस सुरक्षापेनिट्रेशन टेस्टिंगउपयोगिताएँ और फ्रेमवर्करेड टीमिंग
GitHubvanhauser-thc/thc-ipv6

thc-ipv6

1.2k22964 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

IPv6 आक्रमण टूलकिट

रिपॉजिटरी देखें

THC-IPV6-ATTACK-TOOLKIT (c) 2005-2022 [email protected] https://github.com/vanhauser-thc/thc-ipv6

root@kitploit:~
	AGPLv3 के तहत लाइसेंस प्राप्त (LICENSE फ़ाइल देखें)

परिचय

यह कोड तब प्रेरित हुआ जब मैं IPv6 के संपर्क में आया, इसके बारे में और अधिक सीखा - और फिर मुझे इसके साथ खेलने (पढ़ें: "हैक") के लिए कोई उपकरण नहीं मिला। पहले मैंने libnet के साथ चीजों को लागू करने की कोशिश की, लेकिन फिर पता चला कि IPv6 का कार्यान्वयन केवल आंशिक है - और बेकार है। मैंने गायब कोड जोड़ने की कोशिश की, लेकिन, यह इतना आसान नहीं था, इसलिए मैंने अपना समय बचाया और जल्दी से अपनी खुद की लाइब्रेरी लिखी।

सीमाएं

यह कोड वर्तमान में केवल इस पर चलता है:

  • Linux 2.6.x या नया (क्योंकि /proc का उपयोग)
  • Ethernet लेकिन इसका मतलब है कि सभी linux उपयोगकर्ताओं के लिए यह आपके 98% उपयोग मामलों में काम करेगा। पैच का स्वागत है! (मेरी एंटी-स्पैम सुरक्षा को पार करने के लिए विषय पंक्ति में "antispam" जोड़ें, अन्यथा ईमेल वापस आ जाएगा)

निर्माण

उपकरणों को बनाने में सक्षम होने के लिए आपके पास libpcap-dev स्थापित होना चाहिए। इसके अतिरिक्त libssl-dev और libnetfilter-queue-dev की भी अनुशंसा की जाती है।

इन्हें (Kali, Debian, Ubuntu) पर स्थापित किया जा सकता है: sudo apt-get install libpcap-dev libssl-dev libnetfilter-queue-dev

आप उपकरणों को चलाकर बना सकते हैं: make all

आप उपकरणों और मौजूदा मैनुअल पेजों को चलाकर स्थापित कर सकते हैं: make install

उपकरण

THC IPV6 ATTACK TOOLKIT पहले से ही कई प्रभावी हमला करने वाले उपकरणों के साथ आता है:

  • parasite6: ICMPv6 नेबर सॉलिसिटेशन/एडवरटाइजमेंट स्पूफर, आपको मैन-इन-द-मिडल के रूप में रखता है, ARP mitm (और parasite) के समान
  • alive6: एक प्रभावी alive स्कैनिंग, जो इस पते पर सुनने वाले सभी सिस्टम का पता लगाएगा
  • dnsdict6: समानांतर DNS IPv6 शब्दकोश ब्रूटफोर्सर
  • fake_router6: नेटवर्क पर स्वयं को राउटर घोषित करें, उच्चतम प्राथमिकता के साथ
  • redir6: बुद्धिमानी से ट्रैफ़िक को अपनी ओर रीडायरेक्ट करें (मैन-इन-द-मिडल) एक चतुर ICMPv6 रीडायरेक्ट स्पूफर के साथ
  • toobig6: उसी बुद्धिमत्ता के साथ mtu घटाने वाला जैसे redir6
  • detect-new-ip6: नेटवर्क में शामिल होने वाले नए IPv6 उपकरणों का पता लगाएं, आप इन सिस्टमों को स्वचालित रूप से स्कैन करने के लिए एक स्क्रिप्ट चला सकते हैं आदि।
  • dos-new-ip6: नए IPv6 उपकरणों का पता लगाएं और उन्हें बताएं कि उनका चुना हुआ IP नेटवर्क पर टकराता है (DOS)।
  • trace6: बहुत तेज़ traceroute6 जो ICMP6 इको रिक्वेस्ट और TCP-SYN का समर्थन करता है
  • flood_router6: किसी लक्ष्य को यादृच्छिक राउटर विज्ञापनों से भर दें
  • flood_advertise6: किसी लक्ष्य को यादृच्छिक नेबर विज्ञापनों से भर दें
  • fuzz_ip6: IPv6 के लिए फ़ज़र
  • implementation6: IPv6 पर विभिन्न कार्यान्वयन जांच करता है
  • implementation6d: फ़ायरवॉल के पीछे जांचने के लिए implementation6 का सुनने वाला डेमॉन
  • fake_mld6: नेट पर अपनी पसंद के मल्टीकास्ट ग्रुप में स्वयं की घोषणा करें
  • fake_mld26: MLDv2 के लिए समान
  • fake_mldrouter6: नकली MLD राउटर संदेश
  • fake_mipv6: यदि प्रमाणीकरण के लिए IPSEC की आवश्यकता नहीं है तो मोबाइल IP को अपने पास चुराएं
  • fake_advertiser6: नेटवर्क पर स्वयं की घोषणा करें
  • smurf6: स्थानीय स्मर्फ़र
  • rsmurf6: रिमोट स्मर्फ़र, वर्तमान में केवल linux के खिलाफ काम करने के लिए जाना जाता है
  • exploit6: किसी लक्ष्य के खिलाफ परीक्षण करने के लिए ज्ञात IPv6 कमजोरियां
  • denial6: किसी लक्ष्य के खिलाफ अस्वीकृति-ऑफ़-सर्विस परीक्षणों का एक संग्रह
  • thcping6: एक हस्तनिर्मित ping6 पैकेट भेजता है
  • sendpees6: [email protected] द्वारा एक उपकरण, जो बहुत सारे CGA (क्रिप्टो सामग्री ;-) के साथ नेबर सॉलिसिटेशन अनुरोध उत्पन्न करता है ताकि CPU व्यस्त रहे। अच्छा है। और आपके लिए खोजने के लिए लगभग 25 और उपकरण :-)

बस उपकरणों को बिना विकल्पों के चलाएं और वे आपको मदद दिखाएंगे और कमांड लाइन विकल्प दिखाएंगे।

लाइब्रेरी

लाइब्रेरी thc-ipv6-lib.c सभी उपकरणों का हृदय और आत्मा है - और वे जो आप लिखना चाह सकते हैं। कार्यान्वयन इतना सरल है, आमतौर पर आपकी पसंद की सामग्री के साथ पूर्ण IPv6/ICMPv6 पैकेट बनाने के लिए केवल 2-4 पंक्तियाँ होती हैं।

आप जिस मूल संरचना का उपयोग करते हैं वह है (thc_ipv6_hdr *) उदा. thc_ipv6_hdr *my_ipv6_packet; int my_ipv6_packet_len; और आपको कभी भी इसके विकल्पों/फ़ील्ड्स से खेलना नहीं पड़ेगा।

जब भी आप एक IPv6 पैकेट बनाना चाहते हैं, आप बस लिखते हैं: my_ipv6_packet = thc_create_ipv6_extended(interface, prefer, &my_ipv6_packet_len, src6, dst6, ttl, length, label, class, version); यदि कुछ विफल होता है, तो यह NULL लौटाता है (केवल यदि my_ipv6_packet_len या dst6 मौजूद नहीं हैं या malloc विफल होता है)। thc_create_ipv6_extended के विकल्प हैं: (char*) interface - वह इंटरफ़ेस जिस पर आप पैकेट भेजना चाहते हैं (int) prefer - या तो PREFER_LINK (लिंक लोकल एड्रेस का उपयोग करने के लिए) या PREFER_HOST (होस्ट IPv6 पते का उपयोग करने के लिए), और PREFER_GLOBAL (सार्वजनिक (इंटरनेट) IP6 पते का उपयोग करने के लिए) (डिफ़ॉल्ट) (int ) &my_ipv6_packet_len - बनाए जाने वाले पैकेट का आकार (unsigned char) src6 - स्रोत IP6 (वैकल्पिक - NULL होने पर चुना जाएगा) (unsigned char*) dst6 - गंतव्य IP6 (नेटवर्क फॉर्मेट में, 16 बाइट लंबा) आमतौर पर thc_resolve6("ipv6.google.com") का परिणाम (int) ttl - पैकेट का TTL (वैकल्पिक - 0 इसे 255 पर सेट करेगा) (int) length - हेडर में सेट की जाने वाली लंबाई (वैकल्पिक - 0 = वास्तविक लंबाई) (int) label - फ्लो लेबल (0 ठीक है) (int) class - पैकेट का वर्ग (0 ठीक है) (int) version - IP6 संस्करण (वैकल्पिक - 0 इसे संस्करण 6 पर सेट करेगा) यह त्रुटियों पर NULL या सफलता पर malloc की गई संरचना लौटाता है। एक बार जब आप इसके साथ कर लें तो इसे free() करें।

अब आप इसके ऊपर एक्सटेंशन हेडर सेट कर सकते हैं: thc_add_hdr_route(my_ipv6_packet, &my_ipv6_packet_len, routers, routerptr); thc_add_hdr_fragment(my_ipv6_packet, &my_ipv6_packet_len, offset, more_frags, id); thc_add_hdr_dst(my_ipv6_packet, &my_ipv6_packet_len, buf, buflen); thc_add_hdr_hopbyhop(my_ipv6_packet, &my_ipv6_packet_len, buf, buflen); thc_add_hdr_nonxt(my_ipv6_packet, &my_ipv6_packet_len, hdropt); thc_add_hdr_misc(my_ipv6_packet, &my_ipv6_packet_len, type, len, buf, buflen); फ़ंक्शन समझाए गए: _route: एक रूटिंग फ़ॉरवर्डिंग हेडर जोड़ें (जैसे IP सोर्स रूटिंग) (int) routers - routerptr में राउटरों की संख्या (char**) routerptr - नेटवर्क फॉर्मेट में राउटर गंतव्यों के साथ एक char[routers + 1] संरचना उदाहरण के लिए alive6.c देखें। _fragment: एक फ्रैगमेंट हेडर जोड़ें (int) offset - वह ऑफ़सेट जिस पर डेटा लिखा जाना चाहिए (नोट: यहां ऑफ़सेट स्थान बाइट्स में डालें, बाइट ऑक्टेट में नहीं) (int) more_frags - 0 पर सेट करें यदि यह अंतिम फ्रैगमेंट है, अन्य सभी पर 1 (int) id - पैकेट के लिए एक ID (सभी फ्रैगमेंट के लिए समान) _dst: एक गंतव्य विकल्प हेडर जोड़ें (char) buf - एक चार बफर। आपको इस बफर को स्वयं नियंत्रित करना होगा लेकिन आप इसमें जो लिखना चाहते हैं। (int) buflen - buf की लंबाई _hopbyhop: एक हॉप-बाय-हॉप हेडर जोड़ें (char*) buf - एक चार बफर। आपको इस बफर को स्वयं नियंत्रित करना होगा लेकिन आप इसमें जो लिखना चाहते हैं। (int) buflen - buf की लंबाई _nonxt: निर्दिष्ट करें कि आगे कोई हेडर नहीं होगा (int) hdropt - यह विकल्प वर्तमान में अनदेखा किया गया है _misc: एक विविध हेडर निर्दिष्ट करें। इसका उपयोग करें यदि आप एक अमान्य या गैर-मौजूद एक्सटेंशन हेडर डिज़ाइन करना चाहते हैं। (int) type - हेडर के रूप में निर्दिष्ट करने के लिए टाइप ID (int) len - हेडर के रूप में विज्ञापित करने की लंबाई (वैकल्पिक - -1 इसे सही मान पर सेट करता है) (char*) buf - एक चार बफर। आपको इस बफर को स्वयं नियंत्रित करना होगा लेकिन आप इसमें जो लिखना चाहते हैं। (int) buflen - buf की लंबाई ये फ़ंक्शन सफलता पर (int) 0 और त्रुटि पर -1 लौटाते हैं।

अंत में आप स्ट्रीम या dgram हेडर जोड़ सकते हैं। thc_add_icmp6(my_ipv6_packet, &my_ipv6_packet_len, type, code, flags, buf, buflen, checksum); thc_add_tcp(my_ipv6_packet, &my_ipv6_packet_len, source_port, destination_port, sequence_number, ack_number, flags, window_size urgent_pointer, options, optione_length, data, data_length); thc_add_udp(my_ipv6_packet, &my_ipv6_packet_len, source_port, destination_port, checksum, data, data_length); thc_add_data6(my_ipv6_packet, &my_ipv6_packet_len, type, buf, buflen); _icmp6: एक ICMP6 पैकेट हेडर जोड़ें (int) type: ICMP6 प्रकार (int) code: ICMP6 कोड (int) flags: ICMP6 फ़्लैग्स (char*) buf - एक चार बफर। आपको इस बफर को स्वयं नियंत्रित करना होगा लेकिन आप इसमें जो लिखना चाहते हैं। (int) buflen - buf की लंबाई _tcp|_udp: TCP या UDP हेडर जोड़ें (ushort) source_port: स्रोत पोर्ट (ushort) destination_port: गंतव्य पोर्ट (uint) sequence_number: TCP अनुक्रम संख्या (uint) ack_number: TCP पावती संख्या (ushort) checksum: UDP चेकसम, 0 = चेकसम उत्पन्न करें (TCP के लिए चेकसम हमेशा गणना की जाती है) (uchar) flags: TCP फ़्लैग्स: TCP_SYN, TCP_ACK, TCP_FIN, TCP_RST, TCP_PSH, ... (uint) window_size: TCP विंडो आकार (uint) urgent_pointer: TCP अत्यावश्यक पॉइंटर (आमतौर पर 0) (char*) options: TCP विकल्प बफर, NULL हो सकता है (uint) options_length: TCP विकल्प बफर की लंबाई (char*) data: प्रोटोकॉल द्वारा ले जाया गया डेटा (uint) data_length: डेटा बफर की लंबाई _data6: एक विविध हेडर जोड़ें (int) type: प्रोटोकॉल ID (char*) buf - एक चार बफर। आपको इस बफर को स्वयं नियंत्रित करना होगा लेकिन आप इसमें जो लिखना चाहते हैं। (int) buflen - buf की लंबाई ये फ़ंक्शन सफलता पर (int) 0 और त्रुटि पर -1 लौटाते हैं।

एक बार जब आप कर लें, तो आप पैकेट बनाते और भेजते हैं। thc_generate_pkt(interface, srcmac, dstmac, my_ipv6_packet, &my_ipv6_packet_len); thc_send_pkt(interface, my_ipv6_packet, &my_ipv6_packet_len); या एक फ़ंक्शन में संयुक्त: thc_generate_and_send_pkt(interface, srcmac, dstmac, my_ipv6_packet, &my_ipv6_packet_len);

thc_generate_and_send_pkt: यह वास्तविक और अंतिम IPv6 पैकेट उत्पन्न करता है और फिर इसे भेजता है। (char*) interface - वह इंटरफ़ेस जिस पर पैकेट भेजना है (unsigned char*) srcmac - उपयोग करने के लिए स्रोत मैक (नेटवर्क फॉर्मेट में) (वैकल्पिक, NULL होने पर वास्तविक मैक का उपयोग किया जाता है) (unsigned char*) dstmac - उपयोग करने के लिए गंतव्य मैक (नेटवर्क फॉर्मेट में) (वैकल्पिक, NULL होने पर वास्तविक मैक खोजा जाता है) thc_generate_pkt और thc_send_pkt एक साथ समान कार्यक्षमता प्रदान करते हैं। आप आमतौर पर इनका उपयोग तभी करते हैं जब आप कुछ ऐसा करते हैं: thc_generate_pkt(...); while(1) thc_send_pkt(...); ये फ़ंक्शन सफलता पर (int) 0 और त्रुटि पर -1 लौटाते हैं।

जब आप कर लें, तो मेमोरी को इसके साथ मुक्त करें: thc_destroy_packet(my_ipv6_packet);

कुछ महत्वपूर्ण सहायक फ़ंक्शन हैं जिनकी आपको आवश्यकता होगी: thc_resolve6(destinationstring); यह IPv6 पते या DNS नाम को IPv6 नेटवर्क पते में हल करता है। thc_create_ipv6_extended() में dst6 के लिए इसका उपयोग करें। परिणाम को जरूरत न होने पर free() करना होगा। thc_inverse_packet(my_ipv6_packet, &my_ipv6_packet_len); यह चतुर फ़ंक्शन स्रोत और गंतव्य पते को स्वैप करता है, ICMP हेडर प्रकार को बदलता है (ECHO REQUEST -> ECHO REPLY आदि) और चेकसम की पुनर्गणना करता है। यदि आपको नहीं पता कि यह किस लिए उपयोगी हो सकता है, तो अपने xbox के साथ खेलें :-)

यदि आप इसे बहुत तेजी से करना चाहते हैं, तो कुछ पूर्वनिर्धारित ICMPv6 क्रिएटर फ़ंक्शन हैं जो कोड की सिर्फ एक पंक्ति में impc6 पैकेट भेजते हैं: thc_ping6(interface, src, dst, size, count); thc_neighboradv6(interface, src, dst, srcmac, dstmac, flags, target); thc_neighborsol6(interface, src, dst, target, srcmac, dstmac); thc_routeradv6(interface, src, dst, srcmac, default_ttl, managed, prefix, prefixlen, mtu, lifetime); thc_routersol6(interface, src, dst, srcmac, dstmac); thc_toobig6(interface, src, srcmac, dstmac, mtu, my_ipv6_packet, my_ipv6_packet_len); thc_paramprob6(interface, src, srcmac, dstmac, code, pointer, my_ipv6_packet, my_ipv6_packet_len); thc_unreach6(interface, src, srcmac, dstmac, icmpcode, my_ipv6_packet, my_ipv6_packet_len); thc_redir6(interface, src, srcmac, dstmac, newrouter, newroutermac, my_ipv6_packet, my_ipv6_packet_len); thc_send_as_fragment6(interface, src, dst, type, buf, buflen, frag_len); ये वही करते हैं जो आप उनसे करने की उम्मीद करते हैं, इसलिए मैं इसे और विस्तार से वर्णित करने के लिए बहुत आलसी^H^H^H^H^Hव्यस्त हूं।

निम्नलिखित फ़ंक्शन परिणाम पॉइंटर के लिए मेमोरी आवंटित करते हैं, इसलिए एक बार जब आपको उनकी आवश्यकता न हो, तो इन फ़ंक्शनों से परिणाम पॉइंटर्स को मुक्त करना याद रखें: thc_ipv6_dummymac() thc_ipv62notation() thc_ipv62string() thc_string2ipv6() thc_string2notation() thc_resolve6() thc_get_own_ipv6() thc_get_own_mac() thc_get_multicast_mac() thc_get_mac() thc_lookup_ipv6_mac() thc_look_neighborcache() thc_generate_key() thc_generate_cga() thc_generate_rsa()

यदि आप उदाहरण उपयोगों पर एक नज़र डालें तो बहुत मदद मिलती है। सबसे अच्छे हैं thc-ipv6 पैकेज के उपकरण, विशेष रूप से implementation6.c और fake_*6.c - मज़े करें, और कोड वापस भेजें, ताकि समुदाय इस पर आगे निर्माण कर सके।

पहचान

अधिकांश उपकरणों को IDS या विशिष्ट पहचान सॉफ़्टवेयर द्वारा आसानी से पहचाना जा सकता है। यह जानबूझकर किया गया है ताकि दुर्भावनापूर्ण उपयोग का पता लगाना आसान हो। उपकरण या तो एक निश्चित पैकेट हस्ताक्षर निर्दिष्ट करते हैं, या सामान्य रूप से पैकेट सूँघते हैं (उदा. इसलिए ICMPv6 नेबर सॉलिसिटेशन का उत्तर भी देते हैं जो एक गैर-मौजूद मैक पर भेजे जाते हैं, और इसलिए उनका पता लगाना बहुत आसान है)। यदि आप यह नहीं चाहते हैं, तो कोड बदलें।

पैच, बग, सुझाव, आदि।

उन्हें vh (at) thc (dot) org पर भेजें (और विषय पंक्ति में "antispam" जोड़ें) या github के माध्यम से सबमिट करें: https://github.com/vanhauser-thc/thc-ipv6

मज़े करें!

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