2 Ağustos 2011 Salı

Spoofing

- Ip Spoofing
Ip spoofing'i öğrenmeden önce bilmeniz gerekenler:
·         Spoof yapmak oldukça zor bir iştir.Bunun için açık kaynaklı işletim sistemlerini,tcp/ip'yi,kernelleri ve socket programlayı çok iyi bilmeniz gerekiyor.
·         Spoofing bir takım önlemlerle engellenebilir.(Kevin Mitnick'in yakalanması buna çok iyi örnektir.)
·         Spoofing ustalık gerektiren ama oldukça iyi bir ataktır.Spoofing yaparak bir servera kullanıcı adı ve şifreye sahip olmadan bağlanabilirsiniz.  

Bir çok kullanıcı ip spoofingin ip değiştirilmek anlamına geldiğini düşünür.Bu doğru değildir ve ilerde öğreneceğiniz gibi yapması çok zordur(bende öyle düşünüyordum ta ki 2001 ekimine kadar(bunun ne olduğunu ilerki dökümanlarımda anlatacağım.Ufak bir ipucu vereyim :);internetten çıkmadan ipinizi değiştirme yolu :))).
Eğer ip spoofingi internet üzerinde surf yapmak,irc serverlara girmek için öğrenmek istiyorsanız(tabii bundan sonra yanlış düşündüğünüzü de öğreneceksiniz :)), size "Web Üzerinde Gizlilik" adlı dökümanımı öneririm.
- Nedir Bu Ip Spoofing?
Ip spoofing,paketleri bir hosttan başka bir hosta istediğiniz bir ipi kullanarak göndermektir.
Aşağıdaki örnekleri anlamak için belirttiğimiz üç hostu iyi anlamanız gerekmektedir(bunları aşağıda anlatacağım ama önceden bir bilginiz olursa daha iyi olur):
Kurban.com: Kırılmak istenen server.Ve guven.com ile rlogin kullanarak bağlantı yapıyor.
Guven.com: Kurban.com'a devamlı bağlanan bir aracı server.Bu serverı kullanarak kurban.com'u kıracağız.
Hacker.com: Kurban.com'u kırmak isteyen ve bu servera girmek için guven.com'dan yararlanacak olan bir server.

Örnek:
Kurban.com ve guven.com'un adminleri birbirlerinin serverlarına devamlı bağlanıyorlar ve bu işlemleri kolaylaştırmak için rlogin daemonunu kullanıyorlar.
Rlogin: Uzaktaki kullanıcının sisteme şifresiz login olup istediği komutları çalıştırmasına izin veren bir daemondur.Kurban.com'da bağlantı ip numarası ile onaylanıp sisteme erişim veriliyor.
Hacker.com sunucusu ise,kurban.com'a girip sistemdeki önemli belgeleri almayı istiyor.Hacker.com daki kullanıcı bu iki sunucu ile ilgili bilgileri toplayıp kurban.com'un guven.com'dan yapılan bağlantıları kabul ettiğini öğreniyor.
Şimdi yapılacak spoofing atağı tam anlayamıyla öğrenebilmeniz için size TCP'nin "üç yollu el sıkışma"(three way handshake) yöntemini anlatacağım.
Tcp bağlantı bazlı bir protokol olduğundan iki host arasında datagram göndermeden önce bağlantının sağlanmasını bekler.
Örnek rlogin:
Kurban.com ---syn---> guven.com
Guven.com ---syn/ack---> kurban.com
Kurban.com ---ack---> guven.com
Bu bağlantıda önce kurban.com guven.com'a bir bağlantı paketi gönderiyor,bu paketi alan guven.com kurban.com'a ona bir bağlantı kurulabileceğini bildiriyor ve bu paketi alan kurban.com guven.com'a üç yollu el sıkışmanın bittiğini bildiriyor.Bu işlemden sonra bağlantı sağlanıyor ve normal bir bağlantıda bu işlemden sonra kullanıcının kullanıcı adı ve şifre girmesi istenir.Fakar rlogin bağlantı onaylama yöntemi ip adresine bağlı olunca,daemon gönderilen paketteki ip numarasını kontrol eder.
Kurban.com'a girmek için teorik olarak yapmamız gereken gönderdiğimiz paketteki kaynak ip adresini değiştirip sisteme login olmak.Tabii tahmin edeceğiniz gibi bu işlem hiçte kolay değil.
Şimdi size en çok kullanılan ip spoofing yöntemlerinden "blind spoofing"i anlatacağım:
- Blind Spoofing
Eğer yapacağımız bağlantıda hacker.com'un kaynak ip adresini guven.com olarak değiştirirsek kurban.com bütün paketleri guven.com'a gönderecektir.Çünkü bağlantının guven.com'dan geldiğini düşünmektedir.Guven.com gönderilen paketleri alıp, kurban.com'a RST(reset) ya da FIn(finish) paketi gönderip bağlantıyı sona erdirecektir.
Eğer guven.com hacker.com'un ISN paketini alırsa kurban.com'a RST ya da FIN paketi göndererek hacker.com'un bağlantısını kapattıracaktır.Guven.com'un hacker.com'dan gelen paketleri almasını önlemek için guven.com' syn flood yaparsak,guven.com farklı adreslerden aldığı paketleri resolve edip cevaplamaya çalışacaktır;hacker.com tarafından gönderilen yüzlerce paket guven.com tarafından cevaplanamayacağı için server daha fazla paket kabul etmeyecek ve hacker.com ile kurban.com'un bağlantısını kopartmak için RST/FIN paketi gönderemeyecektir.Guven.com Syn flood'dan kurtulduktan sonra kurban.com'a cevap verebilecek bir duruma gelecek ancak ISN kurban.com için hiç bir anlam ifade etmeyecektir;çünkü bağlantı bitmiştir.
Hacker.com ---syn---> guven.com - Guven.com flood ediliyor.
Hacker.com ---syn---> kurban.com - Kurban.com'a bağlanmak için spoof edilmiş paket gönderiliyor.
Kurban.com ---syn/ack---> guven.com - Kurban.com bağlantının guven.com'dan geldiğini sanıp, ona paket gönderir ama guven.com flood edilmiş olduğundan bune cevap veremez.
Peki hacker.com bunlardan sonra bağlantıyı nasıl tamamlayacak?
Hacker.com ---syn---> guven.com - Guven.com flood ediliyor.
Hacker.com ---connect---> kurban.com - Kurban.com'a bağlanıp ISN kayıt ediliyor.
Hacker.com ---syn---> kurban.com - Kurban.com'a guven.com tarafından yapılmış bir bağlantı gönderiliyor.
Kurban.com ---syn/ack---> guven.com - Kurban.com,guven.com'a bağlantı kurabileceğini bildiren bir paket gönderiyor.Guven.com syn flood saldırısına uğradığı için cevap gönderemiyor.
Hacker.com ---ack---> kurban.com - Hacker.com, ISN ile kurban.com'a spoof edilmiş paket göndererek bağlantının kurulmasını sağlıyor.
Hacker.com ---connected---> kurban.com - Hacker.com bağlantıyı sağladı ve sisteme girildi.
- Geçmiş olsun?
Bu yazıyı okuduktan sonra ip spoofing'i ve bir ip spoofing atak türü olan blind spoofingi öğrenmiş olmanız gerekiyor.
Bir sonraki yazıda diğer spoofing atak türlerini anlatacağım.

Hiç yorum yok:

Yorum Gönder