IP
SPOOFING YÖNTEMLERİ
IP Spoofing iki şekilde yapılır. Proxy/Socks sunucularını kullanarak, veya IP paketlerini editleyerek. Proxy/Socks sunucusu kullanmak basit bir yöntemdir. Daha çok web/IRC bağlantılarında IPyi gizlemek için kullanılır. IP paketlerini editleyerek yapılan IP Spoofing çok etkilidir ve genel olarak D.o.S saldırılarında veya session-hijacking yönteminde kullanılır.
IP Spoofing iki şekilde yapılır. Proxy/Socks sunucularını kullanarak, veya IP paketlerini editleyerek. Proxy/Socks sunucusu kullanmak basit bir yöntemdir. Daha çok web/IRC bağlantılarında IPyi gizlemek için kullanılır. IP paketlerini editleyerek yapılan IP Spoofing çok etkilidir ve genel olarak D.o.S saldırılarında veya session-hijacking yönteminde kullanılır.
PROXY/SOCKS
KULLANIMI
Internetde gezdiğiniz sitelerin sizin IP adresinizi loglarında tutmaması için, kullandığınız browserın bağlantı ayarlarına girerek bir proxy sunucusu üzerinden bağlantı yapmasını sağlayabilirsiniz. Bu şekilde siz aslında proxy sunucusuna bağlanmış olurken, proxy sunucusu sizin yerinize hedef bilgisayara bağlanmış olacaktır.
Internetde gezdiğiniz sitelerin sizin IP adresinizi loglarında tutmaması için, kullandığınız browserın bağlantı ayarlarına girerek bir proxy sunucusu üzerinden bağlantı yapmasını sağlayabilirsiniz. Bu şekilde siz aslında proxy sunucusuna bağlanmış olurken, proxy sunucusu sizin yerinize hedef bilgisayara bağlanmış olacaktır.
Örnek:
MySystem:1059
-> MyProxy:8080
MyProxy:1039 -> MyTarget:80
MyProxy:1039 -> MyTarget:80
Önce
sistemimiz (MySystem) kullanmak istediğimiz proxy`ye (MyProxy), proxynin
portundan bağlanıyor. Proxy portları 80, 3128, 8080 gibi değişik portlar
olabilir. Bu bağlantı sağlanınca, sistemimiz daha üst bir protokol ile (HTTP,
HTTPS), bağlanmak istediği hedef (MyTarget) bilgisayarla ilgili bilgiyi
proxy`ye yolluyor. Proxy`de hedef bilgisayara bağlanıp bizim gönderdiklerimizi
ona, ondan gelen bilgileri, bizim sistemimize aktarıyor. Böylece hedef
bilgisayarın bağlantı loglarına bizim değil Proxy`nin IPsi geçmiş oluyor.
Yalnız bazı proxy yazılımları bu konuda tam olarak IP saklama özelliğine sahip
değil. Bizim isteğimizi karşı tarafa yollarken, bizim IPmizide
HTTP başlığına
ekleyenler var. Logların incelenmesi durumunda bağlantının gerçekten kim adına
istenmiş olduğu ortaya çıkıyor. Proxy kullanımının da IP adresinizin
gizlenmesiyle ilgili bir de şu tehlike var. Sizin IP adresiniz, hedef
bilgisayara iletilmese de proxy loglarında tutuluyor. Bu yüzden hedef
bilgisayarın admini, proxy sunucusunun loglarına başvurup sizin IPnizi
bulabilir.
Eğer
IP adresimizi webde 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
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.
Socks ve Proxy sunucuların listelerini CyberArmy sitesinden alıyordum. Siteyi
uzun zamandır ziyaret etmediğimden hala açık mı, açıksa listeler hala
yayınlanıyor mu bilmiyorum.
IP
PAKETLERİNİ EDİTLEMEK
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 bahsedeceğim:
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 bahsedeceğim:
TCP
BAĞLANTISI GEREKMEYEN DURUMLARDA IP SPOOF
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.
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 HIJACKING
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.
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
(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. 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.
Hiç yorum yok:
Yorum Gönderme