mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
113 lines
5.3 KiB
Markdown
113 lines
5.3 KiB
Markdown
{{#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 <IFACE> 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}}
|