Spanning Tree Protokolü Nedir?

Spanning Tree Protokolü(STP) karmaşık ağ topolojilerinde Katman 2 cihazlarının(Switch), birbiriyle haberleşmesi sırasında meydana gelebilecek sonsuz döngüleri(loop) engelleyen bir Katman 2 protokolüdür. STP, döngüleri engellemek için switch üzerinde bulunan bazı portları bloke durumuna(Block State) getirmektedir. Switchler, port durumlarını(Port State) değiştirecek STP bilgilerini Bridge Protocol Data Unit aracılığıyla paylaşmaktadır.

Tüm Katman 2 cihazları birbirleriyle Bridge Protocol Data Unit(BPDU) adı verilen özel çerçeveler(frame) aracılığıyla haberleşmektedir. Çerçeveler,  döngülerin oluşmasını engelleyecek ve bunu sürekli kılacak gerekli parametreleri içermektedir(root switch ID, gönderen switch ID, root switch’e uzaklık). BPDU çerçeveleri root olarak seçilmiş switchten 2sn’de(varsayılan hello time süresidir) bir diğer switchlere gönderilmektedir.

 

Topolojinin Gerçek Hali       Port Durumlarının Hesaplanmış Hali        Ağaç Gösterimi

 

Spanning-tree protokolüne yönelik saldırılar BPDU çerçevelerinin manipüle edilmesiyle ortaya çıkmaktadır. Uygulaması yapılacak saldırı türleri DoS Saldırısı ve Man in the Middle Saldırısı olacaktır.

Saldırılar Yersinia kullanılarak gerçekleştirilecektir.

 

1.Spanning-tree Protokolü DoS Saldırı Yöntemi

 

Spanning-tree protokolünün aktif olduğu bir ağ topolojisinde saldırgan tarafından gönderilen çok sayıda ‘BPDU Configuration’ paketleri ile ağı bir süreliğine servis dışı bırakmak mümkün olmaktadır.

 

Verilen topolojide ‘ubuntu’ ve ‘win’ makineleri arasındaki haberleşmenin bir süreliğine kesilmesi amaçlanmaktadır.

Screenshot from 2015-07-23 12:21:22.png

 

stpdos1.png


Screenshot from 2015-07-23 12:52:05.png


Screenshot from 2015-07-23 12:40:52.png

 

Görüldüğü üzere iki makine arasındaki haberleşme saldırı sırasında(yaklaşık 30sn) kesilmektedir. Saldırı devam ettiği sürede saniyede yaklaşık 3000 paket gönderilmektedir.

 

2.Spanning-tree Protokolü Man-in-the-Middle Saldırı Yöntemi

 

Spanning Tree Protokolünün görevi, karmaşık bir ağ topolojisinde döngüleri engellemek ve buna göre döngüye sebep olacak portları Bloke durumuna getirmektir. Bu yüzden ağ üzerinde dolaşan paketlerin izleyeceği alternatif yol sayısı kalmayacaktır. Bu noktada, eğer saldırgan root switch rolünü üstlenirse tüm trafiği izleme yetkisine erişebilmektedir.


Screenshot from 2015-07-23 17:39:56.png

Screenshot from 2015-07-23 17:56:09.png

Örnek topoloji(yukarıda) incelendiğinde saldırgan ağa dahil olmadan önce Spanning-tree protokolü son hesaplamalarıyla şekildeki ağaç yapısında bulunmaktadır.

Screenshot from 2015-07-23 17:53:50.png

   Saldırgan(kali) iki switch arasında bağlantı kurduktan sonra bir döngü problemi oluşmaktadır(ESW4-ESW5-kali). Bu durumda saldırgan Root Rolünü üstlendiğinde ESW4 ve ESW5 switchler arasındaki portlar bloke durumuna geçmektedir.

Bir önceki şemada da görüldüğü gibi bu saldırı için iki ethernet kartına ihtiyaç duyulmaktadır. Salgırganın üzerinden geçen trafiği dinlemek için Ettercap kullanılmaktadır. Saldırı için ise Yersinia programıyla Root Rolünü Talep Etmek(Claiming Root Role) methodu kullanılmaktadır. Saldırı başlatıldığında saldırganın makinesi switch gibi davranıp kendisini Root Switch olarak gösteren bir ‘BPDU Configuration’ paketi yayınlar.

 

Uygulama

 

Yersinia interaktif modda başlatılır.

 

Program STP modda başlamaktadır.

‘i’ tuşuna basarak mevcut olan iki arayüzü de ‘ON’ konumuna getirilir.

Screenshot from 2015-07-23 23:04:58.png

 

Saldırı türünü seçmek için ‘x’ tuşuna basılır. ‘Claiming Root Role’ seçilerek saldırı başlatılır.


Screenshot from 2015-07-23 23:21:28.png

 

Trafiği dinlemek üzere Ettercap başlatılır.



‘Bridge Sniffing’ özelliği başlatılır. Böylece saldırgan makinesindeki iki ağ arayüzü arasındaki trafik, dolayısıyla makine üzerinden geçen trafik izlenmiş olacaktır.


Screenshot from 2015-07-24 11:05:01.pngScreenshot from 2015-07-24 11:05:18.png
Screenshot from 2015-07-24 11:06:04.png

Furkan SANDAL