Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik Programları, Güvenlik ve Güvenlik açıkları
  Aktif Konular Aktif Konular RSS - Spoofing (Kapsamlı - Geniş Anlatım)
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Spoofing (Kapsamlı - Geniş Anlatım)

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
invertor Açılır Kutu Gör
Security Professional
Security Professional
Simge
İnventor

Kayıt Tarihi: 18-01-2008
Status: Aktif DeÄŸil
Points: 3365
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı invertor Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Spoofing (Kapsamlı - Geniş Anlatım)
    Gönderim Zamanı: 22-03-2009 Saat 16:47

                                    

 Siber saldırılar esnasında güvenlik büyük önem taşımaktadır. Zira saldırgan, sızmış olduğu, izinsiz erişim sağlamış olduğu sistemlerde kendi güvenliğini sağlamak için, internet kimliğini gizleme, girmiş olduğu sistemin yazdığı logları silme gibi bir çok yönteme başvurabilir. Bu konuda kimlik gizlemeye değineceğiz.

Saldırgan, girmiş olduğu sistemlerde, kayıtların alındığını çok iyi bilir. Bu yüzden bu tür güvenlik önlemlerine karşı hazırlıklıdır. Daha önceden her bilgisayarında kendine ait bir kimliği olduğunu (Internet Protocol Address) ve 4 oktetten oluşan bu digitlerin bilgisayarınızın sanal ortamda tanınmasını sağladığını söylemiştik. İşte saldırganın girdiği sistemlerde, IP adresi dediğimiz kimliği kayıt altına alınır. Ve eğer sızdığı sistem güvenlik açısından gelişmiş ise ve büyük bir şirketin, kurumun..vs sistemleri ise yakayı ele verebilir. Bu yüzden saldırgan yaptığı bağlantıları gizler. Bu gizleme eylemini, IP adresini farklı göstererek yapabilir. IP adresini farklı göstermesinin bir diğer avantajı da girdiği sistemdeki veri transferini yakalayabilme fırsatını ele geçirir. Örnekleyecek olursak;

Saldırganın bir sisteme sızdığını düşünelim. Sistemde bulunan 1.makine ve 3.makine arasında veri transferi söz konusu, ama 2.makineye izin yok. Saldırgan kimliğini 3.makine’nin kimliğine benzeterek hem kimliğini gizlemiş olur, hem verileri ele geçirmiş olur.

Yukarıda yazdıklarımızın karşılığına kısaca ” Spoofing ” adını verebiliriz. Kısaca Spoofing taktiklerine değinelim.

IP Spoofing

ö Proxy / Sucks Kullanımı

Proxy servisi, internet üzerindeki yerel bir ağ (ya da internete bağlı bir bilgisayar) ile, dış dünya arasındaki ilişkiyi sağlayan bir yardımcı geçiş (gateway) sistemidir. İki amaç için kullanılabilirler :

Bir Proxy servisi (sunucusu), sizin adınıza (Proxy’nin kelime anlamı ARACI / VEKİL’dir) sizden aldığı “Internet’ten bilgi alma” isteklerini yürütür ve sonucu yine size iletir. Ancak, aynı anda, bu bilgilerin bir kopyası da (cache), bu Proxy sunucusu üzerinde tutulur ve bir dahaki erişimde kullanıcının istediği bilgiler doğrudan ilgili siteden değil de, Proxy servisinden gelir; dolayısıyla, iletişim daha hızlı olur. Internet’e erişim için mutlaka bir Proxy servisine ihtiyaç yoktur. Konuyu örnekleyerek izah edecek olursak;



