You are on page 1of 34

İÇİNDEKİLER

ÖZET…………………………………………………………...…………………………..….i

GİRİŞ….……………………...…………………………………......…………………………i
BÖLÜM 1: LAB ORTAMININ HAZIRLANMASI ............................................................ 1
1.1 VirtualBox Sanallaştırma Platformunun Kurulumu ...................................................... 1

BÖLÜM 2: DHCP (Dynamic Host Configuration Protocol) .............................................. 3


2.1 DHCP Açlık Saldırısı (DHCP Starvation) ..................................................................... 4
2.2 Sahte DHCP Sunuculuğu (Rogue DHCP Server) .......................................................... 5
2.3 DHCP Snooping (DHCP Araya Girme) ......................................................................... 6

BÖLÜM 3: MAC Adres Saldırıları ....................................................................................... 9


3.1 Switch lerde MAC Adresi kullanımı .............................................................................. 9
3.2 MAC adres seli saldırıları ( MAC Flooding ) ................................................................ 9
3.3 MAC adres Sahtekarlığı Saldırısı (MAC adres Spoofing) .......................................... 12
3.4 Port Security .................................................................................................................. 13
3.5 IP Source Guard ............................................................................................................ 15

BÖLÜM 4: ARP Adres Çözümleme Protokolü (Address Resolution Protocol) ............ 17


4.1 ARP Sahtekarlığı (ARP spoofing )............................................................................... 17
4.2 Dynamic Arp İnspection (Dinamik arp denetimi) ....................................................... 19

BÖLÜM 5: Anahtar Sahtekarlığı (Switch Spoofing) ........................................................ 22


5.1 DTP Saldırısını Önleme ................................................................................................ 24

BÖLÜM 6: Spanning-Tree Protokolü (STP) ...................................................................... 25


6.1 Spanning-Tree Saldırıları .............................................................................................. 25
6.2 BPDU Guard ................................................................................................................. 27

BÖLÜM 7: CDP (Cisco Discovery Protocol - Cisco Keşif Protokolü) ............................ 28


7.1 CDP Seli (Flood) Saldırısı ............................................................................................ 28
7.2 CDP Flood Saldırısını Önleme .................................................................................... 30
SONUÇ VE ÖNERİLER ...................................................................................................... 31

TABLOLAR DİZİNİ
Tablo 1. Sanallaştırma Tablosu ................................................................................................. 1
Tablo 2. Port Security Port İhlal Davranışları ......................................................................... 15
Tablo 3. DTP Port Davranışları ............................................................................................... 22
GİRİŞ
Günümüz ağ yapısında 7 katmanlı OSI referans modelini ele aldığımızda 2. katman (layer 2)
yani veri bağlantısı katmanı (data link) en zayıf görünen ve korunması göz ardı edilen katman
olarak karşımıza çıkıyor. Ağ güvenliğinin sağlanabilmesi için tüm OSI katmanlarının
güvenliğinin sağlanması gereklidir. Üst katman güvenlikleri sağlanıp ikinci katman
güvenliğinin ele alınmaması ağ güvenliğinin tam olarak sağlanmadığını gösterir. Kısacası “Bir
zincir, en zayıf halkası kadar güçlüdür.” prensibinden yola çıkarak, bir ağ en zayıf ve göz ardı
edilen katman kadar saldırılara dayanıklıdır sonucuna ulaşırız. Ayrıca 2.Katman bir şekilde
istismar edildiğinde bunun diğer katmanları da tehlikeye atacağını unutmak gerekir. Bu
çalışmada 2. Katman (Layer 2) saldırıları türlerini ve bu saldırılara karşı alınabilecek önlemlere
değinilmiştir.

i
BÖLÜM 1: LAB ORTAMININ HAZIRLANMASI

Bu bölümde sanal makine için Oracle VM Virtualbox kurulumu, saldırıyı yapacak OS için Kali
Linux kurulumu, saldırı senoryaları için Cisco Switch, Cisco Router, GNS3 ve istemci işletim
sistemi XP kurulumu yapılarak sanal bir lab hazırlaması ele alınacaktır.

1.1 VirtualBox Sanallaştırma Platformunun Kurulumu

Bu proje uygulamasında uygulamanın gerçekleştirileceği lab ortamı için sanallaştırma


platformu olarak VirtualBox tercih edilmiştir. İlk olarak aşağıda belirtilen indirme sayfasından
Virtuabox uygulaması kurulacak bilgisayara indirilir. İndirme işlemi tamamlandıktan sonra
kurulum gerçekleştirilir. Aşağıdaki tabloda kaynaklar belirtilmiştir.

Tablo 1. Sanallaştırma Tablosu


Sanal Sanal
Makinenin Makine Açıklama Tedarik Edilen Kaynak
Lab İsmi İsmi
Network Sanallaştırma
GNS3 VM https://www.gns3.com
Platformu
Saldırı amaçlı işletim
Kali_Linux Kali https://www.kali.org
sistemi
Client xp İstemci işletim sistemi https://www.microsoft.com

