mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
113 lines
8.8 KiB
Markdown
113 lines
8.8 KiB
Markdown
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
# Βασική θεωρία IPv6
|
||
|
||
## Δίκτυα
|
||
|
||
Οι διευθύνσεις IPv6 είναι δομημένες για να ενισχύσουν την οργάνωση του δικτύου και την αλληλεπίδραση των συσκευών. Μια διεύθυνση IPv6 χωρίζεται σε:
|
||
|
||
1. **Πρόθεμα Δικτύου**: Τα αρχικά 48 bits, που καθορίζουν το τμήμα του δικτύου.
|
||
2. **ID Υποδικτύου**: Τα επόμενα 16 bits, που χρησιμοποιούνται για τον καθορισμό συγκεκριμένων υποδικτύων εντός του δικτύου.
|
||
3. **Ταυτοποίηση Διεπαφής**: Τα τελικά 64 bits, που προσδιορίζουν μοναδικά μια συσκευή εντός του υποδικτύου.
|
||
|
||
Ενώ το IPv6 παραλείπει το πρωτόκολλο ARP που βρίσκεται στο IPv4, εισάγει το **ICMPv6** με δύο κύρια μηνύματα:
|
||
|
||
- **Αίτηση Γειτόνων (NS)**: Μηνύματα multicast για την επίλυση διευθύνσεων.
|
||
- **Διαφήμιση Γειτόνων (NA)**: Απαντήσεις unicast σε NS ή αυθόρμητες ανακοινώσεις.
|
||
|
||
Το IPv6 περιλαμβάνει επίσης ειδικούς τύπους διευθύνσεων:
|
||
|
||
- **Διεύθυνση Loopback (`::1`)**: Ισοδύναμη με το `127.0.0.1` του IPv4, για εσωτερική επικοινωνία εντός του υπολογιστή.
|
||
- **Διευθύνσεις Link-Local (`FE80::/10`)**: Για τοπικές δραστηριότητες δικτύου, όχι για δρομολόγηση στο διαδίκτυο. Οι συσκευές στο ίδιο τοπικό δίκτυο μπορούν να ανακαλύψουν η μία την άλλη χρησιμοποιώντας αυτό το εύρος.
|
||
|
||
### Πρακτική Χρήση του IPv6 σε Εντολές Δικτύου
|
||
|
||
Για να αλληλεπιδράσετε με δίκτυα IPv6, μπορείτε να χρησιμοποιήσετε διάφορες εντολές:
|
||
|
||
- **Ping Διευθύνσεις Link-Local**: Ελέγξτε την παρουσία τοπικών συσκευών χρησιμοποιώντας `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 μιας συσκευής για τοπική επικοινωνία. Ακολουθεί ένας απλοποιημένος οδηγός για το πώς να προκύψει η διεύθυνση Link-local IPv6 από μια γνωστή διεύθυνση MAC, καθώς και μια σύντομη επισκόπηση των τύπων διευθύνσεων IPv6 και μεθόδων για την ανακάλυψη διευθύνσεων IPv6 εντός ενός δικτύου.
|
||
|
||
## **Προκύπτοντας Link-local IPv6 από Διεύθυνση MAC**
|
||
|
||
Δεδομένης μιας διεύθυνσης 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. Αντιστροφή του έβδομου bit από τα αριστερά, αλλάζοντας το `1234` σε `1034`: **`fe80::1034:56ff:fe78:9abc`**
|
||
|
||
## **Τύποι Διευθύνσεων IPv6**
|
||
|
||
- **Unique Local Address (ULA)**: Για τοπικές επικοινωνίες, δεν προορίζεται για δημόσια δρομολόγηση στο διαδίκτυο. Πρόθεμα: **`FEC00::/7`**
|
||
- **Multicast Address**: Για επικοινωνία ένα προς πολλούς. Παράγεται σε όλες τις διεπαφές της ομάδας multicast. Πρόθεμα: **`FF00::/8`**
|
||
- **Anycast Address**: Για επικοινωνία ένα προς τον πλησιέστερο. Αποστέλλεται στην πλησιέστερη διεπαφή σύμφωνα με το πρωτόκολλο δρομολόγησης. Μέρος της παγκόσμιας περιοχής unicast **`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**: Παγκόσμιο Unicast
|
||
- **ff02::1**: Multicast Όλων των Κόμβων
|
||
- **ff02::2**: Multicast Κόμβοι Δρομολογητή
|
||
|
||
## **Ανακαλύπτοντας Διευθύνσεις IPv6 εντός ενός Δικτύου**
|
||
|
||
### Τρόπος 1: Χρησιμοποιώντας Διευθύνσεις Link-local
|
||
|
||
1. Αποκτήστε τη διεύθυνση MAC μιας συσκευής εντός του δικτύου.
|
||
2. Προκύψτε τη διεύθυνση Link-local IPv6 από τη διεύθυνση MAC.
|
||
|
||
### Τρόπος 2: Χρησιμοποιώντας Multicast
|
||
|
||
1. Στείλτε ένα ping στη διεύθυνση multicast `ff02::1` για να ανακαλύψετε διευθύνσεις IPv6 στο τοπικό δίκτυο.
|
||
```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) Attacks
|
||
|
||
Υπάρχουν αρκετές τεχνικές για την εκτέλεση επιθέσεων MitM σε δίκτυα IPv6, όπως:
|
||
|
||
- Spoofing ICMPv6 neighbor ή router advertisements.
|
||
- Χρήση ICMPv6 redirect ή "Packet Too Big" μηνυμάτων για την παραποίηση δρομολόγησης.
|
||
- Επίθεση σε mobile IPv6 (συνήθως απαιτεί την απενεργοποίηση του IPSec).
|
||
- Ρύθμιση ενός rogue DHCPv6 server.
|
||
|
||
# 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}}
|