Şimdi sizin saldırgan olduğunuzu varsayalım ve B şahsı da kurban olsun. Evi sizden 100 metre kadar ileride B şahsının evi var. Evin arka kapısı açık bunu kullanarak veya kapıyı kırarak girebilirsiniz. Yani eve girişiniz mümkün. Eve girdiniz ve değerli birkaç eşya alıp geldiniz. Ve bu sırada sizi birkaç kişi gördü. Sizi gören kişiler, en yakın polis merkezine gidip eşgalinizi tarif edecek ve bu vesileyle yakalanma ihtimaliniz %90 ’a çıkacaktır.

Bir de şöyle düşünelim. Eve girmeden önce bir takım hazırlıklar yapıyorsunuz. Şöyle ki, evden çıkacağınız zaman sizi görenler yanlış eşgal bildirmelerini sağlamak istiyorsunuz. Kendinizi olduğunuzdan farklı şekillere sokarak (elbise , saç rengi, vs.) bunu yapabiliyorsunuz. Bu sayede eşgal sizin eşgale uymaz. Dolayısıyla yakalanma ihtimali düşürülür. Ama ihtimal yine vardır. İşte Proxy ‘i 2.örnekle sabitleyebiliriz bu şekilde.

öö Proxy Türleri

ö Transparent (Transparan) Proxy : Bu tür Proxyler gerçek IP adresinizi gizlemezler. Ziyaret ettiğiniz siteler hem sizin gerçek IP adresinizi hemde kullanmakta olduğunuz Proxy sunucusunun IP adresini görebilirler.

ö Anonymous (Anonim) Proxy : IP Adresinizi gizleyen Proxy sunucularıdır. Birkaç çeşidi mevcuttur. Bunlar; High Anonimity (Elite), Distorting, Simple Anonymous Proxy sunucularıdır. Anonim Proxyler, Proxy adı gizlenmediği için Proxy arkasında olduğunuz tespit edilebilmektedir.

ö Simple Anonymous (Basit Anonim) Proxy : Anonim Proxyden farkı, HTTP_X_FORWARDED_FOR bilgisinin, Proxy IP adresine eşit olmasıdır. Anonim Proxylerde ise bu bilgi boştur. Basit Anonim Proxylerde, Proxy adını gizlememektedir. Bu yüzden Proxy arkasında olduğunuz tespit edilebilmektedir. Çok nadir görülün bir Proxy türüdür.

ö Distorting (Çarpıtan) Proxy : Anonim Proxy ailesinden olan bu Proxy çeşidininde özelliği HTTP_X_FORWARDED_FOR bilgisinin sürekli rastgele farklı IP adresi olarak gözükmesidir. Bu tür Proxylerde, Proxy adını gizlemediğinden dolayı Proxy arkasında olduğunuz tespit edilebilmektedir.

ö High Anonymity (Elite) - (Yüksek Gizlilik - Elit) Proxy : Tüm Proxy çeşitleri arasında en özel olan Proxy türüdür. Hiçbir şekilde Proxy arkasında olduğunuz tespit edilememektedir. IP adresiniz, karşı sunucu tarafından tespit edilemez. Proxy arkasında olmayan bir bilgisayarla, High Anoniymity bir Proxy arkasında olan bir bilgisayar hiçbir şekilde ayırt edilemez.

<!– Hack is Artifice ~ x-Master –>

Eğer IP adresimizi Web ortamında surf yaparken değil de, başka bir TCP bağlantısında Spoof etmek istiyorsak socks sunucusu kullanabiliriz. Socks sunucuları genelde 1080. porttan bağlantı kabul ederler ve kullanıcıya Proxy sunucusundan çok daha fazla seçenek sunar. Socks sunucusu kullanarak telnet, FTP, IRC gibi TCP bağlantısı kabul eden her sunucuya bağlanabilirsiniz. Socks sunucusu ile sistemimiz haberleşmek için TCP bağlantısını yaptıktan sonra socks protokolünü kullanır. Örnek:

MySystem:1075 -> MySocks:1080
MySocks:1043 -> MyTarget:ftp