Kali Linux ve XP işletim sistemleri ISO formatında olduğu için sanallaştırma platformumuz
Virtual Box içerisine yeni makine olarak kurulur. GNS3 VM makinesi OVA formatında
olduğundan içeri aktar seçeneği ile direk kullanıma hazır hale gelir. GNS3 simülatör
programı ise kendi bilgisayarımıza kurulumu gerçekleştirilir. GNS3 programı kurulduktan
sonra sanal router, switch GNS3 VM makinesine import edilerek çalıştırılması sağlanır.
Kurulumlar tamamlandıktan sonra saldırı amaçlı Kali Linux e Macof ve Yersinia araçları
ayrıca yüklenir. Virtual Box platformundan sanal network yaratılarak tüm sanal olarak
kurulan makineler birbirleri ile iletişim kurulabilir hale getirilir.

1
Şekil 1. Sanal Makinelerin VirtualBox’ da Kurulumu

Şekil 2. GNS3 Programının Kurulumu

Şekil 3. GNS3 Lab Topolojisi

2
BÖLÜM 2: DHCP (Dynamic Host Configuration Protocol)

DHCP, bir ağa katılmak isteyen cihazların otomatik olarak ağ konfigürasyonlarının yapılmasını
sağlayan protokoldür. Cihazın ağa bağlanmasında ihtiyaç duyduğu tüm gerekli bilgiler DHCP
tarafından sağlanır. DHCP sayesinde ağa bağlanan cihazlara, DNS sunucu adresi, varsayılan
gateway ve varsa proxy sunucu ayarları da gönderilir. DHCP istemci/sunucu mimarisiyle
çalışır. İstemci/sunucu arasındaki paketler UDP protokolü ile taşınır.

İstemcinin ağa ilk katıldığı durumda, istemci bir DHCP keşif (Discovery) paketi hazırlayarak
ağa gönderir. Bu mesajın amacı ağdaki DHCP sunucuyu bulmaktır. DHCP keşif paketini alan
DHCP sunucu, paketi gönderen bilgisayara ip havuzunda uygun bir IP adresi ile birlikte bu IP
adresini ne kadar süre kiralayabileceğini (Lease Time) içeren bir DHCP teklif (Offer) paketi
gönderir. İstemci DHCP teklif paketinde belirtilen IP adresini ve kira süresini kabul ettiğinde
DHCP sunucuya isteği yani IP adresi ve kira süresini içeren DHCP istek (Request) paketini
gönderir. DHCP Sunucu istemciye (eğer uygunsa) DHCP istek paketinde bulunan IP adresini
kiralar. Kiralanan IP adresi eğer istemci tarafından kira süresi sonunda yenilenmez ise başka
bir cihaza kiralanabilir. Bu sebeple istemci, IP'nin kira süresinin yarısı dolduğunda DHCP
sunucu ile iletişime geçerek kullandığı IP adresinin yenilenmesini talep eder. Özel bir durum
söz konusu değil ise DHCP sunucu isteği kabul ederek kira süresini uzatır.

DHCP saldırı simülasyonu için aşağıda belirtilen şekildeki Lab Topolojisi kullanılacaktır.

Şekil 4. DHCP Saldırı Topolojisi

3
2.1 DHCP Açlık Saldırısı (DHCP Starvation)

Bu saldırıda Router DHCP Server rolünde yapılandırılır.

Şekil 5. Router üzerinde DHCP Server Yapılandırması

DHCP sunucusuyla aynı ağda bulunan saldırgan, DHCP havuzu içerisindeki tüm IP adreslerini
kiralayabilmek için sahte MAC adresleri üreterek kısa sürede çok sayıda DHCP keşif paketi
gönderir. Bu saldırı ile DHCP havuzunda kullanılacak boşta IP adresi kalmaz ve sunucunun
hizmet vermesi engellenmiş olur. Saldırıyı simüle etmek için Kali Linux ile Yersinia aracını
kullanıyoruz. Yersinia aracını terminalden “yersinia –G” ile çalıştırdıktan sonra DHCP
sekmesini seçiyoruz ve “sending DISCOVER packet” seçeneğini seçip “OK” tuşuna basıyoruz.

Şekil 6. Yersinia ile DHCP Açlık Saldırısı

4
Şekil 7. DHCP Server IP havuzunun doldurulması

Şekilde de görüldüğü gibi saldırı sonrası “244” tane ip adresi kiralanarak ip havuzu
doldurulmuş ve DHCP sunucusu hizmet veremez duruma gelmiştir.

2.2 Sahte DHCP Sunuculuğu (Rogue DHCP Server)

Saldırgan gerçek DHCP sunucusunun hizmetini engelledikten sonra kendi üzerinde sahte bir
DCHP sunucu servisi çalıştırır.

Ağa bağlanan cihazlara DHCP teklif (request) paketi ile yanıt sağlayarak kullanıcının ağ
bilgileri içerisindeki varsayılan ağ geçidi adresini istediği bir adres ya da kendi adresi olarak
gösterebilir.

İstemci saldırganın gönderdiği bilgileri onaylayıp DHCP istek paketi gönderir. Böylece istemci
saldırganın belirlemiş olduğu IP, varsayılan ağ geçidi, DNS, vs.. bilgileri kullanır.

5
2.3 DHCP Snooping (DHCP Araya Girme)

