hacktricks/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md
2024-02-11 02:07:06 +00:00

128 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
</details>
# IPv6 Basiese teorie
## Netwerke
IPv6-adresse is gestruktureer om netwerkorganisasie en toestelinteraksie te verbeter. 'n IPv6-adres is verdeel in:
1. **Netwerkvoorvoegsel**: Die aanvanklike 48-bits, wat die netwerksegment bepaal.
2. **Subnet-ID**: Die volgende 16-bits, wat gebruik word om spesifieke subnets binne die netwerk te definieer.
3. **Interface-identifiseerder**: Die afsluitende 64-bits, wat 'n toestel uniek identifiseer binne die subnet.
Terwyl IPv6 die ARP-protokol wat in IPv4 gevind word, uitsluit, voer dit **ICMPv6** in met twee primêre boodskappe:
- **Neighbor Solicitation (NS)**: Multicast-boodskappe vir adresoplossing.
- **Neighbor Advertisement (NA)**: Unicast-respons op NS of spontane aankondigings.
IPv6 inkorporeer ook spesiale adressoorte:
- **Loopback-adres (`::1`)**: Gelykwaardig aan IPv4 se `127.0.0.1`, vir interne kommunikasie binne die gasheer.
- **Link-Local-adresse (`FE80::/10`)**: Vir plaaslike netwerkaktiwiteite, nie vir internetroetevering 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 behulp van `ping6`.
- **Neighbor Discovery**: Gebruik `ip neigh` om toestelle wat by die skakellaag ontdek is, te sien.
- **alive6**: 'n Alternatiewe hulpmiddel vir die ontdekking van toestelle op dieselfde netwerk.
Hieronder is 'n paar voorbeelde van opdragte:
```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 Skakelplaaslike 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 Skakelplaaslike IPv6 vanaf MAC-adres**
Gegee 'n MAC-adres **`12:34:56:78:9a:bc`**, kan jy die Skakelplaaslike IPv6-adres as volg konstrueer:
1. Omskep MAC na IPv6-formaat: **`1234:5678:9abc`**
2. Voeg `fe80::` voor en voeg `fffe` in die middel in: **`fe80::1234:56ff:fe78:9abc`**
3. Keer die sewende bit van links af om, verander `1234` na `1034`: **`fe80::1034:56ff:fe78:9abc`**
## **IPv6-adrestipes**
- **Unieke Lokale Adres (ULA)**: Vir plaaslike kommunikasie, nie bedoel vir openbare internetroetering nie. Voorvoegsel: **`FEC00::/7`**
- **Multicast-adres**: Vir een-tot-baie kommunikasie. Afgelewer aan alle koppelvlakke in die multicast-groep. Voorvoegsel: **`FF00::/8`**
- **Anycast-adres**: Vir een-tot-naaste kommunikasie. Gestuur na die naaste koppelvlak volgens die roeteprotokol. Deel van die globale unicast-reeks **`2000::/3`**.
## **Adresvoorvoegsels**
- **fe80::/10**: Skakelplaaslike adresse (soortgelyk aan 169.254.x.x)
- **fc00::/7**: Unieke Lokale-Unicast (soortgelyk aan privaat IPv4-reeks soos 10.x.x.x, 172.16.x.x, 192.168.x.x)
- **2000::/3**: Globale Unicast
- **ff02::1**: Multicast Alle Knope
- **ff02::2**: Multicast Router Knope
## **Ontdekking van IPv6-adresse binne 'n Netwerk**
### Metode 1: Gebruik van Skakelplaaslike Adresse
1. Verkry die MAC-adres van 'n toestel binne die netwerk.
2. Leid die Skakelplaaslike IPv6-adres af van die MAC-adres.
### Metode 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 vir die uitvoering van MitM-aanvalle in IPv6-netwerke, soos:
- Spoofing van ICMPv6-buurman of roeteadvertensies.
- Gebruik van ICMPv6-omleiding of "Pakket Te Groot" boodskappe om roetes te manipuleer.
- Aanvalle op mobiele IPv6 (vereis gewoonlik dat IPSec gedeaktiveer word).
- Opstel van 'n valse DHCPv6-bediener.
# Identifisering van IPv6-adresse in die veld
## Verkenning van Subdomeine
'n Metode om subdomeine te vind wat moontlik gekoppel is aan IPv6-adresse, behels die gebruik van soektogmasjiene. Byvoorbeeld, die gebruik van 'n soekpatroon soos `ipv6.*` kan effektief wees. Spesifiek kan die volgende soekopdrag in Google gebruik word:
```bash
site:ipv6./
```
## Die gebruik van DNS-navrae
Om IPv6-adresse te identifiseer, kan sekere DNS-rekordtipes ondervra word:
- **AXFR**: Versoek 'n volledige sone-oordrag en kan 'n wye verskeidenheid DNS-rekords blootlê.
- **AAAA**: Soek direk na IPv6-adresse.
- **ANY**: 'n Breë navraag wat alle beskikbare DNS-rekords teruggee.
## Ondersoek met Ping6
Nadat IPv6-adresse wat met 'n organisasie verband hou, geïdentifiseer is, kan die `ping6` nut gebruik word vir ondersoek. Hierdie hulpmiddel help om die reaksievermoë van geïdentifiseerde IPv6-adresse te assesseer 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)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy in HackTricks wil adverteer** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>