DNS zehirleme

myturkx

Yeni üye
20 May 2007
45
0
DNS ID Hacking Nedir?
Dns Id hacking(spoofing) aslında pekte alışılmış bir hacking yönetimi değildir.Bu yöntem DNS protokulunde olan bir açıktan faydalanmaktadır.
İlk başta biraz karışık gelebilir.Fakat
dikkatli okunca anlayacağınıza eminim.

1.1 - DNS Protocol Mekanizmasının Açıklanması
En başta gereken şey DNS nin nasıl çalıştığını öğrenmektir.Ben şimdi size DNS çalışma prensibinin en önemli noktalarına değineceğim.Böylelikle A’dan Z’ye tüm DNS request(istek)paketlerini izleyebileceğiz.
/———————————
| 111.1.2.123 = bla.bibi.com | Şekil-1
| 111.1.2.222 = dns.bibi.com |
| format: |
| IP_ADDR:pORT->IP_ADDR:pORT |
| ex: |
| 111.1.2.123:2999->111.1.2.222:53|
———————————/

gethosbyname(”www.heike.com”);

[bla.bibi.com] [dns.bibi.com]
111.1.2.123:1999 —>[?www.heike.com]——> 111.1.2.222:53

Yukarıda (1)kaynak port 1999 ; DNS’deki 53 porttan ad isteği yapıyor..[Dns her zaman 53 porttur]
Şimdi bla.bibi.com’dan gelen çözümleme isteği dns.bibi.com tarafından kabul ediliyor ve adı çözüyor.Yani bla.bibi.com ; www.hekie.com’u sormak için dns.bibi.com adresli dnsyi kullanıyor.
[dns.bibi.com] [ns.internic.net]
111.1.2.222:53 ——–>[dns?www.heike.com]—-> 198.41.0.4:53 Şekil-2

yukarıda(2) www.hekie.com ‘un root serverı olan ns.internic.net’den ,dns.bibi.com , hekie.com’un olup olmadığını soruyor.
Not:Internic ‘in cache ‘nde bu istek kayıtlı olma ihtimali var..Biz bu yüzden Internic’e soruyoruz.
[ns.internic.net] [ns.bibi.com] Şekil-3
198.41.0.4:53 ——>[ns for.com is 144.44.44.4]——> 111.1.2.222:53

Yukarıda(3) ns.internic.net’in ns.bibi.com’a( domain bibi.com üstünde hak sahibi olan DNS nin adı ) verdiği cevabı görüyoruz. ns.internic.net kendisinde hekie.com’a ait bir kayıt olmadığını 144.44.44.4 IP numaralı ns.for.com’da olabileceğini ns.bibi.com’a söylüyor.
Aşağıda(4) ns.bibi.com bu sefer hekie.com’u ns.for.com’a soruyor.
[ns.bibi.com] [ns.for.com]
111.1.2.222:53 ——>[?www.heike.com]—–> 144.44.44.4:53 Şekil-4

Aşağıda(5) ise ns.for.com’un cevabı
[ns.for.com] [ns.bibi.com] //www.internet.com.tr/geek
144.44.44.4:53 ——>[ns for heike.com is 31.33.7.4]—> 144.44.44.4:53 Şekil-5
Yukardaki(5) cevap ile birlikte hangi IPnin hekie.com domaini üzerinde hakkı olduğunu görüyoruz.(hekie.com ‘a ns.hekie.com diyecez artık)Şimdi soralım bakalım ns.hekie.com ‘a.Aşağıya(6) bakalım:
[ns.bibi.com] [ns.heike.com]
111.1.2.222:53 —–>[?www.heike.com]—-> 31.33.7.4:53 Şekil-6

Ve en son sorumuzun cevabını alalım aşağından(7)
[ns.heike.com] [ns.bibi.com] Şekil-7
31.33.7.4:53 ——->[www.heike.com == 31.33.7.44] —-> 111.1.2.222:53

Harika! Artık cevabı bla.bibi.com’a iletebiliriz artık!
Aşağıdaki (8)gibi
[ns.bibi.com] [bla.bibi.com] Şekil-8
111.1.2.222:53 ——->[www.heike.com == 31.33.7.44]—-> 111.1.2.123:1999

Şimdi bu IP numarasından makinanın adını bulmak istiyorum diyelim.Ama yapacağımız işlemlerde ufak değişiklikler yapmamız lazım.Çünkü IP aşağıdaki(9) gibi bir dönüşüme uğruyor.
100.20.40.3 will become 3.40.20.100.in-addr.arpa Şekil-9
DİKKAT! Bu yöntem sadece IP resolution request için geçerli(DNS nin tersi)
Şimdi www.hekie.com dan aldığımız IP yi inceleyelim.

gethostbyaddr(”31.33.7.44″);
… Şekil-10

[bla.bibi.com] [ns.bibi.com]
111.1.2.123:2600 —–>[?44.7.33.31.in-addr.arpa]—–> 111.1.2.222:53

Yukarda(10) ns.bibi.com’a isteği yolladık.Aşağıda(11) ise ns.bibi.com ; ns.internic.net e istek yolladı.
[ns.bibi.com] [ns.internic.net] Şekil-11
111.1.2.222:53 —–>[?44.7.33.31.in-addr.arpa]——> 198.41.0.4:53