Ağda sahte DHCP sunucusu çalıştıran (Rogue DHCP Server) bir saldırgan, aynı ağda DHCP
isteğinde bulunan istemci cihazlara varsayılan ağ geçidi adresini kendisine ait olan bir adres
içeren DHCP cevabı dönebilir. İstemci bu cevabı aldığı andan itibaren ağ geçidi adresi olarak
bu sahte adresi kullanmaya başlar ve yerel ağın dışında bir adresi gönderilen paketler ilk olarak
atak yapan kişinin makinesine yönlenir. Saldırgana ulaşan paketler daha sonra gitmeleri
gereken asıl adrese yönlendirilir. Saldırgan bu şekilde istemci ile ulaşılması istenen adres
arasına girmiş olur. Bu tür saldırı tipleri ortadaki adam olarak adlandırılır. Ayrıca istemciyi
gitmek istediği İnternet adreslerinin yerine kendi istediği internet sayfalarına yönlendirebilir
veya DHCP Açlık saldırısı yaparak (DHCP Starvation) DHCP sunucusunu işlevsiz hale
getirebilir. İstemci güvenliğini ve gizliliğini tehdit eden bu durumu engellemek için Cisco
cihazlar üzerinde DHCP araya girme (DHCP Snooping) özelliği geliştirilmiştir.

Şekil 8. DHCP Snooping (DHCP Araya Girme) Topolojisi

DHCP Snooping yapılandırmasında switch’imize yapımızdaki DHCP sunucuların hangi


interface arkasında olduğunu belirtiyoruz. Switch üzerinde bu portları güvenilir (trust) olarak
konfigüre ediyoruz. Cihazımız bu portlar üzerinden DHCP Offer paketi gönderimine izin
veriyor. DHCP sunucusu olmayan portlarımızı da güvenilmeyen (untrust) (default olarak tüm
portlar untrust’dır.) olarak konfigüre ediyoruz. Güvenilmeyen bir port üzerinden gelen DHCP
Offer paketi yukarıdaki şekilde de görüldüğü gibi switch üzerinden geçemiyor. Bu sayede
ortadaki adam (man in the middle) tarzı bir saldırıya karşı bir koruma gerçekleştirmiş oluyoruz.

6
Servis dışı bırakma (Denial of Service) saldırılarını engellemek için ise bir saniyede switch
portundan geçebilecek maksimum DHCP paket sayısını ve eş zamanlı bağlanan maksimum
cihaz sayısı gibi değerlerin belirtilmesi gerekiyor. Bu belirtilen değerleri aşan switch portu
kapatılır veya bir sınırlama getirilir bu sayede saldırının önüne geçebiliriz.

DHCP Snooping ayrıca istemcilerin aldıkları otomatik ayarlar için bir tablo tutar. Tablo
kayıtlarında, hangi IP adresinin hangi MAC adresine ne kadarlık bir kira süresi boyunca
atandığının bilgisi tutulur.

Switch Konfigürasyonu

ip dhcp snooping : DHCP snooping i aktif hale getirmek için kullanılır.

no ip dhcp snooping : DHCP snooping i pasif hale getirmek için kullanılır.

ip dhcp snooping vlan: snooping i bir VLAN üzerinde aktive etmek için kullanılır.

ip dhcp snooping trust : Girilen arayüzdeki portta DHCP snooping i aktif hale getirmek için
kullanılır.

no ip dhcp snooping trust: Porttaki DHCP snooping i özelliğini pasif hale getirmek için
kullanılır.

show ip dhcp snooping: DHCP Snooping port durumlarını görüntüler

7
Şekil 9. DHCP Snooping Tablosu

show ip dhcp snooping binding: Snooping tablosunda hangi interface’den hangi mac adresi
ile hangi ip adresi kiraladığını ve kira süresini görebilmek için kullanılır.

Switch de yukarıda belirtilen komutlarla DHCP Snoopin özelliğini açıyoruz.

Aşağıdaki şekilde görüleceği gibi Kali Linux de Yersina aracı ile DHCP atak yaptığımızda
switch tarafından flood saldırısı engelleniyor.

Şekil 10. Switchte DHCP Snooping

8
BÖLÜM 3: MAC Adres Saldırıları

3.1 Switch lerde MAC Adresi kullanımı

Switch ler portuna bağlı cihaz ilk iletişimi geçtiği sırada gönderilen çerçeveye (frame) bakarak
portlarına bağlı cihazların MAC adreslerini MAC tablolarına kayıt ederler. Switch in modeline
üreticisine göre MAC tablolarının tutabileceği kayıt sayısı farklıdır. Switch cihazında portlar
arasındaki iletişim switch e kayıt edilen MAC adres tablolarına bakılarak yapılır. MAC adres
tablosunda; port numaraları, porta bağlı olan cihazların MAC adresleri ve bağlı olduğu ilgili
portun bilgileri yer alır. Switchler öncelikle portlarına gelen bir çerçevenin (frame) hedef MAC
adres kısmına bakıp sonra çerçeve içerisindeki hedef MAC adresinin kendi MAC adres
tablosunda olup olmadığını sorgular, eğer adresi tabloda bulunursa çerçeve ilgili porta
gönderilir bu işleme anahtarlama (switching) denir.

3.2 MAC adres seli saldırıları ( MAC Flooding )

