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.
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.
Ö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.
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.
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.
Trafiği dinlemek üzere Ettercap başlatılır.
~# ettercap -G
‘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.
Yazar: Barış DURKUT