{{#include ../../banners/hacktricks-training.md}} # IPv6 बुनियादी सिद्धांत ## नेटवर्क IPv6 पते को नेटवर्क संगठन और डिवाइस इंटरैक्शन को बढ़ाने के लिए संरचित किया गया है। एक IPv6 पता निम्नलिखित में विभाजित है: 1. **नेटवर्क प्रीफिक्स**: प्रारंभिक 48 बिट, जो नेटवर्क खंड को निर्धारित करता है। 2. **सबनेट आईडी**: अगले 16 बिट, जो नेटवर्क के भीतर विशिष्ट सबनेट को परिभाषित करने के लिए उपयोग किया जाता है। 3. **इंटरफेस पहचानकर्ता**: अंतिम 64 बिट, जो सबनेट के भीतर एक डिवाइस की अद्वितीय पहचान करता है। जबकि IPv6 में IPv4 में पाए जाने वाले ARP प्रोटोकॉल को हटा दिया गया है, यह **ICMPv6** को दो प्रमुख संदेशों के साथ पेश करता है: - **नेबर सॉलिसिटेशन (NS)**: पते के समाधान के लिए मल्टीकास्ट संदेश। - **नेबर विज्ञापन (NA)**: NS के लिए यूनिकास्ट प्रतिक्रियाएँ या स्वैच्छिक घोषणाएँ। IPv6 विशेष पते के प्रकारों को भी शामिल करता है: - **लूपबैक पता (`::1`)**: IPv4 के `127.0.0.1` के बराबर, होस्ट के भीतर आंतरिक संचार के लिए। - **लिंक-लोकल पते (`FE80::/10`)**: स्थानीय नेटवर्क गतिविधियों के लिए, इंटरनेट रूटिंग के लिए नहीं। समान स्थानीय नेटवर्क पर डिवाइस इस रेंज का उपयोग करके एक-दूसरे को खोज सकते हैं। ### नेटवर्क कमांड में IPv6 का व्यावहारिक उपयोग IPv6 नेटवर्क के साथ इंटरैक्ट करने के लिए, आप विभिन्न कमांड का उपयोग कर सकते हैं: - **पिंग लिंक-लोकल पते**: `ping6` का उपयोग करके स्थानीय डिवाइस की उपस्थिति की जांच करें। - **नेबर डिस्कवरी**: लिंक लेयर पर खोजे गए डिवाइस को देखने के लिए `ip neigh` का उपयोग करें। - **alive6**: समान नेटवर्क पर डिवाइस खोजने के लिए एक वैकल्पिक उपकरण। नीचे कुछ कमांड उदाहरण दिए गए हैं: ```bash ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1 ip neigh | grep ^fe80 # Alternatively, use alive6 for neighbor discovery alive6 eth0 ``` IPv6 पते एक डिवाइस के MAC पते से स्थानीय संचार के लिए निकाले जा सकते हैं। यहाँ एक सरल मार्गदर्शिका है कि कैसे ज्ञात MAC पते से Link-local IPv6 पता निकाला जाए, और नेटवर्क के भीतर IPv6 पते के प्रकारों और उन्हें खोजने के तरीकों का संक्षिप्त अवलोकन। ## **MAC पते से Link-local IPv6 निकालना** एक MAC पता **`12:34:56:78:9a:bc`** दिया गया है, आप Link-local IPv6 पता निम्नलिखित तरीके से बना सकते हैं: 1. MAC को IPv6 प्रारूप में परिवर्तित करें: **`1234:5678:9abc`** 2. `fe80::` को पहले जोड़ें और बीच में `fffe` डालें: **`fe80::1234:56ff:fe78:9abc`** 3. बाईं ओर से सातवें बिट को उलटें, `1234` को `1034` में बदलें: **`fe80::1034:56ff:fe78:9abc`** ## **IPv6 पते के प्रकार** - **Unique Local Address (ULA)**: स्थानीय संचार के लिए, सार्वजनिक इंटरनेट रूटिंग के लिए नहीं। प्रीफिक्स: **`FEC00::/7`** - **Multicast Address**: एक से कई संचार के लिए। मल्टीकास्ट समूह में सभी इंटरफेस पर भेजा जाता है। प्रीफिक्स: **`FF00::/8`** - **Anycast Address**: एक से निकटतम संचार के लिए। रूटिंग प्रोटोकॉल के अनुसार निकटतम इंटरफेस पर भेजा जाता है। **`2000::/3`** वैश्विक यूनिकास्ट रेंज का हिस्सा। ## **पता प्रीफिक्स** - **fe80::/10**: Link-Local पते (169.254.x.x के समान) - **fc00::/7**: Unique Local-Unicast (निजी IPv4 रेंज जैसे 10.x.x.x, 172.16.x.x, 192.168.x.x के समान) - **2000::/3**: Global Unicast - **ff02::1**: Multicast All Nodes - **ff02::2**: Multicast Router Nodes ## **नेटवर्क के भीतर IPv6 पते खोजने के तरीके** ### तरीका 1: Link-local पते का उपयोग करना 1. नेटवर्क के भीतर एक डिवाइस का MAC पता प्राप्त करें। 2. MAC पते से Link-local IPv6 पता निकालें। ### तरीका 2: मल्टीकास्ट का उपयोग करना 1. स्थानीय नेटवर्क पर IPv6 पते खोजने के लिए मल्टीकास्ट पते `ff02::1` पर एक पिंग भेजें। ```bash service ufw stop # Stop the firewall ping6 -I ff02::1 # Send a ping to multicast address ip -6 neigh # Display the neighbor table ``` ## IPv6 Man-in-the-Middle (MitM) Attacks IPv6 नेटवर्क में MitM हमलों को निष्पादित करने के लिए कई तकनीकें मौजूद हैं, जैसे: - ICMPv6 पड़ोसी या राउटर विज्ञापनों की स्पूफिंग। - रूटिंग को नियंत्रित करने के लिए ICMPv6 रीडायरेक्ट या "Packet Too Big" संदेशों का उपयोग करना। - मोबाइल IPv6 पर हमला करना (आमतौर पर IPSec को बंद करने की आवश्यकता होती है)। - एक धोखाधड़ी DHCPv6 सर्वर स्थापित करना। # Identifying IPv6 Addresses in the eild ## Exploring Subdomains IPv6 पतों से संभावित रूप से जुड़े उपडोमेन खोजने के लिए एक विधि खोज इंजनों का लाभ उठाना है। उदाहरण के लिए, `ipv6.*` जैसे क्वेरी पैटर्न का उपयोग करना प्रभावी हो सकता है। विशेष रूप से, Google में निम्नलिखित खोज आदेश का उपयोग किया जा सकता है: ```bash site:ipv6./ ``` ## DNS क्वेरी का उपयोग करना IPv6 पतों की पहचान करने के लिए, कुछ DNS रिकॉर्ड प्रकारों को क्वेरी किया जा सकता है: - **AXFR**: एक पूर्ण ज़ोन ट्रांसफर का अनुरोध करता है, जो संभावित रूप से DNS रिकॉर्ड की एक विस्तृत श्रृंखला को उजागर कर सकता है। - **AAAA**: सीधे IPv6 पतों की खोज करता है। - **ANY**: एक व्यापक क्वेरी जो सभी उपलब्ध DNS रिकॉर्ड लौटाती है। ## Ping6 के साथ जांच एक संगठन से जुड़े IPv6 पतों की पहचान करने के बाद, `ping6` उपयोगिता का उपयोग जांच के लिए किया जा सकता है। यह उपकरण पहचाने गए IPv6 पतों की प्रतिक्रियाशीलता का आकलन करने में मदद करता है, और संभवतः निकटवर्ती IPv6 उपकरणों की खोज में भी सहायता कर सकता है। ## संदर्भ - [http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html](http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html) - [https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904) {{#include ../../banners/hacktricks-training.md}}