Saldırgan bu saldırı tipinde bağlı olduğu switch in portuna MAC tablosunu taşıracak kadar
MAC adresi gönderir. Switch, portuna takılan yeni bir cihazın mac adresini tablosuna kayıt
edemez hale gelir. Yaşanan bu duruma MAC tablosu taşması (MAC table overflow) denir. Bu
duruma gelen switch, herhangi bir portundan gelen trafiği bütün portlarına yollar. Başka bir
değişle switch akıllı olma özelliğini kaybederek hub gibi davranır. Bu durumda saldırgan
switchdeki tüm portlardan gelen trafik dinleyebilir ve switchin verimli çalışmasında olumsuz
etkiye sebep olur. Aynı zamanda networkte aşırı trafiğe sebebiyet verir hatta switch down
duruma gelebilir. Aşağıdaki topolojiyi GNS3 programı ile oluşturup atağı gerçekleştireceğiz.

Şekil 11. MAC adres seli saldırı ( MAC Flooding ) Topolojisi

9
Bu saldırıda Kali Linux e kurulu Macof aracı kullanılmıştır. Macof aracı switchde dakikada
155.000 sahte MAC adresi oluşturabilir. Saldırı başladığında sahte MAC adresleri üretilerek
switchin MAC tablosunu doldurulur. Kali Linux terminale “macof -i eth0” komutunu girerek
saldırıyı başlatıyoruz.

Şekil 12. Macof MAC adres seli saldırısı ( MAC Flooding )

Saldıraya başladıktan sonra switch terminalinde “Show mac address-table” komutun girerek
eth0/1 portunda yüzlerce MAC adresinin MAC tablosuna eklendiğini görebiliriz.

10
Şekil 13. MAC adres seli saldırısı ( MAC Flooding )

11
3.3 MAC adres Sahtekarlığı Saldırısı (MAC adres Spoofing)

Şekil 14. MAC adres Spoofing Saldırı Topolojisi

Saldırgan, switch’e gönderilen frame’lerin içerisindeki ‘kaynak MAC adresi’ kısmına dinlemek
istediği bilgisayarın MAC adresini yazar. Switch, MAC adres tablosunu bu duruma göre
günceller. Bu durumda switch’in MAC adres tablosunda, saldırganın bağlanmış olduğu
switch’in portu için iki adet MAC adresi yer almış olur. (Saldırganın MAC adresi ve hedef
bilgisayarın MAC adresi) Hedef bilgisayara gönderilen çerçeveler (frame’ler) böylece
saldırganın bilgisayarına gönderilmiş olur. Hedef bilgisayar ağa paket gönderene kadar bu
durum devam edecektir. Senaryomuzda Kali Linux e kurulu Yersinia aracı ile Client in MAC
adresi “aa:bb:bb:cc:02:00” spoof ederek eth0 interface ine kayıt edilmesini sağlıyoruz.

Şekil 15. MAC adres Spoofing Saldırısı

12
3.4 Port Security

MAC adres taşmalarını engellemek için port security özellikleri aktif edilir. Port security ile
switch portundaki MAC adresler statik olarak ayarlanabilir veya switchin sınırlı sayıda MAC’i
otomatik öğrenmesi ayarlanabilir. Bir port için izin verilen MAC sayısını 1 ile sınırlandırılarak
ağın yetkisiz genişletilmesi engellenmiş olur.

Şekil 16. MAC Flood Saldırısı

Yukarıdaki senaryomuza göre çok sayıda mac adresi eth0’dan geliyorsa, bu bağlantı
noktasındaki MAC adreslerini sınırlayabilir. Port Security aktif edildiğinde, porttaki trafik
sınırın dışına çıkarsa, switchde bir ihlal (violation) olur ve bu ihlale göre konfigürasyondaki
yaptırım uygulanır.

Örnek senaryomuzda eth0 arayüzü (port) üzerinde port güvenliği yapılandırılmıştır. Maximum
1 parametresi ile ilgili portun en fazla 1 MAC adresi öğrenmesi, sticky parametresi ile de bu
öğrenme işleminin otomatik olması ve kalıcı hale gelmesi sağlanmıştır. violation shutdown ile
de ihlal durumunda port kapanacaktır.

13
Şekil 17. Port Security

Switch konfigürasyonu

switchport port-security : Port Security aktif edilir

switchport port-security maximum 1 : Porta maximum 1 Mac adres atanabilir.

switchport port-security mac-address sticky : Porta otomatik Mac adres atanır.

switchport port-security violation shutdown : Port ihlalinde port kapatılır.

Port güvenliği ihlal modu yukarıdaki örnekteki gibi shutdown ayarlanmış ise ihlalden sonra
portu etkinleştirmek için; önce shutdown sonra no shutdown komutları girilmelidir.

Aşağıdaki komutu kullanarak bağlantı noktasını ihlalden sonra müdahale olmadan otomatik
kurtarabiliriz. (30 saniye sonra port normal duruma döner, ihlal devam ediyorsa tekrar
shutdown olur)

errdisable recovery cause psecure-violation

errdisable recovery interval 30

errdisable recovery cause psecure-violation

errdisable recovery interval 30

14
Port Security Komut Açıklamaları
switchport port-security : Port-Security aktif edilir.
aging (aging type inactivity) : İlgili mac adreslerinin tablodan silinmesini gerektirecek şart
belirlenir.
aging (aging time x) : Mac adresi x dakika “inactivity” modunda kaldıktan sonra tablodan
silineceğini gösterir.
Mac-address : Porta bağlı cihazın Mac adresi yazılır.
Mac-address Sticky: porta bağlı cihazların mac adresi öğrenilip etiketlenir
Maximum : Port üzerinde izin verilecek mac adresi sayısı belirlenir.
Violation: İzinsiz mac’lere switch tarafından uygulanacak yaptırım belirlenir.

