{{#include ../../banners/hacktricks-training.md}} # IPv6 Basiese teorie ## Netwerke IPv6 adresse is gestruktureer om netwerkorganisasie en toestelinteraksie te verbeter. 'n IPv6 adres is verdeel in: 1. **Netwerk Vooraf**: Die aanvanklike 48 bits, wat die netwerksegment bepaal. 2. **Subnet ID**: Volgende 16 bits, gebruik om spesifieke subnets binne die netwerk te definieer. 3. **Interface Identifiseerder**: Die laaste 64 bits, wat 'n toestel binne die subnet uniek identifiseer. Terwyl IPv6 die ARP-protokol wat in IPv4 voorkom, weglat, stel dit **ICMPv6** in met twee primêre boodskappe: - **Neighbor Solicitation (NS)**: Multicast boodskappe vir adresoplossing. - **Neighbor Advertisement (NA)**: Unicast antwoorde op NS of spontane aankondigings. IPv6 sluit ook spesiale adres tipes in: - **Loopback Adres (`::1`)**: Gelyk aan IPv4 se `127.0.0.1`, vir interne kommunikasie binne die gasheer. - **Link-Local Adresse (`FE80::/10`)**: Vir plaaslike netwerkaktiwiteite, nie vir internetroutering nie. Toestelle op dieselfde plaaslike netwerk kan mekaar ontdek deur hierdie reeks te gebruik. ### Praktiese Gebruik van IPv6 in Netwerkopdragte Om met IPv6 netwerke te kommunikeer, kan jy verskeie opdragte gebruik: - **Ping Link-Local Adresse**: Kontroleer die teenwoordigheid van plaaslike toestelle met `ping6`. - **Neighbor Discovery**: Gebruik `ip neigh` om toestelle wat by die skakelvlak ontdek is, te sien. - **alive6**: 'n Alternatiewe hulpmiddel om toestelle op dieselfde netwerk te ontdek. Hieronder is 'n paar opdragvoorbeelde: ```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 adresse kan afgelei word van 'n toestel se MAC adres vir plaaslike kommunikasie. Hier is 'n vereenvoudigde gids oor hoe om die Link-local IPv6 adres af te lei van 'n bekende MAC adres, en 'n kort oorsig van IPv6 adres tipes en metodes om IPv6 adresse binne 'n netwerk te ontdek. ## **Afleiding van Link-local IPv6 vanaf MAC Adres** Gegewe 'n MAC adres **`12:34:56:78:9a:bc`**, kan jy die Link-local IPv6 adres soos volg saamstel: 1. Converteer MAC na IPv6 formaat: **`1234:5678:9abc`** 2. Voeg `fe80::` voor en plaas `fffe` in die middel: **`fe80::1234:56ff:fe78:9abc`** 3. Draai die sewende bit van links om, verander `1234` na `1034`: **`fe80::1034:56ff:fe78:9abc`** ## **IPv6 Adres Tipes** - **Unieke Plaaslike Adres (ULA)**: Vir plaaslike kommunikasie, nie bedoel vir openbare internet routering nie. Vooraf: **`FEC00::/7`** - **Multicast Adres**: Vir een-tot-baie kommunikasie. Gelewer aan alle interfaces in die multicast groep. Vooraf: **`FF00::/8`** - **Anycast Adres**: Vir een-tot-nabyste kommunikasie. Gestuur na die naaste interface volgens die routering protokol. Deel van die **`2000::/3`** globale unicast reeks. ## **Adres Vooraf** - **fe80::/10**: Link-Local adresse (soos 169.254.x.x) - **fc00::/7**: Unieke Plaaslike-Unicast (soos private IPv4 reekse soos 10.x.x.x, 172.16.x.x, 192.168.x.x) - **2000::/3**: Globale Unicast - **ff02::1**: Multicast Alle Nodes - **ff02::2**: Multicast Router Nodes ## **Ontdekking van IPv6 Adresse binne 'n Netwerk** ### Weg 1: Gebruik van Link-local Adresse 1. Verkry die MAC adres van 'n toestel binne die netwerk. 2. Lei die Link-local IPv6 adres af van die MAC adres. ### Weg 2: Gebruik van Multicast 1. Stuur 'n ping na die multicast adres `ff02::1` om IPv6 adresse op die plaaslike netwerk te ontdek. ```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) Aanvalle Verskeie tegnieke bestaan om MitM aanvalle in IPv6 netwerke uit te voer, soos: - Spoofing ICMPv6 buur of router advertensies. - Gebruik van ICMPv6 herleiding of "Pakket Te Groot" boodskappe om routing te manipuleer. - Aanval op mobiele IPv6 (gewoonlik vereis dit dat IPSec gedeaktiveer word). - Opstel van 'n rogue DHCPv6 bediener. # Identifisering van IPv6 Adresse in die veld ## Verkenning van Subdomeine 'n Metode om subdomeine te vind wat moontlik aan IPv6 adresse gekoppel is, behels die gebruik van soekenjins. Byvoorbeeld, die gebruik van 'n navraagpatroon soos `ipv6.*` kan effektief wees. Spesifiek kan die volgende soekopdrag in Google gebruik word: ```bash site:ipv6./ ``` ## Die Gebruik van DNS-vrae Om IPv6-adresse te identifiseer, kan sekere DNS-rekordtipes gevra word: - **AXFR**: Versoek 'n volledige sone-oordrag, wat moontlik 'n wye reeks DNS-rekords kan onthul. - **AAAA**: Soek direk na IPv6-adresse. - **ANY**: 'n Breë vraag wat alle beskikbare DNS-rekords teruggee. ## Probing met Ping6 Nadat IPv6-adresse wat met 'n organisasie geassosieer word, geïdentifiseer is, kan die `ping6` nut gebruik word vir probing. Hierdie hulpmiddel help om die responsiwiteit van geïdentifiseerde IPv6-adresse te evalueer, en kan ook help om aangrensende IPv6-toestelle te ontdek. ## Verwysings - [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}}