Aşağıda (12)ns.internic.net ; “31.in-addr.arpa” üzerinde hak sahibi olan serverın IP’sini yolluyor.
[ns.internic.net] [ns.bibi.com]
198.41.0.4:53 –> [DNS for 31.in-addr.arpa is 144.44.44.4] -> 111.1.2.222:53 Şekil-12

Aşağıda(13) ns.bibi.com’i 144.44.44.4 deki DNS aynı soruyu soracak
[ns.bibi.com] [ns.for.com]
111.1.2.222:53 —–>[?44.7.33.31.in-addr.arpa]——> 144.44.44.4:53 Şekil-13

ve böyle devam ediyor.
2) DNS ID Hack/ Spoof
ns.bibi.com;53 —–>[?www.heike.com] ——> ns.heike.com:53 Şekil-1
Şekil-1 deki sorguda araya girerek eğer ip’yi spoof etmiş olacağız.
ns.bibi.com < ------- . . . . . . . . . . . ......... . .. . ns.heike.com
|
|<--[IP for
www.heike.com is 1.2.3.4]<-- hum.roxor.com Şekil-2
Pratikte iyi ve doğru bir ID tahmin etmemiz lazım Eğer yerel ağdaysanız işimiz kolay.Gerekli olan IDyi yakalar ve Şekil-2deki ns.hekie.com dan önce cevap verebiliriz.
Ama uzaktan bunu yapmak istiyorsanız topu topu 4 seçeneğiniz var.
* Mümkün olan bütün ID flagleri test etmek
* 200-300 kadar istek yollayıp iyi bir ID’i cebe atma olasılığını artırmak
* Dns’ye flood yaparak işini yapmasını önleyip,çökertip Şekil-3teki hatayı verdirerek
* Ya da SNI ‘nın bulduğu BIND açığını kullanarak.

>> Oct 06 05:18:12 ADM named[1913]: db_free: DB_F_ACTIVE set - ABORT Şekil-3
2.1 Windows ID Açığı
Windows 95 ‘ten kalma bir açık.Yani artık açıklık vasfını kaybetmiş
2.3 BIND Açığı
Dns başlangıçta rastgale bir ID kullanır ve bu ID’yi sadece yeni bir soru ile arttırır.Bu da BIND açığına sebep olur.
İşte yolu;
1. Rastgele bir DNS’den gelen mesajları sniff edebiliriz
2. ns.kurban.com dan ; (random*).dede.com’u çözümlenmesi istenebilir.Böylelikle ns.kurban.com ; ns.dede.com’a (random).dede.com ‘u sorar.*=rastgele(Şekil-4)

ns.kurban.com —> [?(rand).dede.com ID = 444] —> ns.dede.com Şekil-4
3. ns.kurban.com’dan gelen mesajın ID sine sahibiz artık.Şekil-4′teki
ID=444 kullanacağız.
4. Şimdi birde kendi çözümleme isteği yapalım.
Örnek: www.microsoft.com’ dan ns.kurban.com Şekil-5′te inceleyelim.
(biz) —> [?www.microsoft.com] —> ns.kurban.com
ns.kurban.com –> [?www.microsoft.com ID = 446 ] –> ns.microsoft.com Şekil-5
5. Şimdi ns.kurban.com’u elde ettiğimiz ID(44)yi bir arttırarak flood yapalım.
Şekil-6daki gibi
ns.microsoft.com –> [www.microsoft.com = 1.1.1.1 ID = 444] –> ns.kurban.com
ns.microsoft.com –> [www.microsoft.com = 1.1.1.1 ID = 445] –> ns.kurban.com
……………………………………………..
ns.microsoft.com –> [www.microsoft.com = 1.1.1.1 ID = 449] –> ns.kurban.com Şekil-6

Görüldüğü gibi ID ‘leri 1 artırarak kolayca bulabilirizPeki bunu nasıl yapacağız derseniz: ADMsnOOfID ile.
Dns ‘den kaynaklanmayan bir yöntem daha var.Yol basit:
(you) ———-[?(random).provnet.fr] ——-> ns.kurban.com Şekil-7
Şekil-7 deki gibi (random)provnet.fr için ns.kurban.com’a bir istek yolluyoruz.Şimdilik yeni bir şey yok gibi.Ama ilgi çekici yer şimdi başlıyor.
(spoof) —-[(random).provnet.fr is 1.2.3.4 ID=100] –> ns.kurban.com
(spoof) —-[(random).provnet.fr is 1.2.3.4 ID=101] –> ns.kurban.com
(spoof) —-[(random).provnet.fr is 1.2.3.4 ID=102] –> ns.kurban.com
(spoof) —-[(random).provnet.fr is 1.2.3.4 ID=103] –> ns.kurban.com

……………….. Şekil-8.
Şekil-8 deki gibi ns.kurban.com’u sahte(spoofed) cevaplarla flood ediyoruz.
Daha sonra soruyoruz ns.kurban.com’a “(random).provnet.fr nin IP’si var mı?”
ns.kurban.com’un cevabı ile de doğru ID’yi buluyoruz.Cevap alamadıysak flood yapmaya devam ediyoruz.Biraz uzun bir yol gibi;ama bunu birkaç arkadaşınızla yaparsanız eminim kısalacaktır.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.