Tablo 2. Port Security Port İhlal Davranışları


Güvenlik İhlal Modu Davranışları
Syslog Mesajı İhlal sayacını
İhlal Modu Trafiği ilet Port u kapat
Gönder artır
Protect Hayır Hayır Hayır Hayır
Restrict Hayır Evet Evet Hayır
Shutdown Hayır Evet Evet Evet

3.5 IP Source Guard

Switch portlarında Mac adres sahteciliğini (MAC adres spoofing) önlemek için IP trafigini,
dinamik yada manuel konfigüre edilmis IP Source Binding tablosu ile karşılaştırarak
kısıtlamaya yarayan güvenlik özelliğidir. IP Source Guard özelliğinin kullanılabilmesi için
ortamda DHCP sunucusu ve switchte DHCP Snooping özelliği aktif durumda olmalıdır. IP
Source Binding tablosu dinamik kayıtları DHCP snooping tablosundan alır. IP Source
Guard aktif konuma getirildiginde switch, ilgili interface üzerinde IP Source Binding
tablosunda izin verilen IP ler haricinde bütün IP trafiğini keser. Bu tabloda IP adresleri ve IP
adreslerine karşılık gelen MAC adresleri, bu adreslere ait VLAN bilgileri bulunur. Örnek
senaryomuzda IP Souce Guard özelliğini aktif hale getiriyoruz. Client bilgisayarı IP isteğinde
bulunur. DHCP sunucu “192.168.1.10” ip sini kiralar. Bu işlem sonucu DHCP Snooping
tablosuna aşağıdaki gibi kayıt gerçekleşir.

Şekil 18. IP DHCP Binding

15
Switch Konfigürasyonu

interface eth0/0 ( ip source guard aktif edilecek interface)

ip verify source (ip adresine göre filtreleme aktif hale getirilir.)

ip verify source port-security (ip ve MAC adresine göre filtreleme aktif hale getirilir.)

Şekil 19. MAC Spoofing

Kali Linux saldırganının MAC adresi DHCP Snooping tablosu ile karşılaştırılır. Tablo ile
eşleşmediğinden iletişim sağlanamaz. Eğer ağımızda statik ip verilen cihazlar var ise switch, ip
ve mac adresini dinamik olarak öğrenemeyeceği için statik olarak giriş yapmak gerekir. Eğer
statik giriş yapılmaz ise statik ip ye sahip kullanıcıların network bağlantısı sağlanamaz. Statik
adres girmek için aşağıdaki komutlar kullanılır;

ip source binding macaddress vlan no ip_addresi interface no

ip source binding aabb.bbcc.0200 vlan 10 192.168.1.10 interface eth0/0

16
BÖLÜM 4: ARP Adres Çözümleme Protokolü (Address Resolution Protocol)

Yerel bir ağda IP adreslerinin MAC adresleriyle eşleşmesini sağlayan protokol ARP dır.
Ağdaki bir bilgisayar, başka bir bilgisayar ile iletişime geçmeden önce iletişime geçmek
istediği bilgisayarın MAC adresini bilmesi gerekmektedir. İletişime geçeceği bilgisayarın
MAC adresini öğrenmek için ARP isteği (ARP request) paketi gönderir ARP isteğini alan
switch bu isteği tüm portlarına iletir ama sadece hedef bilgisayar bu ARP isteğine cevap verir.
ARP isteğine cevap alan bilgisayar da bu IP/MAC eşleşmesini kendi ARP tablosuna kayıt
eder.

4.1 ARP Sahtekarlığı (ARP spoofing )

ARP saldırısı yerel ağlarda gerçekleştirilebilen bir saldırıdır. Bu saldırılar farklı amaç
gözetilerek yapılır. Bu amaçları kısaca açıklamak gerekirse;

 Saldırgan hedeflediği bilgisayarın ARP tablosunu sahte ARP mesajlarıyla doldurarak


hedeflediği bilgisayarın göndereceği paketlerin saldırganın istediği adreslere gitmesini
sağlamak

 Saldırgan hedeflediği bilgisayarın paketlerini başka bir bilgisayara göndermesini


sağlayarak bu bilgisayara servis dışı bırakmak (Denial of Service)

 Saldırgan hedeflediği bilgisayarın göndereceği tüm paketlerin, saldırganın bilgisayarı


üzerinden geçmesini sağlayarak araya girme saldırısı gerçekleştirmek. Bu saldırı en
çok kullanılan tip olarak bilinir ve ortadaki adam (Man in the Middle) saldırısıda
denir.

17
Şekil 20. ARP Sahtekarlığı (ARP spoofing )

Bu saldırı senaryomuzda Kali Linux ile tüm ağa sahte ARP Reply paketleri yollayarak
“192.168.1.1” (örnek ağda default gateway) ip sine giden tüm paketler Kali Linux makinesi
yönlendirilecektir.

Sahte ARP saldırısı ( Arp Spoofing ) yapabilmemiz için Kali Linux te “arpspoof –t 192.168.1.2
192.168.1.1” komutunu terminale giriyoruz.

