Translated ['src/generic-methodologies-and-resources/pentesting-network/

This commit is contained in:
Translator 2025-08-20 10:33:18 +00:00
parent 8be1749f2c
commit 6d5a1c3e25

View File

@ -12,10 +12,10 @@
2. **ID Υποδικτύου**: Τα επόμενα 16 bits, που χρησιμοποιούνται για τον καθορισμό συγκεκριμένων υποδικτύων εντός του δικτύου.
3. **Αναγνωριστικό Διεπαφής**: Τα τελικά 64 bits, που προσδιορίζουν μοναδικά μια συσκευή εντός του υποδικτύου.
Ενώ το IPv6 παραλείπει το πρωτόκολλο ARP που βρίσκεται στο IPv4, εισάγει το **ICMPv6** με δύο κύρια μηνύματα:
Ενώ το IPv6 παραλείπει το πρωτόκολλο ARP που υπάρχει στο IPv4, εισάγει το **ICMPv6** με δύο κύρια μηνύματα:
- **Αίτηση Γειτόνων (NS)**: Μηνύματα multicast για την επίλυση διευθύνσεων.
- **Διαφήμιση Γειτόνων (NA)**: Απαντήσεις unicast σε NS ή αυθόρμητες ανακοινώσεις.
- **Διαφήμιση Γειτόνων (NA)**: Μοναδικές απαντήσεις σε NS ή αυθόρμητες ανακοινώσεις.
Το IPv6 περιλαμβάνει επίσης ειδικούς τύπους διευθύνσεων:
@ -38,7 +38,7 @@ ip neigh | grep ^fe80
# Alternatively, use alive6 for neighbor discovery
alive6 eth0
```
IPv6 διευθύνσεις μπορούν να προκύψουν από τη διεύθυνση MAC μιας συσκευής για τοπική επικοινωνία. Ακολουθεί ένας απλοποιημένος οδηγός για το πώς να προκύψει η Link-local IPv6 διεύθυνση από μια γνωστή διεύθυνση MAC, καθώς και μια σύντομη επισκόπηση των τύπων διευθύνσεων IPv6 και μεθόδων για την ανακάλυψη διευθύνσεων IPv6 εντός ενός δικτύου.
IPv6 διευθύνσεις μπορούν να προκύψουν από τη διεύθυνση MAC μιας συσκευής για τοπική επικοινωνία. Ακολουθεί ένας απλός οδηγός για το πώς να προκύψει η Link-local IPv6 διεύθυνση από μια γνωστή διεύθυνση MAC, καθώς και μια σύντομη επισκόπηση των τύπων διευθύνσεων IPv6 και μεθόδων για την ανακάλυψη διευθύνσεων IPv6 εντός ενός δικτύου.
### **Προκύπτοντας Link-local IPv6 από Διεύθυνση MAC**
@ -51,16 +51,16 @@ IPv6 διευθύνσεις μπορούν να προκύψουν από τη
### **Τύποι Διευθύνσεων IPv6**
- **Unique Local Address (ULA)**: Για τοπικές επικοινωνίες, δεν προορίζεται για δημόσια δρομολόγηση στο διαδίκτυο. Πρόθεμα: **`FEC00::/7`**
- **Multicast Address**: Για επικοινωνία ένα προς πολλούς. Παράγεται σε όλες τις διεπαφές της ομάδας multicast. Πρόθεμα: **`FF00::/8`**
- **Anycast Address**: Για επικοινωνία ένα προς τον πλησιέστερο. Αποστέλλεται στην πλησιέστερη διεπαφή σύμφωνα με το πρωτόκολλο δρομολόγησης. Μέρος της παγκόσμιας μοναδικής διεύθυνσης **`2000::/3`**.
- **Multicast Address**: Για επικοινωνία one-to-many. Παράγεται σε όλα τα interfaces της ομάδας multicast. Πρόθεμα: **`FF00::/8`**
- **Anycast Address**: Για επικοινωνία one-to-nearest. Αποστέλλεται στο πλησιέστερο interface σύμφωνα με το πρωτόκολλο δρομολόγησης. Μέρος της παγκόσμιας 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 Κόμβοι Δρομολογητών
- **2000::/3**: Global Unicast
- **ff02::1**: Multicast All Nodes
- **ff02::2**: Multicast Router Nodes
### **Ανακαλύπτοντας Διευθύνσεις IPv6 εντός ενός Δικτύου**
@ -90,17 +90,17 @@ ip -6 neigh # Display the neighbor table
### Exploring Subdomains
Μια μέθοδος για να βρείτε υποτομείς που είναι πιθανώς συνδεδεμένοι με διευθύνσεις IPv6 περιλαμβάνει την εκμετάλλευση μηχανών αναζήτησης. Για παράδειγμα, η χρήση ενός προτύπου ερωτήματος όπως το `ipv6.*` μπορεί να είναι αποτελεσματική. Συγκεκριμένα, η ακόλουθη εντολή αναζήτησης μπορεί να χρησιμοποιηθεί στο Google:
Μια μέθοδος για να βρείτε υποτομείς που είναι πιθανώς συνδεδεμένοι με διευθύνσεις IPv6 περιλαμβάνει την εκμετάλλευση μηχανών αναζήτησης. Για παράδειγμα, η χρήση ενός προτύπου ερωτήματος όπως `ipv6.*` μπορεί να είναι αποτελεσματική. Συγκεκριμένα, η ακόλουθη εντολή αναζήτησης μπορεί να χρησιμοποιηθεί στο Google:
```bash
site:ipv6./
```
### Χρησιμοποιώντας Ερωτήματα DNS
### Χρήση Ερωτημάτων DNS
Για να εντοπιστούν διευθύνσεις IPv6, μπορούν να γίνουν ερωτήματα σε ορισμένους τύπους εγγραφών DNS:
- **AXFR**: Ζητά μια πλήρη μεταφορά ζώνης, αποκαλύπτοντας ενδεχομένως ένα ευρύ φάσμα εγγραφών DNS.
- **AAAA**: Αναζητά άμεσα διευθύνσεις IPv6.
- **ANY**: Μια ευρεία ερώτηση που επιστρέφει όλες τις διαθέσιμες εγγραφές DNS.
- **ANY**: Ένα ευρύ ερώτημα που επιστρέφει όλες τις διαθέσιμες εγγραφές DNS.
### Δοκιμή με Ping6
@ -108,7 +108,7 @@ site:ipv6./
## Τεχνικές Επιθέσεων Τοπικού Δικτύου IPv6
Οι παρακάτω ενότητες καλύπτουν πρακτικές επιθέσεις IPv6 επιπέδου 2 που μπορούν να εκτελούνται **μέσα στο ίδιο τμήμα /64** χωρίς να γνωρίζετε κανένα παγκόσμιο πρόθεμα. Όλα τα πακέτα που εμφανίζονται παρακάτω είναι **link-local** και ταξιδεύουν μόνο μέσω του τοπικού διακόπτη, καθιστώντας τα εξαιρετικά αόρατα σε πολλές περιβάλλοντα.
Οι παρακάτω ενότητες καλύπτουν πρακτικές επιθέσεις IPv6 επιπέδου 2 που μπορούν να εκτελούνται **μέσα στο ίδιο /64 τμήμα** χωρίς να γνωρίζετε κανένα παγκόσμιο πρόθεμα. Όλα τα πακέτα που εμφανίζονται παρακάτω είναι **link-local** και ταξιδεύουν μόνο μέσω του τοπικού διακόπτη, καθιστώντας τα εξαιρετικά αόρατα σε πολλές περιβάλλοντα.
### Ρύθμιση Συστήματος για Σταθερό Εργαστήριο
@ -195,11 +195,11 @@ argp.add_argument('-t','--time',type=int,default=0,help='Duration (0 = infinite)
a = argp.parse_args()
sniff(iface=a.interface,prn=handler,timeout=a.time or None,store=0)
```
Αποτέλεσμα: μια πλήρης **τοπολογία τοπικής σύνδεσης** (MAC ⇄ IPv6) μέσα σε λίγα δευτερόλεπτα, χωρίς να ενεργοποιηθούν τα συστήματα IPS/IDS που βασίζονται σε ενεργές σάρωσεις.
Αποτέλεσμα: μια πλήρης **τοπολογία link-local** (MAC ⇄ IPv6) μέσα σε λίγα δευτερόλεπτα, χωρίς να ενεργοποιήσετε συστήματα IPS/IDS που βασίζονται σε ενεργές σάρωσεις.
### Spoofing Διαφημίσεων Δρομολογητή (RA)
Οι IPv6 hosts βασίζονται σε **ICMPv6 Διαφημίσεις Δρομολογητή** για την ανακάλυψη της προεπιλεγμένης πύλης. Αν εισάγετε πλαστές RAs **συχνότερα** από τον νόμιμο δρομολογητή, οι συσκευές θα αλλάξουν σιωπηλά σε εσάς ως πύλη.
Οι IPv6 hosts βασίζονται σε **ICMPv6 Router Advertisements** για την ανακάλυψη της προεπιλεγμένης πύλης. Αν εισάγετε πλαστές RAs **συχνότερα** από τον νόμιμο δρομολογητή, οι συσκευές θα αλλάξουν σιωπηλά σε εσάς ως πύλη.
```python
#!/usr/bin/env python3
from scapy.all import *
@ -227,6 +227,33 @@ sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
#### Σημαίες Διαφήμισης Δρομολογητή (M/O) & Προτίμηση Προεπιλεγμένου Δρομολογητή (Prf)
| Σημαία | Σημασία | Επίδραση στη Συμπεριφορά του Πελάτη |
|--------|---------|------------------------------------|
| **M (Διαχείριση Διεύθυνσης)** | Όταν είναι ρυθμισμένο σε `1`, ο υπολογιστής ΠΡΕΠΕΙ να χρησιμοποιεί **DHCPv6** για να αποκτήσει τη διεύθυνση IPv6 του. | Όλη η διευθυνσιοδότηση προέρχεται από το DHCPv6 τέλειο για δηλητηρίαση τύπου *mitm6*. |
| **O (Άλλη Διαμόρφωση)** | Όταν είναι ρυθμισμένο σε `1`, ο υπολογιστής θα πρέπει να χρησιμοποιεί το **DHCPv6** μόνο για να αποκτήσει *άλλες* πληροφορίες (DNS, NTP, …). | Διεύθυνση μέσω SLAAC, αλλά το DNS μπορεί να παραβιαστεί με το DHCPv6. |
| **M=0 / O=0** | Καθαρό δίκτυο SLAAC. | Μόνο κόλπα RA / RDNSS είναι δυνατά το DHCPv6 δεν θα σταλεί από τους πελάτες. |
| **M=1 / O=1** | Μικτό περιβάλλον. | Χρησιμοποιούνται τόσο το DHCPv6 όσο και το SLAAC; η επιφάνεια για παραπλάνηση είναι η μεγαλύτερη. |
Κατά τη διάρκεια ενός pentest, μπορείτε απλά να επιθεωρήσετε τη νόμιμη RA μία φορά και να αποφασίσετε ποιο διανυσμα είναι εφικτό:
```bash
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
```
Κοιτάξτε το πεδίο `flags [M,O]` στο dump δεν απαιτείται μαντεψιά.
Το **Prf** (Router Preference) πεδίο μέσα στην κεφαλίδα RA ελέγχει πόσο ελκυστικός φαίνεται ο κακόβουλος δρομολογητής σας όταν υπάρχουν *πολλαπλές* πύλες:
| Τιμή Prf | Δυαδικό | Σημασία |
|----------|---------|---------|
| **Υψηλό** | `10` | Οι πελάτες προτιμούν αυτόν τον δρομολογητή από οποιονδήποτε *Μεσαίο*/*Χαμηλό* |
| Μεσαίο (προεπιλογή) | `01` | Χρησιμοποιείται από σχεδόν κάθε νόμιμη συσκευή |
| Χαμηλό | `00` | Επιλέγεται μόνο όταν δεν υπάρχει καλύτερος δρομολογητής |
Όταν δημιουργείτε το πακέτο με το Scapy μπορείτε να το ρυθμίσετε μέσω της παραμέτρου `prf` όπως φαίνεται παραπάνω (`prf=0x1` → Υψηλό). Συνδυάζοντας **Υψηλό Prf**, ένα **σύντομο διάστημα** και μια **μη μηδενική διάρκεια ζωής** καθιστά την κακόβουλη πύλη σας εξαιρετικά σταθερή.
---
### RDNSS (DNS) Spoofing μέσω RA
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) επιτρέπει την προσθήκη μιας επιλογής **Recursive DNS Server (RDNSS)** μέσα σε ένα RA. Οι σύγχρονοι λειτουργικοί συστήματα (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) το εμπιστεύονται αυτόματα:
@ -253,9 +280,9 @@ send(ra,iface=args.interface,loop=1,inter=args.interval)
### DHCPv6 DNS Spoofing (mitm6)
Αντί για SLAAC, τα δίκτυα Windows συχνά εξαρτώνται από **stateless DHCPv6** για το DNS. [mitm6](https://github.com/rofl0r/mitm6) απαντά αυτόματα σε μηνύματα `Solicit` με μια ροή **Advertise → Reply** που αναθέτει **τη διεύθυνση link-local σας ως DNS για 300 δευτερόλεπτα**. Αυτό ξεκλειδώνει:
Αντί για SLAAC, τα δίκτυα Windows συχνά εξαρτώνται από το **stateless DHCPv6** για το DNS. [mitm6](https://github.com/rofl0r/mitm6) απαντά αυτόματα σε μηνύματα `Solicit` με μια ροή **Advertise → Reply** που αναθέτει **τη διεύθυνση link-local σας ως DNS για 300 δευτερόλεπτα**. Αυτό ξεκλειδώνει:
* Επιθέσεις NTLM relay (WPAD + DNS hijacking)
* NTLM relay επιθέσεις (WPAD + DNS hijacking)
* Παρεμβολή στην εσωτερική ανάλυση ονομάτων χωρίς να αγγίξετε δρομολογητές
Τυπική χρήση:
@ -276,5 +303,6 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
- [RFC 8106 IPv6 ND DNS Configuration](https://datatracker.ietf.org/doc/html/rfc8106)
- [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)
- [Practical Guide to IPv6 Attacks in a Local Network](https://habr.com/ru/articles/930526/)
{{#include ../../banners/hacktricks-training.md}}