AraKullanıcı girişiGezintiEn son ağ günlüğü gönderileri
Son yorumlar
En Çok OkunanlarKimler yeni
Bağlantılarİçerik paylaşımı |
ARP Poisoning - ARP ZehirlemesiEthernet protokol mimarisi sebebi ile oluşan bir açıktır. Yaklaşık 10 yıldır bilinmekle birlikte bu açıktan faydalanmak için üst düzey linux/unix bilgisi gerektirdiğinden yapmak zorDU. Bununla birlikte ağ yöneticisi gerektiği zamanlarda ağı dinlemek istediğinde hub’a taktığı uç ve bir sniffer yazılımına ihtiyaç duyardı. Zamanla hub’lar üretimden kalkıp switchler ortaya çıktığından beri ağ yöneticileri artık “yönetilebilir” switchler alarak “mirror” port tanımı yapıp gerektiğinde ağı dinlemektedirler. Detaylı bilgi için; http://www.olympos.org/article/articleview/172/1/10/arp_spoofing Bu yazıda windows altında sorunsuz ve etkili çalışan Cain & Abel yazılımı ile yapılan ARP Poisoning saldırılarının tiplerini ve görme/engelleme/yakalama çeşitleri yeralmaktadır. Doküman eğitim amaçlı hazırlanmıştır 3. şahıslar tarafından kötü amaçlı olarak kullanılması yazarı bağlamadığı gibi umrunda da olmaz. Cain & Abel ne yapar? “Man in the Middle” olarak adlandırılan “ortadaki adam” saldırısını, ARP zehirlemesi kullanarak gerçekleştirir böylece ağ’daki kullanıcıların özel bilgilerini görmektedir. Bunu yaparken desteklediği protokoller oldukça fazladır böylelikle örneğin bir banka/alışveriş sitesinde kredi kartını kullanan bir kullanıcının site/sayfa SSL’li dahi olsa bilgilerini görmek mümkündür. Program kablosuz ağ’lara bağlanarak gene bu tip işlemlerin yapılmasını desteklemektedir. Yazının anlaşılabilmesi için belki bildiğiniz belkide bilmediğiniz bazı protokolleri ve terimleri açıklamak gerekli. Lütfen ne kadar “biliyorumda” desenizde “SÖZLÜK” bölümünü gözden geçirmeyi ihmal etmeyin. Sözlük: IP (http://tr.wikipedia.org/wiki/IP); Internet Protocol, internet ağ’ına bağlı her cihazın kendine ait en az bir adet IP adresi vardır bu adres başka hiçbir cihazda yoktur. Böylelikle “adresleme” sağlanmaktadır. IP protokol’ünü geliştiren ekip DOD modelini geliştirmiştir ve daha sonra geliştirilen OSI modelini “benimsememiştir”. Bu bakımdan bilişime yeni başlayan birinin L2’si eskilerin L1’ine denk gelmektedir, bu da bazen karışıklıklara sebep olmaktadır. IPv4 (http://tr.wikipedia.org/wiki/IP_adresi); 32bit uzunluğuna sahiptir, güvenlik özelliği yoktur. Bu bakımdan güvenli haberleşmeyle ilgili protokoller daha üst katmanlarda çalışır. IPv6 (http://tr.wikipedia.org/wiki/IPv6); 128bit uzunluğundadır, güvenlik özelliği vardır. Yaklaşık 10 yıldır geliştirilmektedir ve yaygınlaşması için belirlenen plana göre 2007 yılında tüm dünyanın geçmesi beklenmektedir. Ethernet; Dünyada en yayğın olarak kullanılan arabirimin adıdır. 1973 yılında Xerox firması tarafından geliştirilmiş ve standartları DEC, Intel ve Xerox tarafından belirlenmiştir. Yaygın kullanıma 3Com firması sunmuştur. Wirespeed (http://en.wikipedia.org/wiki/Wirespeed); Switch’e gelen paketin işlenmesi gecikmelere sebep olur (switch marka modeline göre; 10Mbit 40-70ms, 100Mbit 11-30ms, 1Gbit 4-8ms). Wirespeed özelliğine sahip switch’te böyle bir gecikme yaşanmaz. Böylece örneğin 1Gbit hızındaki porttan saniyede enaz 84byte’lık 1.448.000 adet, 1500byte’lık 83.333 paket (10Mbit’te 84byte’lık 14.880 adet, 100Mbit’te 84byte’lık 148.800 adet” veya “10Mbit’te 1500byte’lık 833 paket, 100Mbit’te 1500byte’lık 8.333 paket) gecikmeksizin işlenerek geçer. Switch (http://tr.wikipedia.org/wiki/Switch); Anahtarlayıcı, portlarına takılı cihazların, host’ların, sunucuların ve istemcilerin macid’lerini ve hangi port’larda olduklarını kendi üstündeki bir tabloda tutarak ve sürekli güncelleyerek, “a” port’undan gelen paketin hedef macid’sini tablodan bulup, uyan port “b”ye gönderir. PoE (http://en.wikipedia.org/wiki/Power_over_Ethernet); Power over Ethernet, ethernet portuna bağlanan PoE desteği bulunan cihaza (örneğin ip kamera) elektrik (1.8-60 volt) verilmesini sağlar. Böylece cihazın ayrıca bir elektrik kablosu kullanması gerekmez. Kullanılan CATx kablonun kaliteli olmasına özellikle dikkat edilmelidir. L1 (http://tr.wikipedia.org/wiki/Physical) OSI; Birinci katman fiziksel katman, paketin hangi tür arabirim ile aktarılacağını ve iletimini sağlar. Üst katmanlardan gelen paketler binary olarak kodlanmışken bu katmanda, arabirimin tipine göre elektrik veya ışık sinyallerine çevirilir. L2 (http://tr.wikipedia.org/wiki/Data_Link) OSI; İkinci katman veri bağlantısı katmanı, genellikle arabirimin içindedir bazı durumlarda işletim sistemi sürücüsü olarakta adlandırılır. Diğer cihazları/sunucu/istemcileri bulma, verinin gönderilme zamanının denetimi, iletimi ve hata kontrolümü yapar. L3 (http://tr.wikipedia.org/wiki/Network) OSI; Üçüncü katman ağ katmanı, örneğin IP ve icmp bu katmanda çalışır, paketin ağ dışında bir başka ağ’a gönderilip gönderilmeyeceğine ve gönderilmesi durumunda paketteki adres değişimlerinden sorumludur. L4 (http://tr.wikipedia.org/wiki/Transport) OSI; Dördüncü katman taşıma katmanı, veri paketlerinin arabirimin tipine göre ne kadarlık olacağına karar verip ayrımlarda bulunur. Port işlemleri bu katmanda yer alır, TCP ve UDP gibi protokollerin çalıştığı katmandır. N-B (http://en.wikipedia.org/wiki/Non-blocking_I/O); Non-Blocking, switch’in, tüm portlarının hızlarının toplamından daha yüksek kapasiteli işleme gücü varsa, paket kaybı olmaksızın tüm portları tam kapasite çalıştırabileceğiniz anlamına gelir. Gbit (http://en.wikipedia.org/wiki/Gbit); 1000Mbit’lik hız değerini temsil eder. Bu tür bir ortamda kaliteli switch, kablo ve kablolama kalitesi iyi durumdaysa saniyede enaz “84byte’lık 1.488.000 adet veya 1500byte’lık 83.333 adet paket geçebilir. UpLink; Switch ortamlarda istemci ve sunucu hariç diğer bağlantıların yapıldığı port’lara verilen isimlendirmedir. DHCP (http://tr.wikipedia.org/wiki/DHCP); Dynamic Host Configuration Protocol, ağ’daki host’lara istemci’lere otomatik olarak IP ve diğer servislerle ilgili IP adreslerini veren servistir. MacID (http://tr.wikipedia.org/wiki/MAC_adresi); Media Access Control, 48bit uzunluğunda dır ve ilk 24bit üretici numaralarına ayrılmıştır, kanal 24bit her üreticinin kendi vereceği sıra numaraları gibi düşünülebilir. Dünyada üretilen arabirimlerin (örneğin ethernet kartınız) hiçbirinin macid’si diğeri ile aynı değildir, böylece ARP adreslemesi sorunsuz olarak çalışır. Peki yönetici ile Cain&Abel kullanan arasında ne fark vardır? Temeldeki teknik fark şudur, birinci yöntemde ağda fazladan paket oluşumunu engelleyip yükü switch üstünde tutarak dinleme yapılmaktadır ve sorunu çözmeye yönelik kullanılır. ARP zehirleme saldırısında ise art niyetli kişi söz konusudur ve ağda fazladan paket oluşmasına sebep olarak ağdaki tüm switch’lere yük bindirir. Dummy kullanıcı nedir? Böyle birşeyin varlığından haberi bile yokken “hacker (lamer)” arkadaşı veya bir “hacker (lamer)”la yaptığı konuşmada ARP Poisoning lafını merak eder, google açıp “arp poison” yazar ikinci linke (http://www.oxid.it/cain.html) tıklar... Sonrasında; Resim 01; Programı kurduktan sonra resimdeki adımları takip ederek hangi arabirimden paketleri göndereceğini/alacağını seçiyoruz. Örnekte 192.168.1.1 ip adresine sahip olan arabirim seçilmiştir. WinPcap yazılı olmadan program arabirimlerle haberleşemeceğinden çalışmaz. WinPcap programın içinden çıkmaktadır ve programın yüklenmesi esnasında kuruplup/kurulmayacağı kullanıcıya sorulmaktadır. Resimde “start” seçenekleri kapatılmıştır böylece ayarları yapana kadar program boş yere bilgisayarı meşgul etmeyecektir. Resim 02; Kullanıcı ağ’daki diğer cihazları/istemcileri/sunucuları aramak için bu pencereyi kullanmaktadır. Resim 03; Ağ’daki tarama sonucunda dinlenecek (zehirlenecek) istemci/sunucu seçiminin yapılacağı bölüm. Burda dikkat edilmesi gereken nokta “3” nolu işarettir. “3” nolu bölüme “tıklamadığı” sürece “4” nolu seçenek aktif olmayacaktır. Cain & Abel v2.9 Resim 04; Zehirleme bağlatılıp “1” gelen/giden paketlerin görüldüğü ekrandır. Eğer gelen/giden paketler 0’dan (sıfır) büyükse zehirleme başarılı olmuş demektir. Resim 05; Örnek ağ’da kullanıcının email (pop3) şifresinin zehirleme sayesinde görüntülendiğini görmektesiniz. “username ve password” sütunlarına dikkat. Resim 06; Örnek ağ’da kullanıcının bir başka bilgisayarın paylaşımına bağlanmak için kullandığı “kullanıcı adı ve şifre” ve bunlara ait hash’lenmiş bilginin içeriği görülmektedir. “6” nolu işaretteki seçenek ile bu hash’lenmiş bilginin içindeki şifrenin bulunması için, programın ilgili bölümüne hash’lenmiş bilginin aktarımı görülmektedir. Resim 07; Şifre kırma ekranında çeşitli metodlar kullanılarak şifrenin bulunması (kırılması) gerçekleştirilir. Şifrenin uzunluğuna, kullanılan metoda, şifrenin karmaşıklığına ve şansınıza göre bu işlemler 1-2 saniye ile binlerce yıl arasında sürebilir. "Dummy" kullanıcıyı yakalama; Kullanıcı heyecanla ağdaki herşeyi dinlemeye kalkacağından ağdaki trafik artacak ve switchler üzerindeki yük belirgin olarak artacaktır, bunu en basit “ışıklardan” veya switchler’i monitör ediyorsanız cpu’ların kullanım yüzdeleri artacaktır. Basitçe yakalama, en yoğun cpu yüzdesi veya ışıkların sürekli yandığı switch’e bağlı kullanıcıları gözlemlemektir. İleri düzey yakalama, xarp yazılımı “http://www.chrismc.de/developing/xarp/index.htm” windows tabanlı sunucu/istemci’lere veya arpwatch yazılımı “http://ee.lbl.gov/” linux, bsd, unix tabanlı sunucu/istemci’lere yüklenerek arp cache’lerde ki değişiklikler görülebilir. "Lamer"ı yakalama; Yakalayamadığınız için veya farkında bile olmadığınızdan ve “dummy” artık heyecanlanmadığından lamer’lığa terfi etmiştir. ARP zehirlemeye başlamadan önce makinesinin adını ve ip adresini değiştirmiş, antivirüs’ünü kapatmış ve macid’sini (linux, http://cse.msstate.edu/~rwm8/travesty/ - windows, http://www.klcconsulting.net/smac/) değiştirmiştir ve zamanlanmış görevleri (cron, at, windows task schedule) kullanmaktadır. Böylece Xarp veya Arpwatch gibi yazılımlarla “ip” ve “host”u tespit etmiş olsanızda kişiyi bulmak mümkün olmayacaktır. Bu noktada switch’e takılı kablolarıda tek tek çıkarıp takmakta bir çözüm olabilir. Artık bundan bıktınız ve böyle birşeyin ağınızda olmasını istememektesiniz. Olursada kişiyi hemen bulmak ve gerekli yaptırımları/ceza’ları vermek istemektesiniz. Bu durumda iki seçeneğiniz var, iki seçeneğin birbirine göre avantajları/dezavantajları bulunmaktadır. A-) Dinamik arp yerine ağınızı statik arp çalışacak şekilde düzenlemek B-) Switch’lerinizi ARP poisoning’e karşı korumalı seçmeniz A-) Dinamik ARP yerine Stasik ARP kullanmaktaki temel amaç “arp broadcasting”i kapatmaktır. Dezavantaj 1: “arp -s ” şeklinde tüm sunucu/istemci’lere, tüm sunucu/istemci’lerin ip ve macid’leri girilmelidir. Bu yöntem ufak ağ’lar için uygundur, ağa dahil olacak her yeni makinenin macid ve ip adresini, yeni makineye ve çalışan diğer makinelere girmek gereklidir. Avantaj 1: Böylece “arp broadcast” kullanılmayacak, arp tabloları sabit olduğundan ve ağ’dan gelen arp değiştirme istekleri kabul edilmediğinden arp zehirlemesi yapan kullanıcı hiçbirşey göremeyecektir. Dezavantaj 2: Xarp ve Arpwatch gibi programlarla böyle bir atağın olup/olmadığını, kimin yaptığını göremeyeceksiniz. B-) Switch konusu derin olduğundan bundan sonraki bölümlere geçmeden önce test ortamı hakkında biraz bilgi vermek yerinde olacaktır. Yazılım: Windows XP (http://www.microsoft.com) (win) Resim 08; Örnek ağ’ı oluşturan dizüstü bilgisayarlar. 2 adet Compaq, 1 adet Sony, 1 adet HP Resim 09; Testleri gerçekleştirdiğim iki switch ve bağlantıları. Resim 10; Switch'lerin modelleri. 4 adet Laptop Allied Telesyn (http://www.alliedtelesyn.com), "Arp Poisoning" engelleme özelliğindeki switchleri; Cisco (http://www.cisco.com), "Arp Poisoning" engelleme özelliğindeki swichleri; Switch’ler üzerinde "arp poisoning" engelleme işlemi üreticiye göre farklı isimlendirilmektedir. ARP zehirlemesini engellemek için öncelikle üreticiler farklı dahi olsa aynı olan isimlendirme ile anılmaktadır "dhcp snooping". Sonrasında üreticiye göre farklı olarak isimlendirilen “arp inspection, arp poisoning, arp security ...” gereklidir. Bunun yapılabilmesi için 2 seçenek bulunmaktadır. B1-) DHCP kullanmak B2-) Sabit ARP tablosu oluşturmak Avantaj 1: Ürüne göre, “dummy/lamer”ı bulmak çok kolaydır. Dezavantaj 1: Bu tip switch’ler layer 2-3 özelliğinde olduğundan nispeten fiyatları diğer switch’lere göre biraz daha yüksektir fakat bu üreticiye göre değişmektedir, kimi üreticiler bu tip bir özelliği default olarak sunduğundan böyle bir switch aldığınızda fiyata dahildir. Kimi üreticiler de ise belli bir modelin üstünde olan ürünlerinde bu özellik bulunmaktadır. B1-) Bu yöntemde DHCP kullanmak zorunludur. Zaten bir DHCP sunucusu kullanıyorsanız problem yoktur, kullanmıyorsanız ağınızı DHCP kullanır hale getirmeniz ve DHCP öğrenmeniz (10-15 dakika) gerekecektir. Farklı üreticilerde bu komutlar birbirine yakındır. “dhcp snooping enable” veya “ip dhcp snooping”. Bu komutun amacı; DHCP isteğinde bulunan istemci’lere, DHCP sunucusunun verdiği cevapları switch’in kendi üstünde ki bir tabloda (switch’e göre bu özellik tftp, ftp, http sunucuda da tutulabilmektedir) tutmasını sağlamaktır. Bu tabloda istemciye verilen ip adresi ve istemcinin macid’si yer alır. Bu tablo dışında bir ip/macid’si ile ağa girilmeye çalışıldığında “ip=macid” karşılaştırılması yapılır ve eşleşmeyen paketler otomatik olarak “drop” edilir. Allied Telesyn; Resim 11; “set dhcpsnooping port=ALL” komutu ile öncelikle dhcpsnooping özelliğinin hangi port’lara uygulanacağını seçiyoruz. Resim 12; “enable dhcpsnooping” komutu ile dhcpsnooping özelliğini aktif hale getiriyoruz. Öncesinde tüm portlara dhcpsnooping özelliğini uyguladığımızdan artık dhcp’den ip almamış hiçbir cihaz ağ’da aktif olamayacaktır. Resim 13; “sh dhcpsnooping” komutu ile dhcpsnooping durumunu görmekteyiz. Resim 14; “set dhcpsnooping port=1 trusted=on” komutu ile dhcp sunucunun bulunduğu port’u belirlemekteyiz. Trused parametresi o porta güvenileceği ve bu porttan gelen paketler ne olursa olsun kabul edileceğini belirtir. Port numarası değiştirerek “uplink” port’larıda bu şekilde ayarlamalıyız. Resim 15; “sh dhcpsnooping port” komutu ile port’ların durumlarını ve “trusted” bilgilerini görebiliyoruz. Resim 16; “enable dhcpsnooping arpsecurity” komutu ile “arpsecurity” (arp zehirlemesini asıl engelleyen) özelliğini aktif hale getiriyoruz. Resim 17; “sh dhcpsnooping” komutu ile dhcpsnooping ve arpsecurity durumlarını görmekteyiz. Cisco; Resim 18; “ip arp inspection vlan x” komutu ile switch’in özelliğini aktif hale getirip istediğimiz vlan’a atıyoruz. Resim 19; “interface gigabitethernet 1/0/x ve ip arp inspection trust” komutlarını kullanarak hangi port’a DHCP sunucunu bağladığımızı ve uplink’port’larının hangileri olduğunu belirtiyoruz. Resim 20; “sh ip arp inspection interfaces” komutu ile port’ların durumlarını görebiliriz. Resim 21; Consol’a dhcpsnooping sebebiyle gelen bloklama mesajları. B2-) İstemci’lerde yapılan “arp -s” komutunun benzeri olarak bunu switch’ler üzerinde yapabilirsiniz. Bu istemcilerle tek tek uğraşmanızı gerektirmeyecektir. Bu işlemi istemciler üzerinde yapmak yerine switch’ler üzerinde yapmakta mümkün; Allied Telesyn; Resim 22; “add dhcpsnooping binding=00-11-11-00-00-99 int=vlan1 ip=192.168.1.100 port=2” komutu ile dhcp kullanmadığımız ortamda istemci/sunucu/host/cihazların macid, ip adreslerini ve port bilgilerini girerek sabit arp tablosu yaratmaktayız. Cisco; Resim 23; “arp access-list xxxxxxx” komutu ile statik arp tablosu ismi veriyoruz “permit ip host x.x.x.x mac host xx-xx-xx-xx-xx-xx” komutu ile cihazları/sunucuları/istemci’lerin macid ve ip adreslerini tablomuza ekliyoruz daha sonra “ip arp inspection filter xxxxx vlan x static” komutu ile hazırladığımız tabloyu istediğimiz vlan’a statik olarak atıyoruz. Resim 24; “sh arp access-list” komutu ile hazırladığımız statik tabloların adlarını ve içeriğini görebilimekteyiz. Allied Telesyn; 2- Dhcpsnooping ve arp security işlemlerini başarıyla ve “performansından ödün vermeden” (şirket (Türk) yetkililerinin buna verdikleri cevap; “Bu bloklama işlemi switch’in cpu’suna gitmeden yapılmakta” oldu) yapabilmesine rağmen bu işlemlere ilişkin snmp veya syslog bilgisi üretmemektedir. Debug modu açıldığında bloklamalara ilişkin bilgiler görüldüğü halde, bunların “geri bildirimini” yapmaması büyük eksiklik. Şirket (Türk) yetkilileri ile yapılan görüşmelerde bu kadar basit ve “zaten olması” gereken bir özellik için, “kaç tane alacaksınız?” sorusu ile karşılaştım bu da bende şirketin güvenirliğinin tekrar gözden geçirilmesine yol açtı. 3- Port’tan geçecek (bu yazıda anlatılmamıştır) arp paketi sayı (rate) limitlerini düzgün olarak çalıştıramadım. Rate limiti nasıl ayarlarsam ayarlayayım her seferinde atak olduğunu sandı ve ilgili port’u kapattı. 4- Port’ların atak gelmesi durumunda “kapatılması” işlemi başarıyla çalışmakta. 5- Cihaz TFTP’den statik arp ve dhcpsnooping tablolarını güncelleyebilmek gibi güzel bir özelliğe sahip ayrıca cihazın üstünde script yazılabilmekte. Cisco; 2- Dhcpsnooping ve arp security işlemlerini başarıyla fakat performansından ödün vererek (cihazın üstünde rule, accesslist, routing vs.. özellikleri açıldığında) çalışmakta. Geri bildirimler doğru ve detaylı. Bu detaylar özellikle syslog kullanan yöneticilerin çok hoşuna gidecektir. 3- Port’tan geçecek (bu yazıda anlatılmamıştır) arp paketi sayı (rate) limitleri düzgün olarak çalışmakta. Bu özelliğin “her port” için tek tek ve test edilerek ayarlanması gerekli. 4- Port’ların atak gelmesi durumunda “kapatılması” işlemine sahip değil. Şirket (Türk) yetkilileri ile yapılan görüşmede böyle bir özelliğin yazılıma eklenmesinin pek kolay olmadığı (“sizin için kasamayız biz Türk’üz ezik milletiz” zihniyetine sahip olduklarını anladım) anlatıldı. Düşüncem, firmanın Türkiye’den yapılacak böyle bir talep için ekstra zaman harcayıp yazılımı geliştirmeyeceği yönündedir. 5- Statik arp ve dhcpsnooping tablolarını güncellenmesi ancak cihaza bağlanılarak yapılabilmekte bu da port sayısı fazla olan ağ’larda uzuunnn iş yükü demek. ARP Poisoning – ARP Zehirlemesi v0.9 by cng of AGG __________________________ (3 votes)
|
EtiketlerEn son forum mesajlarıYaklaşan Aktiviteler |
yardım
bu dökümanı hazırlarken kullanmış olduğuğunuz At-8824 modeline ait dökümanları arıyorum. bana bu konuda yardımcı olursanız sevinirim. benim için çok önemli.. bide bu AT-8824 e ait software falan varsa çok sevinirim