Şekil 21. Yersinia ARP spoofing

Komutu çalıştırdıktan sonra sahte arp paketleri gönderilmeye başlanıyor.

18
Şekil 22. İstemci ARP spoofing

Atak öncesi “192.168.1.1” ip li Router ın MAC adresi “aa:bb:cc:00:02:00” olarak görünüyor.


Atak sonrası “192.168.1.1” ipsinin MAC adresi “08:00:27:ce:63:29” yani Kali Linux
makinemiz ile aynı MAC adrese sahipmiş gibi görünüyor. Artık Client makinesi Router a
göndermek isteği tüm paketlerini Kali Linux makinemize gönderecektir. Yapılan saldırıya ARP
Poisoning (ARP zehirlenmesi) de denilmektedir.

4.2 Dynamic Arp İnspection (Dinamik arp denetimi)

Arp saldırılarını engellemek için geliştirilen güvenlik önlemine Dynamic Arp İnspection
(Dinamik arp denetimi) denmektedir.

Switch üzerinde Dynamic Arp inspection önlemini kullanabilmek için ortamda DHCP
sunucusu ve DHCP snooping özelliğinin aktif olması şarttır. DHCP snooping öğrendiği mac
ve ip adreslerini kendi tablosunda (DHCP snooping binding) kayıt ettiği için bu tablo
içerisindeki mac-ip eşleşme bilgisini kullanılarak mac ve ip adreslerine doğrulama yapar.
Tablodaki değerlere uymayan ARP istekleri engellenir aynı zamanda 0.0.0.0 ya da
255.255.255.255 network ya da broadcast IP adreslerinden gelen ARP isteklerini de
engelleyecektir. DHCP Snooping tablosunu “show ip dhcp snooping binding” komutu ile
görebiliriz.

19
Şekil 23. Dynamic Arp İnspection Topolojisi

Senaryomuzda Kali Linux ve Client makinelerinin bağlı olduğu portlar Vlan 10 a üye
yapılarak “untrust”(güvenilmeyen) olarak DHCP nin çalıştığı ve Default Gateway olarak
ayarlanmış router ın bağlı olduğu port ise “trust”(güvenilen) olarak konfigüre ediyoruz.
Senaryomuzda yok fakat ek olarak “trunk” portlar var ise bu portlarda “trust” olarak
konfigüre edilmelidir.

Switch Komutları

ip dhcp snooping vlan 10 ( Vlan 10 için dhcp snooping aktif edilir )

ip arp inspection vlan 10 ( Vlan 10 için arp inspection aktif edilir )

interface eth 0/3 ( Router ın bağlı olduğu port )

ip dhcp snooping trust ( Port güvenli olarak işaretlenir )

ip arp inspection trust ( Port güvenli olarak işaretlenir )

20
Şekil 24. Dynamic Arp İnspection

Konfigürasyonu tamamladıktan sonra Kali Linux makinesi DHCP serverdan “192.168.1.10”


ip sini alıyor. DHCP snooping alınan ip yi ve mac adresini tablosuna kayıt eder. Kali Linux
makinesinden ARP Spoofing yaptığımızda ARP istekleri engelleniyor ve saldırı başarısız
oluyor.

Ağımızda statik ip ile çalışan cihazlarımız var ise bu ipleri belirtmemiz gerekmektedir.
Aşağıdaki konfigürasyonda Kali Linux makinesi için statik ARP kaydı örneği bulunmaktadır.

arp access-list izinli_pc

permit ip host 192.168.1.10 mac host 0800.27ce.6329

ip arp inspection filter izinli_pc vlan 10

21
BÖLÜM 5: Anahtar Sahtekarlığı (Switch Spoofing)

Şekil 25. Anahtar Sahtekarlığı (Switch Spoofing) Topolojisi

DTP (Dynamic Trunking Protocol - Dinamik Bağlantı Protokolü), sanal yerel ağlara (VLAN)
sahip katman 2 cihazlarının arasındaki bağlantı türlerini, anlaşmalar (negotiation) yoluyla
otomatik olarak belirleyen, Cisco tarafından geliştirilmiş ağ protokolüdür. DTP nin
gerçekleştirilmesi için uygulanabilecek 4 çeşit mod vardır. Bunlardan ilki switchin portları DTP
yönünden Auto (otomatik) veya Desirable (istenen) olabilir. Otomatik ve istenen olan modlar
dışında switch portlarını kendimizde access (erişim) ya da trunk (gövde) olarak
belirleyebiliriz. Dynamic Desirable (Dinamik istenen) ve Dynamic Auto (Dinamik otomatik),
portun otomatik olarak “trunk” moda geçip geçemeyeceğini belirler. Bu modlar "trunk" port
olmaya isteklidir standart olarak desirable (istenen) olan bu portların auto (otomatik) ya da
desirable (istenen) olma durumunda çalışma şekilleri aşağıdaki tablodan anlaşılabilir.

Tablo 3. DTP Port Davranışları

