mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-network/
This commit is contained in:
parent
8be1749f2c
commit
6d5a1c3e25
@ -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}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user