Proxy bağlantısında olduğu gibi yine sistemimiz önce socks sunucusuna bağlanır. Sistemimiz yapmak istediği bağlantıyı socks sunucusuna socks protokolü yardımıyla bildirir. Socks sunucusu da bizim sistemimiz yerimize hedef bilgisayara bağlanır. Bu sayede yine IP adresimiz hedef bilgisayara ulaşmamış olur.

IP Spoofing yöntemini durdurmak için hedef sunucuda socks sunucusu kontrolü olabilir. Yani bağlantı isteğini kabul etmeden önce bağlantının bir socks sunucusundan gelip gelmediğini kontrol eder. Eğer bağlantı bir socks sunucusundan geliyor ise bağlantıyı kabul etmez. Özellikle socks sunucusu ile IP Spoof yapılmasının önlenmesi için IRC sunucularında bu kontrolün olduğunu görebilirsiniz.

Socks bağlantı desteği olan telnet ve ftp programlarını internetden ücretsiz indirebilirsiniz. Zaten IRC istemcilerinin hemen hepsinde socks desteği vardır.

ö IP Paketlerini Editleme

Bu basit proxy/socks yöntemi bir çoklarının işini görse de en etkili IP Spoofing yöntemi paketleri editlemektir. Eğer ileri düzeyde TCP/IP bilginiz varsa, IP paketlerin editlenmesi fikri size yabancı değildir. Eğer IP paketlerindeki kaynak adreslerini editlerseniz, IP spoof yapılmış paketler elde edersiniz. UDP/TCP/ICMP/IGMP paket yapıları, 3WAY Handshaking ve Seq# ile Ack# karşılaştırmalarını anlatmak çok detaya kaçtığı için ben sadece IP paketlerini editleyerek nelerin, nasıl yapılabileceğinden bahsedelim.

ö TCP Bağlantısı Gerekmeyen Durumlarda IP Spoofing

Genelde TCP bağlantı gerekmediği durumlarda IP spoof yapmak, yapılan D.o.S saldırılarının kaynağının tespitini önlemek içindir. KOD, jolt, papasmurf gibi bir çok D.o.S saldırısında gönderilen paketlerin kaynak adresleri değiştirilerek, kaynağın gizliliği sağlanır. Bu işe yarayan programların Linux için yazılan kaynak kodlarını packetstorm.securify.com adresinden bulabilirsiniz.

ö TCP Session Hi-Jacking