22
Bu atak türünde saldırgan kendini bir switch cihazı gibi davranacak şekilde ayarlar. Daha sonra
bu saldırıyı yapabilmesi için DTP’ye (Dynamic Trunking Protocol) uygun olarak 802.1q
VLAN etiketlemesini yapabilecek bir porta sahip olan bir switch gibi gösterir. Bir portun birden
fazla VLAN’i taşıyabilmesi için “trunk port” olarak tanımlanmış olması gerekir. Saldırganın
amacına ulaşarak bağlı olduğu portu “trunk” port haline getirmesi ağda bulunan tüm
VLAN’lere üye olması ve erişebilmesi sonucunu doğurur.

Saldırıyı Kali Linux e kurulu Yersini aracını kullanarak başlatıyoruz. Kali Linux de yersinia
aracnı çalıştırıp “DTP” sekmesini seçiyoruz.

Şekil 26. Yersinia ile DTP (Dynamic Trunking Protocol) Saldırısı

“enable trunking” seçeneğini işaretleyerek Kali Linux ile Switch arasındaki portu “Trunk port”
olması için sahte DTP mesajları üretiyoruz.

23
Şekil 27. Switchte DTP (Dynamic Trunking Protocol) Saldırısı

Şekilden de anlaşılacağı üzere saldırı sırasında port kapanıp açıldıktan sonra Kali Linux ile
switch arasındaki portun (Eth0/1) trunk olduğu tespit edilir. Saldırı amacına ulaşmıştır. İstenirse
artık switchdeki diğer sanal yerel ağlarla (vlan) iletişime geçilebilir.

5.1 DTP Saldırısını Önleme

