15- RİP ATTACK
Last updated
Last updated
Yönlendirme Bilgi Protokolü (RIP), kaynaktan hedef ağa en iyi yolu belirlemek için atlama sayısını kullanan dinamik bir yönlendirme protokolüdür. OSI modelinin Ağ katmanında çalışan ve AD değeri 120 olan uzaklık vektörü tabanlı bir yönlendirme protokolüdür. RIP, 520 numaralı bağlantı noktasını kullanır.
Atlama sayısı, kaynak ve hedef ağ arasındaki yönlendiricilerin sayısıdır. En düşük atlama sayısına sahip yol, bir ağa ulaşmak için en iyi yol olarak kabul edilir ve bu nedenle yönlendirme tablosuna yerleştirilir. RIP, kaynak ve hedef arasında izin verilen maksimum atlama sayısını sınırlayarak yönlendirme döngülerini önler. RIP için izin verilen maksimum atlama sayısı 15'tir ve 16 atlama, ağa erişilemez olarak kabul edilir.
Ağ güncellemeleri periyodik olarak değiştirilir.
Güncellemeler (yönlendirme bilgileri) her zaman yayınlanır.
Güncellemelerde tam yönlendirme tabloları gönderilir.
Yönlendiriciler her zaman komşu yönlendiricilerden alınan yönlendirme bilgilerine güvenir. Bu aynı zamanda söylentilere göre yönlendirme olarak da bilinir.
Yönlendirme bilgileri protokolünün üç sürümü vardır: RIP Sürüm1 , RIP Sürüm2 ve RIPng .
RIP v1, yönlendirme güncellemesinde alt ağ maskesi bilgisini göndermediği için Sınıflı Yönlendirme Protokolü olarak bilinir.
RIP v2, yönlendirme güncellemesinde alt ağ maskesinin bilgilerini gönderdiği için Sınıfsız Yönlendirme Protokolü olarak bilinir.
Küçük ve orta ölçekli ağlar: RIP, genellikle orta düzeyde temel yönlendirme ihtiyaçlarını karşılayan küçük ve orta ölçekli ağlarda kullanılır. Tasarımı karmaşık değildir ve minimal destek gerektirir, bu nedenle küçük organizasyonlar için popüler bir seçenektir.
Eski organizasyonlar: Bazı eski organizasyonlar, daha gelişmiş yönlendirme protokolleri henüz oluşturulmadığı için RIP'i hala kullanmaktadır. Bu organizasyonlar, mevcut altyapılarını değiştirmeye veya güncellemeye değmeyebileceğinden, RIP'i yönlendirme çözümleri olarak sürdürmeye devam ederler.
Laboratuvar koşulları: RIP, genellikle laboratuvar ortamlarında test etmek ve öğrenmek için kullanılır. Temel bir yönlendirme protokolü oluşturmak oldukça basittir, bu da onu eğitim amaçları için uygun bir seçenek haline getirir.
Yedekleme veya yedek yönlendirme: Bazı organizasyonlar, ana yönlendirme protokolünün başarısız olması durumunda veya sorunlar yaşandığında RIP'i yedek veya alternatif bir yönlendirme yöntemi olarak kullanabilirler. RIP genellikle diğer yönlendirme protokollerine kıyasla daha az verimli olabilir, ancak bir kriz durumunda yedek olarak kullanılabilir.
Basitlik: RIP, yapılandırılması ve yönetilmesi nispeten basit bir protokol olduğundan, sınırlı kaynaklara sahip küçük ve orta ölçekli ağlar için ideal bir seçimdir.
Kolay uygulama: Kurulumu ve bakımı çok fazla teknik uzmanlık gerektirmediğinden RIP'in uygulanması kolaydır.
Yakınsama: RIP, hızlı yakınsama süresiyle bilinir; bu, ağ topolojisindeki değişikliklere hızla uyum sağlayabildiği ve paketleri verimli bir şekilde yönlendirebildiği anlamına gelir.
Otomatik güncellemeler: RIP, yönlendirme tablolarını düzenli aralıklarla otomatik olarak güncelleyerek paketleri yönlendirmek için en güncel bilgilerin kullanılmasını sağlar.
Düşük bant genişliği yükü: RIP, yönlendirme bilgileri alışverişinde bulunmak için nispeten düşük miktarda bant genişliği kullanır, bu da onu sınırlı bant genişliğine sahip ağlar için ideal bir seçim haline getirir.
Uyumluluk: RIP, birçok farklı türdeki yönlendirici ve ağ cihazıyla uyumludur ve mevcut ağlara entegrasyonu kolaylaştırır.
Sınırlı ölçeklenebilirlik: RIP'in ölçeklenebilirliği sınırlıdır ve karmaşık topolojilere sahip daha büyük ağlar için en iyi seçim olmayabilir. RIP yalnızca 15'e kadar atlama noktasını destekleyebilir; bu, daha büyük ağlar için yeterli olmayabilir.
Yavaş yakınsama: RIP, hızlı yakınsama süresiyle bilinmesine rağmen, diğer yönlendirme protokollerine göre yakınsama daha yavaş olabilir. Bu, ağ performansında gecikmelere ve verimsizliklere yol açabilir.
Yönlendirme döngüleri: RIP bazen yönlendirme döngüleri oluşturabilir, bu da ağ tıkanıklığına neden olabilir ve genel ağ performansını azaltabilir.
Yük dengeleme için sınırlı destek: RIP, karmaşık yük dengelemeyi desteklemez; bu da, yönlendirme yollarının optimumun altında olmasına ve ağ trafiğinin eşit olmayan bir şekilde dağıtılmasına neden olabilir.
Güvenlik açıkları: RIP herhangi bir yerel güvenlik özelliği sağlamadığından, sahtekarlık ve kurcalama gibi saldırılara karşı savunmasız hale gelir.
Bant genişliğinin verimsiz kullanımı: RIP, periyodik güncellemeler için çok fazla bant genişliği kullanır ve bu, sınırlı bant genişliğine sahip ağlarda verimsiz olabilir.
RIP’in kurtarma (recovery) süresi uzundur, bu da değişen topolojinin tekrardan düzenlenebilmesini geciktirir ve ağda istenmeyen döngülere neden olur. Bu döngüler yüzünden de veriler ulaşamaz, kullanıcıya teslim edilemez.
Güncelleme zamanlayıcısı: RIP çalıştıran yönlendiriciler tarafından değiştirilen yönlendirme bilgilerinin varsayılan zamanlaması 30 saniyedir. Bir Güncelleme zamanlayıcısı kullanarak, yönlendiriciler yönlendirme tablolarını periyodik olarak değiştirirler.
Geçersiz zamanlayıcı: 180 saniyeye kadar güncelleme gelmezse hedef yönlendirici bunu geçersiz sayar. Bu senaryoda, hedef yönlendirici işaret atlama değeri o yönlendirici için 16 olarak sayılır.
Tutma zamanlayıcısı: Bu, yönlendiricinin komşu yönlendiricinin yanıt vermesini beklediği süredir. Yönlendirici belirli bir süre içinde yanıt veremezse ölü olarak ilan edilir. Varsayılan olarak 180 saniyedir.
Temizleme süresi: Temizleme süresi içinde yanıt vermemesi durumunda rota girişinin temizlemeye alınacağı süredir. Varsayılan olarak 60 saniyedir. Bu zamanlayıcı rotanın geçersiz ilan edilmesinden sonra başlar ve 60 saniye sonra yani süre 180 + 60 = 240 saniye olur.
Bellman-Ford algoritmasını kullanan bir protokoldür.
Administrative Distance (Yönetim Mesafesi) 120 olarak yer alır.
RIP yönlendiriciler, en iyi yol seçimini yaparken sadece geçtiği cihaz (hop) sayısına bakar.
RIP en fazla 15 hop’u kabul eder. Bu sayı aşıldığı zaman (yani 16. hopa gelince) destination unreachable (kaynak bulunamadı) hatasını verir.
RIP mesajları kapsüle edilmiş şekilde UDP (User Datagram Protocol – Kullanıcı Datagramı Protokolü) segmentinde 520’nci porttan yollanır.
RIP kullanan yönlendiriciler, 30 saniyelik döngüler halinde komşu yönlendiricilere tüm routing (yönlendirme) tablosunu gönderir.
Geçersiz (Invalid): Eğer RIP protokolünü kullanan bir yönlendirici, ağ için 180 saniye boyunca bir güncelleme alamazsa (metrik 16'ya ayarlanarak), yönlendirme geçersiz olarak kabul edilir.
Flush (Çöpe Atma): RIP protokolünü kullanan bir yönlendirici, diğer yönlendiriciden 240 saniye boyunca bilgi alamazsa, yönlendirme tablosundaki ilgili yönlendirme bilgilerini siler.
Holddown (Beklemeye Alma): Yönlendiricilerde döngüyü engellemek için kullanılan bir mekanizmadır. Bekleme süresi 180 saniyedir. Erişilemeyen bir ağ için holddown süresince beklenir. Eski metrikten daha iyi metrikli bir yönlendirme güncellemesi gelmediği sürece bu güncelleme kabul edilmez. 180 saniye sonunda ağın tamamlanmış olduğu düşünüldüğünden yanlış yönlendirme bilgisi gelmeyecektir. Bu nedenle holddown süresi dolduktan sonra gelen güncelleme bilgileri, eski metriğe nazaran daha kötü bile olsa kabul edilir.
Zamanlayıcıyı Güncelle İki gereksiz Yanıt Mesajı arasındaki aralığı kontrol eder. Varsayılan olarak değer 30 saniyedir. Yanıt mesajı tüm RIP özellikli arayüzüne yayınlanır.
RIP, versiyon 1 ve versiyon 2 olmak üzere iki gruptan oluşur. RIP versiyon 1, sınıfsal bir protokoldür. Versiyon 1, subnet maskesini göndermez ve A, B, C ve D sınıflarına göre çalışır. RIP versiyon 2 ise sınıfsız bir protokoldür ve güncelleme bilgilerinde subnet maskesini taşır.
RIP Versiyon 1 (v1):
v1, sınıflar arası yönlendirme (classful routing) özelliğine sahiptir.
v1, periyodik güncellemelerde alt ağ maskesi (subnetmask) bilgisini taşımaz. Bu nedenle, bir ağda alt ağlara (subnetting) ayırma işlemi yapıldığında RIP v1 düzgün çalışmaz.
v1, periyodik güncellemelerini yayın (broadcast) olarak duyurur.
v1 kullanılırken kimlik doğrulama yapılmaz.
v1, sıradaki ağ cihazının adresini bildirmez.
v1, Sabit Uzunluklu Alt Ağ Maskesi (FLSM) destekler.
v1, 6 yük eşitleme (load balancing) izni verir. Varsayılan olarak 4'tür.
"Split horizon" ve "split horizon with poison reverse" özelliklerini destekler.
RIP Versiyon 2 (v2):
v2, Sınıfsız (Classless) bir protokoldür ve Sınıfsız Alanlar Arası Yönlendirme (CIDR) grubunda bulunur.
v2, periyodik güncellemelerinde subnet mask bilgisini taşır. Kullanılan ağda subnetting yapılabilir.
v2, periyodik güncellemelerini çoklu dağıtım (multicast) (224.0.0.9) olarak duyurur.
v2, kullanılırken kimlik doğrulama yapılabilir. (Kimlik doğrulama, ağ boyunca dağıtılan yolların yetkili kaynaklardan geldiğini doğrulamak için kullanılır.)
v2, sıradaki ağ cihazının adresini belirtir.
v2, Değişken Uzunluklu Alt Ağ Maskesi (VLSM) destekler.
v2, elle yönlendirme özetlemesini destekler.
RIP v1 yüklü bir yönlendirici, RIP v2 güncellemelerini de kabul eder; ancak RIP v2 kullanan bir yönlendirici sadece v2 güncellemelerini kabul eder.
Komşu RIPv1 özellikli yönlendiriciden yönlendirme tablosunu göndermesini istemek.
Bir yönlendiricinin yönlendirme tablosunu taşır.
Kullanılan LAB ortamı topolojisi budur ve gerekli IP adresleri arayüzlere atanmıştır; sadece RIPv1 konfigürasyonları yapılmış ve tablolarda bunlar doğrulanmıştır.
1 => Hedef, bir yayın adresidir ve bu bir yayın adresidir.
2 => Kaynak adresinden çıkan MAC adresi.
Paket yapısında kaynak IP adresi 192.168.2.1 ve hedef (yayın) adresi ise 255.255.255.255 olarak belirtilmişti.
Port olarak 520 numaralı portu kullanıyor ve bu bir UDP bağlantısı olduğunu biliyoruz. Veri olarak 24 byte taşıdığını belirtiyor.
Command (Komut): 1 olan bir RIP isteği mesajıdır. RIP mesajlarının 1 numaralı komutu, istek (Request) komutunu temsil eder. Bu, bir cihazın diğer cihazlardan yönlendirme tablosu bilgilerini talep ettiğini gösterir.
Version (Sürüm): 1 olan RIPV1 sürümünü gösterir. Bu, Yönlendirme Bilgi Protokolü'nün birinci sürümünü işaret eder.
Address not specified, Metric (Belirtilmemiş Adres, Metrik): Bu kısım belirli bir adresi hedeflemiyor, genel olarak tüm yönlendirme tablosu girdilerinin bilgisini istiyor. Metrik değeri 16'dır. Metrik, bir rotanın maliyetini ölçer. Metrik değeri 16, bir rotanın erişilemez olduğunu (sonsuz maliyet) gösterir.
Address Family (Adres Ailesi): 0 olarak belirtilmiştir. Bu, belirli bir adres ailesine yönlendirme bilgisi istemediğini gösterir. Yani, genel olarak tüm adres ailelerine yönlendirme bilgisi talep edildiğini ifade eder.
Bu mesaj, diğer cihazlardan mevcut yönlendirme bilgilerini almak için bir cihaz tarafından yayınlanır. Bu bilgiler, yönlendirme tablosunu güncellemek veya eksik bilgileri almak için kullanılabilir.
Bu baktığımız "Request" Pakey yapısıydı.
Burda ise kaynak ip adresi ve hedef ip adresi görülmektedir.
Command (Komut): 2 olan bir RIP yanıt (Response) mesajıdır. Bu, bir cihazın diğer cihazların yönlendirme tablosu isteğine yanıt olarak yönlendirme bilgisi sağladığını gösterir.
Version (Sürüm): 1 olan RIPV1 sürümünü gösterir. Bu, Yönlendirme Bilgi Protokolü'nün birinci sürümünü işaret eder.
IP Address (IP Adresi): 192.168.2.0 olan bir IP adresi ve Metric (Metrik) değeri 1'dir. Bu, belirli bir rotanın IP adresi ve ona ilişkin maliyeti temsil eder. Bu örnekte, 192.168.2.0 ağına erişim için metrik 1 olarak bildirilmiştir. Metrik, bir rotanın maliyetini ölçer ve ne kadar küçükse, o kadar tercih edilir.
Address Family (Adres Ailesi): IP olarak belirtilmiştir (2). Bu, yönlendirme bilgisinin bir IP adresine ait olduğunu gösterir.
Bu mesaj, 192.168.2.0 ağına erişim için bir cihazın yönlendirme tablosunu güncellediğini gösterir. Bu bilgi, diğer cihazların yönlendirme tablolarını güncellemek için kullanılabilir.
Kullanılacak olan topoloji resmine benzer bir yapı olacak ve RIPv2 konfigürasyonu gerçekleştirilecektir.
Paket yapısında, RIPv1 gibi herhangi bir değişiklik yoktur, sadece yayın adresi ve versiyon numarası değişmektedir.
Command (Komut): Bu RIP mesajının türünü belirtir. "Response (Yanıt)" RIP mesajının bir yanıt olduğunu belirtir.
Version (Sürüm): RIP protokolünün sürümünü belirtir. Burada "RIPv2 (2)" olarak belirtilmiş, yani Routing Information Protocol version 2.
IP Address (IP Adresi): Yönlendirilecek ağın IP adresini belirtir. Burada 1.1.1.0 IP adresi olduğu belirtilmiş.
Address Family (Adres Ailesi): İlgili yönlendirme girdisinin hangi adres ailesine ait olduğunu belirtir. Burada "IP (2)" olarak belirtilmiş, yani IPv4 adres ailesine ait olduğunu gösterir.
Route Tag (Yol Etiketi): Yolun etiketini belirtir. Burada 0 olarak belirtilmiş, yani herhangi özel bir etiketleme yapılmamış.
Netmask (Ağ Maskesi): Yönlendirilecek ağın alt ağ maskesini belirtir. Burada 255.255.255.0 olarak belirtilmiş, yani /24 CIDR gösterimine karşılık gelir.
Next Hop (Sonraki İlgili Yönlendirici): Yönlendirme için bir sonraki atlayıcıyı (yönlendirici) belirtir. Burada 0.0.0.0 olarak belirtilmiş, yani bu belirli bir sonraki atlayıcıya yönlendirilmemiş, muhtemelen doğrudan erişim sağlanabilir.
Metric (Metrik): Yönlendirmenin maliyetini veya önceliğini belirtir. Burada 1 olarak belirtilmiş, yani bu yönlendirme yolunun birim maliyeti 1'dir. Daha düşük metrik değeri, daha "iyi" bir yol olduğunu gösterir.
Bu bilgiler, ağ yönlendirme tablolarını güncelleme ve yönlendirme kararları almak için kullanılır.
Burada, topolojimizde RIPv2 versiyonu ile kimlik doğrulama kullanarak nasıl routing alışverişi yapılacağını göreceğiz.
Kullandığım topoloji bu ve hemen geçelim. İki tip kimlik doğrulama türü vardır bunlar;
Düz Metin Kimlik Doğrulaması ve MD5 Kimlik Doğrulaması. Düz metin kimlik doğrulamasında, şifre açık bir şekilde oluşturulur ve iletilir, bu da güvenli değildir. Bir saldırgan, şifreyi ele geçirerek yönlendiricilerde değişiklik yapabilir. Bu nedenle, daha güvenli olan MD5 kimlik doğrulaması tercih edilir.
Hemen yapılandırmaya geçelim ve en önemli nokta, RIPv2 yapılandırmasında kullanılan anahtarın aynı olması gerektiğidir.
0 => Şifresiz şekilde yazmak için: -key-string 0 <şifre>
7 => Şifreli bir şekilde hash'lemek için: -key-string 7 <şifre>
=> Diğer kullanımı ise: key-string 234
Command (Komut): Bu RIP mesajının türünü belirtir. "Request (İstek)" RIP mesajının bir istek olduğunu belirtir. Bu, bir yönlendirici tarafından diğer yönlendiricilere yönlendirme tablosu güncellemesi istendiği anlamına gelir.
Version (Sürüm): RIP protokolünün sürümünü belirtir. Burada "RIPv2 (2)" olarak belirtilmiş, yani Routing Information Protocol version 2 kullanılmaktadır.
Authentication (Kimlik Doğrulama): Mesajın kimlik doğrulama özelliğini belirtir. Burada "Simple Password (Basit Şifre)" olarak belirtilmiş, yani basit bir şifre ile kimlik doğrulaması yapılıyor.
Authentication type (Kimlik Doğrulama Türü): Kimlik doğrulama yöntemini belirtir. Burada "Simple Password (Basit Şifre)" olarak belirtilmiş.
Password (Şifre): Kimlik doğrulaması için kullanılan şifreyi belirtir. Burada "234" olarak belirtilmiş.
Address not specified (Belirtilmemiş Adres): Bu alanda belirli bir IP adresi belirtilmemiş, genel bir istek olduğunu gösterir.
Metric (Metrik): Yönlendirme maliyetini veya önceliğini belirtir. Burada 16 olarak belirtilmiş. Bu, maksimum metrik değeri olan 16'nın kullanıldığını gösterir. Bu, bu yönlendirmenin diğerlerine göre daha yüksek bir maliyetle ilişkilendirildiği anlamına gelir.
Address Family (Adres Ailesi): İlgili yönlendirme girdisinin hangi adres ailesine ait olduğunu belirtir. Burada "Unspecified (Belirtilmemiş)" olarak belirtilmiş, yani belirli bir adres ailesine ait olmayan genel bir istek olduğunu gösterir.
Route Tag (Yol Etiketi): Yolun etiketini belirtir. Burada 0 olarak belirtilmiş, yani herhangi özel bir etiketleme yapılmamış.
Netmask (Ağ Maskesi): Yönlendirilecek ağın alt ağ maskesini belirtir. Burada 0.0.0.0 olarak belirtilmiş, yani bu istek belirli bir ağa değil, genel bir isteğe işaret ediyor.
Next Hop (Sonraki İlgili Yönlendirici): Yönlendirme için bir sonraki atlayıcıyı (yönlendirici) belirtir. Burada 0.0.0.0 olarak belirtilmiş, yani bu belirli bir sonraki atlayıcıya yönlendirilmemiş, muhtemelen doğrudan erişim sağlanabilir.
Bu bilgiler, RIP protokolü üzerinden ağdaki diğer yönlendiricilere yönlendirme bilgileri istenirken kullanılır.
Kötü niyetli bir hacker bunu bulup kendi plandığı saldırı tipinde kullanabilir.
Belirttiğiniz interface arayüzüne gitmek için:
Görüldüğü gibi, kimlik doğrulama yapılandırması başarıyla gerçekleşmiş gibi görünüyor.
Ağ yöneticisi tüm portlara yanlışlıkla bu atamayı yaptı ve bunu kötüye kullanmak istiyorsak, öncelikle bu durumu keşfetmek önemlidir. Sonrasında, kötü niyetli eylemlerde bulunmak yerine ağ yöneticisine durumu bildirmek ve hatayı düzeltmesi için yardımcı olmak daha etik bir davranış olacaktır. Kötüye kullanma niyeti yerine, sorunların çözümüne odaklanmak ve ağ güvenliğini korumak daha sağlıklı bir yaklaşım olacaktır.
Burada isim belirttim ve kaydedilecek yeri seçtim. Ok diyelim.
Görüldüğü gibi sürekli bu şifreyi tespit etmeye çalışacak ve biz de bunu kırmaya çalışacağız.
Daha sonra ise .TXT dosyasına kaydedip bunu kırıcaz.
Görüldüğü gibi şifre başarıyla kırıldı ve artık yönlendiriciye rota ve zehirleme saldırıları yapılabilir.
Benim kullandığım topoloji ve saldırgan makinenin konumu.