Hacking için bazı durumlarda kendi IP adresimizden farklı bir adresle hedef sunucuya bağlanmamız gerekebilir. Örneğin elimizde bir web sunucusu olsun. Sunucuya dosya güncellemek için sysadmin şirketin local ağına ve lease line sattığı x.x.x.x static IP adresi olan müşterisine izin vermiş olsun. Yani web sunucusunun önündeki firewall, sunucunun ftp portuna gelen isteklerden sadece x.x.x.x adresinden gelenlere izin veriyor. Bu tip bir durumda bir hackerın ftp root/admin şifresini bilmesine rağmen sisteme girebilmesi için bu x.x.x.x IP adresine sahip olması gereklidir. Bunu sağlamak için hacker sistemde tanımlı olan x.x.x.x IP adresinden sahte bir bağlantı oluşturmalıdır. Karşımıza şu sorun ortaya çıkar: Biz gönderdiğimiz paketleri editleyerek kaynak adreslerini değiştirebiliyoruz ama sunucu aldığı paketlere vereceği cevapları nereye yollayacak? Tabi ki sunucu cevapları bizim verdiğimiz sahte IP adresine yollayacak. TCP protokolündeki bağlantı kontrolünü bildiğinizi varsayarak böyle bir durumda sunucunun gönderdiği ve bizim alamadığımız paketlere karşılık gelen doğru cevapların (ve Seq# Ack#lerin) yollanmasının ne kadar zor olduğunu tahmin edebileceğinizi sanıyorum.

MySystem
(Spoofed packet x.x.x.x:1027) -> MyTarget:80
MyTarget:1405 -> x.x.x.x:1027


Eğer bu gelen (kaybolan) paketlere doğru cevapları verirsek sahte bir oturum oluştururuz. Buna da session hijacking denir.

<!– Hack is Artifice ~ x-Master –>

Hijacking de yapılan spoof ikiye ayrılıyor. Blind ve Active spoof. Örnekte belirtilen x.x.x.x adresinin sizin local ağınızda bir makinaya ait olduğunu düşünelim. Böyle bir durumda x.x.x.x adresine gönderilen paketleri sniff yöntemiyle alıp, gereken seq#, ack#leri öğrendikten sonra hedef makinaya yeniden spoofed paketler yollarsanız sahte oturumunuz hatasız çalışır. Gelen paketler sniff yöntemiyle görülebildiğinden buna active spoof denir. Ama eğer x.x.x.x adresine gönderilen paketlerin sniff yöntemiyle alınamayacağı bir durumdaysanız, yani bu paketler sizinle aynı local ağda değil veya ağda hub yerine switch kullanılıyorsa, o zaman blind spoof yapmanız gerekir. Blind spoofde deneme yanılma ve tahmin yoluyla sunucunun gönderdiği paketlerdeki seq# numarasını bulmak gerekir.

ARP Spoofing

HUB kullanılan ortamlarda trafik dinleme işlemi oldukça basittir. Ağa bağlı bir makineye kurulacak bir sniffer aracılığı ile ağdaki tüm trafik dinlenebilir. Bu zaafiyet HUB sistemlerin çalışma mantığından kaynaklanır, hub ile birbirine bağlı sistemlerde iki sistem birbiri arasında haberleşmek istese bile aralarındaki trafik tüm hostlara gidecektir(broadcast mantığı ile çalışır).

Switch yapısı ise biraz farklıdır. Trafik sadece haberleşmek isteyen iki host arasında gerçekleşir. Switch’ler bu yapıyı üzerilerinde tuttukları CAM(Content Addresable Memory ) tablolaları ile kotarırlar, bu tablolar MAC adresi, switch port numarası ve VLAN bilgilerinden oluşur.

Bir host diğeri ile iletişime başlamadan önce kendi ARP cache’ni(IP Adresi - MAC adresi bilgileri) kontrol ederek hedef IP adresine ait bilgi var mı kontrol eder, varsa direkt o MAC adresine veriyi gönderir yoksa broadcast yaparak o IP adresine sahip MAC adresinin kim olduğunu öğrenir. Bu istekler ve cevaplar ARP mesajları ile gerçekleştirilir.

4 cesit ARP mesajı vardır ;

ö ARP request : IP Adresine ait donanım adresi(MAC adresi) sorgulamak için kullanılır

10:09:20.356809 arp who-has 12.16.6.17 tell 12.16.6.185

ö ARP reply :Belirtilen Ip adresine uyan donanım adresini döndürür

10:09:20.356809 arp reply 12.16.6.17 is-at 0:80:c8:f8:5c:73

ö RARP request: Belirli bir MAC adresi için IP adresi sorgulaması için kullanılır

ö RARP reply : Belirli MAC adresi için IP adresi cevabı döndürür.

ARP Spoofing Uygulaması / Teori

Bir switche bağlı 3 makine üzerinde test;

Makine ismi Ip Adresi Mac adresi

A(Router/Firewall) 10.10.10.1 aa:bb:ccd:ee:ff

B(FreeBSd) 10.10.10.2 ab:bc:cde:ef:fg

C(OpenBSD) 10.10.10.3 xx:yy:zz:ww:jj:ll




Yukarıdaki şekle göre Firewall olarak belirlenen makine bir kablo ile switche bağlıdır ve Switche bağlı diğer makineler için varsayılan çıkış kapısıdır. B makinesinin internete çıkışı A makinesi yani Firewall/router üzerinden gerçekleşmektedir. C makinesi ise B ve A ile aynı fiziksel ağda bulunan bir makinedir.

ARP Spoofing yapılmadan önceki normal trafik akışı aşağıdaki gibidir,

B—- àA ( 10.10.10.1 : aa:bb:ccd:ee:ff ) ———à x-m.com

ARP Spoofing yapıldıktan sonra trafik akışı aşağıdaki şekilde olacaktır.

B—- àA (10.10.10.3 : aa:bb:ccd:ee:ff, xx:yy:zz:ww:jj:ll )—–x-m.com


ARP Spoofing Uygulaması / Pratik


Kurulumların gerçekleştirildiği C makinesi üzerinde yapılması gerekenler;

Fragrouter programını kullanarak basitçe ip_forwarding islemi yaptırıyoruz, bu işlemi yaparken de paketlerin içeriğini görme şansımız oluyor. Arka planda tcpdump komutu çalıştırılarak makine üzerinden akan trafik bir dosyaya kaydedilerek sonradan incelenebilir. Tcpdump ile ilgili detaylı bilgi kaynaklar bölümünden edinilebilir.

C makinesinde

#fragrouter -B1 &

Ve

#arpspoof -t 10.10.10.2 10.10.10.1

komutları verilir. Arpspoof komutu ile 10.10.10.2 IP adresli makinede tutulan 10.10.10.1 adresine ait MAC adresinin 10.10.10.3 IP adresine sahip makinin MAC adresi ile değiştirilmesi sağlanmış oldu.

Böylece B makinesi A makinesi ile iletişime geçtiğini düşünerek paketi aslında C makinesine yollamış oluyor. C makinesi de trafiği üzerinden geçirerek asıl hedefine ulaştırıyor ve cevabını yine B makinesine yolluyor, bu arada üzerinden geçirdiği trafiği izleme şansı oluyor.

ö C makinesinde herhangi bir IP adresi değişikliği yapılmamıştır

Korunma Yöntemleri

Statik arp kayıtları kullanmak

Arpwatch[4] programını kullanarak ağ üzerinde IP-MAC tablosu değişikliklerini gözlemlemleyerek , değişikliklerin mail ile bildirilmesini sağlamak.

Switchler üzerinde port security özelliğini aktif ederek kullanmak.


Korunma Yöntemleri

Statik arp kayıtları kullanmak

Arpwatch[4] programını kullanarak ağ üzerinde IP-MAC tablosu değişikliklerini gözlemlemleyerek , değişikliklerin mail ile bildirilmesini sağlamak.

Switchler üzerinde port security özelliğini aktif ederek kullanmak.


Genel Anlamda (Spoofing’den) Korunma Yöntemleri

IP Spoofing olayını engelleyebilmek için öncelikli olarak Yönlendiricilerde, Kaynak Yönlendirme fonksiyonunu pasife alın. Çünkü kaynak yönlendirme çok kısıtlı ve pek nadir kullanılır. Bu nedenle ağa giren ve çıkan bu trafik engellenmelidir.

Sisteminizde filtre uygulayın ve yetkileri kısıtlayın. Şöyle ki; sistemde IP adreslerini değiştirme hakkı kaldırılmalıdır. Dolayısıyla (IP) Spoofing ’in önüne geçebilirsiniz.

Bunlara ek olarak bir takım yazılımları kullanabilirsiniz. Bu yazılımlar Spoofing yapılırken uygulanan metodlara rastladığı zaman size haber verir. Örnek olarak;

Tripware

/etc/hosts.equiv dosyasında yapılan değişiklikler sırasında sizi haberdar eder. Dolayısıyla olası saldırı engellenir. Veya aynı işlemi AIDE ile de yapabilirsiniz.


Saygılar..


Düzenleyen invertor - 22-03-2009 Saat 16:48
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.189 Saniyede Yüklendi.