DTP ataklarını engellemede aşağıda belirtilen hususlara dikkat edilmelidir;

 Switch portlarında otomatik anlaşma özelliği iptal edilmelidir.

 switchport mode nonegotiate

 Switchin her portu bağlı olduğu cihaza göre manual konfigüre edilmelidir.

 switchport mode Access (porta istemci bağlı ise)

 switchport mode trunk (portta vlan ile işleme yapacak cihaz bağlı ise
(switch,router,vb…)

 Switchde kullanılmayan portlar daima kapalı durumda bırakılmalıdır.

24
BÖLÜM 6: Spanning-Tree Protokolü (STP)

Yerel ağda switch döngülerini (Loop) engellemek amacı ile geliştirilen bir protokoldür. STP
protokolünde her switchin bir “bridge ID” numarası vardır. Bu numara “bridge priority” ve
MAC adresi değerlerinden oluşmaktadır. “bridge priority” değeri varsayılan 32768'dir ve en
düşük “bridge priority” değerine sahip switch BPDU (Bridge Protocol Data Unit/Köprü
Protokolü Veri Birimi) çerçeveleri aracılığıyla kök (root) switch olarak seçimi yapılır.
İstemcilerin bağlı olduğu portlardan gelmemesi beklenir.

6.1 Spanning-Tree Saldırıları

Bir ağa BPDU çerçevesi üretebilen bilgisayar bağlayarak, bağlanan bilgisayarın ürettiği BPDU
çerçevelerinin içindeki "bridge priority" değeri “0” olarak ayarlanır. Böylece ağa bağlanan
bilgisayarın kök switch olması sağlanır. Böylelikle ağ trafiği, bağlanan bu sahte kök(root)
switch gibi davranan bilgisayarın üzerinden geçer. Ayrıca kök(root) switch yerine geçen bu
bilgisayarın ağ kablosunu sürekli olarak tak-çıkar yapırak kök(root) switch seçimi tekrar
başlatılabilir. Bu işlemin sonucunda ağda bağlantı kesintilerine ve performans problemlerine
yol açılabilir.

Şekil 28. Spanning-Tree Protokolü (STP) Saldırı Topolojisi

Yukarıdaki senaryonuzda switch portuna bağlanan Kali Linux makinesinde Yersinia aracı ile
sahte BPDU paketleri göndererek kök(root) switchin Kali Linux makinesi olarak seçimini
sağlayacağız.

25
Şekil 29. Yersinia ile Spanning-Tree Protokolü (STP) Saldırısı

Yersinia STP bölümünü seçip “Claimining Root Role” seçeneğini seçiyoruz ve “OK” tuşuna
basıyoruz.

Şekil 30. Switchte Spanning-Tree Protokolü (STP) Saldırısı

26
Şekilde görüldüğü üzere saldırı öncesi kök(root) switch kendisi iken saldırı sonrası kök(root)
switch Kali Linux olarak seçilmiştir. Bu işlem sonrası ayrıca Kali Linux ün bağlı olduğu Eth0/1
portu root port olarak belirlenmiştir.

6.2 BPDU Guard

Switch üzerinde diğer switch ile bağlantı yapılmayan portlarda BPDU paketlerini geçirmemesi
için BPDU Guard açılmalıdır. BPDU paketleri switchler arasında oluşması gereken pakettir.
Böyle bir paket istemci portundan gelmesi beklenmez. Eğer o porttan BPDU paketleri
geliyorsa, porta ya bir switch bağlanmıştır ya da bilgisayar STP atak yapmaya başlamıştır.
BPDU guard özelliği aktifleştirirsek o porttan gelen BPDU paketi algıladığında portu
kapatacaktır. Böylelikle eğer porta switch bağlandıysa loop olmaktan, bilgisayar tarafından atak
yapıldıysa yapılan atağı göz ardı edecektir. BPDU Guard ı etkinleştirmek için aşağıda belirtilen
komutlar portun konfigürasyonun altına girilmelidir.

Switch Konfigürasyonu

interface range eth0/1

spanning-tree bpduguard enable

Ayrıca yerel ağ yapısında kök(root) switchin değişmesini engellemek için aşağıdaki komut
kök(root) switchin bağlanmaması gereken portlara girilmelidir.

spanning-tree guard root

27
BÖLÜM 7: CDP (Cisco Discovery Protocol - Cisco Keşif Protokolü)

Cisco cihazlara özgü, Layer 2 çalışan ve cihazların birbirini keşfedip bilgi sahibi olmalarını
sağlayan bir protokoldür. Varsayılan olarak çalışır haldedir. 60 sn’de bir aktif portlarından DP
mesajları göndererek bilgi alır ve verir. CDP mesajlarında cihazın adı (hostname), IP adresi,
cihazın modeli ve işletim sistemi sürümü gibi bilgiler yer almaktadır ve bu bilgiler ağ üzerinde
şifresiz bir biçimde açık olarak gönderilmektedir. Cihazların bilgilerinin ağ üzerinden şifresiz
bir biçimde gönderilmesi sakıncalıdır, cihazın markası ve modeli öğrenilirse, o marka ve
modele has olan açıklıklar kullanılarak cihaza saldırılar gerçekleştirilebilir. Cihazlardan
öğrenilen IP bilgileri kullanılarak ağın topolojisi bile tespit edilebilir.

Switch CDP komutları

show cdp neighbours: Bu komutun yürütüldüğü cihaza komşu olan Cisco cihazları gösterir.
show cdp neighbours detail: Bu komut CDP ile alınan bilgilerin detaylı bir şekilde
görüntülenmesini sağlar.
show cdp traffic: CDP ile ilgili genel trafik bilgilerini (toplam paket giriş çıkışı, checksum ve
kapsülleme hataları) gösterir.
clear cdp table: Daha önceden elde edilen CDP bilgilerinin bulunduğu tabloyu siler.

7.1 CDP Seli (Flood) Saldırısı


Şekil 31. CDP Seli (Flood) Saldırı Topolojisi

28
Kali Linuxe kurulu olan yersinia aracı ile bir switche kısa zamanda çok sayıda CDP mesajları
göndererek switchin durmasına/kilitlenmesine neden olabiliriz. Yapılan atak DoS saldırı
sınıfına girer ve switchin CPU’su aşırı yüklenerek cihaz çalışamaz hale gelebilir. Saldırı öncesi
CDP komşuluklarına ve CPU değerleri aşağıdaki şekilde görülmektedir.

Şekil 32. Switchte CDP Seli (Flood) Saldırısı

Şekil 33. Yersinia ile CDP Seli (Flood) Saldırısı

Yersinia aracındaki CDP sekmesini seçip “Launch Attack” simgesine tıklayalım. Çıkan
pencerede “flooding CDP table” seçeneğini aktif ederek “OK” tuşuna basarak saldırıyı
başlatıyoruz.

29
Şekil 34. Switchte CDP Seli (Flood) Saldırısı Sonrası

CDP atağı başladıktan sonra switch değerlerini kontrol ediyoruz. Şekilde görüldü gibi switchin
komşuluk tablosu sahte cihazlar ile doldurulmuş ve switchin CPU kullanımı artmaktadır.

7.2 CDP Flood Saldırısını Önleme

Varsayılan olarak CDP Cisco cihazlarda çalışır haldedir. Uygun görüldüğü takdirde global
yapılandırma modunda “no cdp run” komutu kullanılarak switchde çalışan CDP hizmeti
kapatılabilir. CDP protokolü birçok yerde işimize yarayabilir örneğin olarak trunk portlar arası
native vlan eşleşmediğini bildirir. Tavsiye edilen switchler arasındaki portlarda CDP servisinin
çalışması diğer portlarda kapatılmasıdır. Senaryomuzda Kali Linux’un bağlı olduğu portunda
CDP hizmetini kapatabiliriz.

interface eth0/0 (Kali Linux’un bağlı olduğu port)

no cdp enable (CDP hizmetinin kapatılması)

30
SONUÇ VE ÖNERİLER

Bu projede sanal olarak ağ ortamı, istemci ve saldırı yapacak makine simüle edilmiştir.
Simülasyon boyunca 2. katman seviyesinde ya da 2.katmanı etkileyecek çeşitli saldırılar
gerçekleştirilmiştir. Bu saldırılara karşı alınabilecek önlemler ve saldırı sonuçları
açıklanmaya çalışılmıştır. Saldırılar sonuçlarından da anlaşılacağı üzere 2. katman
seviyesinde tehditlerinde büyük önem taşıdığını ve mutlaka bu önlemlerin alınması gerektiği
anlaşılmaktadır. Bu önlemlerden hariç 2.katmanda kullanılan cihazların sürekli güncel
tutulması gerektiği ve ihtiyaca göre cihazların yenilenmesi gerektiğinde unutulmamalıdır.

Ayrıca 2.katman güvenliğinde projede belirtilen önlemler dışında NAC (Network Access
Control) Ağ Erişim Denetimi kullanılması ve log gönderilerek SIEM (Security information
and event management) çözümü ile NOC (Network operations center) ve SOC (Security
operation center) ekiplerinin gerekli izleme ve müdahale etmesi güvenlik seviyesini
artırılması sağlanmalıdır.

31

You might also like