Ağ Güvenliği 101 #2: DNS Nasıl Çalışır? Dig ve Nslookup İle Bilgi Toplamak

'Taipan

Kıdemli Üye
30 Haz 2015
3,847
73
Alıntıdır! Görseller kaynaktadır.

Kaynak: https://medium.com/three-arrows-security


Merhabalar sevgili okurlarımız. Bir önceki yazıda bahsettiğim “Ağ Güvenliği 101” serimizin ikinci yazısı ile karşınızdayım. Serimizin bu yazısında sizlere DNS ve DNS sorgu araçları hakkında bilgi vermeye çalışacağım. Yazımızın bu kısmında hem temel ağ bilgisine devam edeceğiz hem de bilgi toplama kısmına değineceğiz. Keyifli okumalar dilerim efenim.
Serimizin ilk yazısına aşağıdaki linkten ulaşabilirsiniz:
DNS Nedir?
Şimdi burada DNS’in tarihçesi gibi bizim pek işimize yaramayacak sıkıcı şeylerden bahsetmeyelim. Kabaca DNS’in ne olduğuna değinelim. Domain Name System, Domain Name System. Neymiş bu Domain Name System? Serimizin ilk yazısında IP adresi için cihazların özel adlarıdır diyebiliriz demiştik. DNS ise ulaşmak istediğimiz sitenin alan adından işte bu özel adı yani IP adresini bulmamızı sağlar. Peki bunu nasıl yapar? Gelin beraber bir örnek üzerinden DNS’in bunu nasıl yaptığını inceleyelim.
DNS Nasıl Çalışır?
DNS’in çalışma sürecini anlatmadan önce bilmemiz ve irdelememiz gereken birkaç şey var gelin beraber önce onlara değinelim. Bu değineceğimiz kavramlara neden değindiğimizi yazımızın ilerleyen kısımlarında anlayacaksınız.
DNS Cache: Bu kavramımızı daha rahat anlayabilmeniz için müsaadenizle bir örnek vereyim. Bilmediğiniz bir adrese gideceksiniz yolu sora sora buldunuz diyelim. Bir daha ki gelişinizde bu yol hafızanıza kaydolmuş olur ve tekrar tekrar sormak zorunda kalmazsınız. Hafızanızda yerleşen bu yol işte DNS cacheleridir. Sistemimiz de önceden öğrendiği DNS yolunu hafızasında TTL süresince cache halinde saklar.
Time To Live(TTL): Türkçe karşılığından yani yaşam süresi kavramından da anlayacağınız üzere TTL bize verinin işlem ömrünü gösterir. TTL’in faydaları olarak verimizin sonsuz döngüye girmesini önler, veri tazeliğini sağlar gibi birkaçını sayabiliriz. Yukarıda verdiğimiz örnek üzerinden gidecek olursak tam olarak karşılamasada TTL için sorarak öğrendiğiniz yolun hafızanızda kalacağı süredir diyebiliriz.
Şimdi bu iki kavrama değindiğimize göre DNS’in çalışma sürecine geçebiliriz. Bu süreci anlatmak için bir şema hazırladım. Tamam çok profesyonelce bir şema olmadı ama fena da olmadı bence. Şemamızı irdelememiz ve saldırgan bakış açısıyla bu şemaya bakmamız önemli çünkü ileride güvenlik kısmında bu şemadan bolca faydalanacağız. Bu şemamız üzerinden adım adım DNS’in çalışma sürecini inceleyelim.

Örnek olarak “ www.threearrowsecurity.com.tr” sitesine erişim sağlamak istediğimizi düşünelim. İlk olarak URL çubuğumuza ulaşmak istediğimiz siteyi gireriz. Sonrasında olanları ise olma sırasına göre madde madde inceleyelim.
1) Yukarıda DNS cachelerinden bahsetmiştim. Ulaşmak istediğimiz siteyi URL çubuğuna girdikten sonra öncelikle tarayıcımız hedef sitemizin önceden yapılmış bir DNS kaydı var mı diye kendi cache dosyalarına bakar. Eğer bu cachelerde sitemiz kayıtlı ise bizi direkt olarak sitenin IP adresine yönlendirir eğer değilse ikinci maddemizi kontrol eder.
2) Eğer tarayıcımızın cachelerinde sitemiz kayıtlı değilse işletim sistemimiz bu sefer kendinde bulunan host dosyasını kontrol eder.
Linux Tabanlı Sistemlerde ve MacOS X’de: etc/hosts
Windows Sistemlerde: C:\Windows\system32\drivers\etc\hosts
3)Eğer sitemizin kaydı sistemimizin host dosyalarında da yoksa bu sefer sistemimiz bilgisayarında kayıtlı olan kendi yerel DNS sunucusuna gider. Eğer sitemiz yerel sunucuda da bulunamazsa sistemimiz bu sefer Root DNS sunucusuna yönelir.
4)Root DNS sunucusu eğer istediğimiz IP adresini biliyorsa bize bu bilgiyi verir ancak kendisinde bu bilgi yoksa ilgili olan .tr DNS sunucusuna yönelir.
5) .tr DNS sunucumuzda da cevabımızı bulamamışsak .tr DNS sunucusu bizi yetkili olduğunu düşündüğü .com.tr DNS sunucusuna yönlendirir.
6) .com DNS sunucusunda da aradığımız sitenin kaydı bulunamadı diyelim. Bu sefer .com DNS sunucusu bizi .threearrowsecurity’den yetkili olduğunu düşündüğü .threearrowsecurity.com.tr DNS sunucusuna yönlendirir. Son olarak .threearrowsecurity.com.tr DNS sunucusu bize www.threearrowsecurity.com.tr adlı sitenin IP adresini döner.
Burada sormamız gereken bir soru var. Peki aradığımız cevap son DNS sunucumuza kadar olan sunucularda ise ya da son sunucumuzda ise cevabı bir önceki ilgili sunucuya mı yollar yoksa direkt bize mi dönüş sağlar? Sorumuzun cevabı direkt bize dönüş sağlar. Direkt bize dönüş sağlamasının önemini ilerleyen yazılarda güvenlik kısmında beraber inceleyeceğiz ancak ben şimdiden ufak bir vurgu yapmak istedim.
Şimdi cevabımızı aldık sitemize ulaştık, işletim sistemimiz ve tarayıcımız cevabı aldıktan sonra ne yapar? Bu iki güzide elemanımızın yapacağı iş aldıkları bu bilgiyi cache olarak kendilerine kaydetmek olacaktır. Kaydedilen cacheler belirli bir süre sonra (TTL) silinecektir. Bunun sebebi ise hem önbellekten tasarruf yapmak hem de kayıt tazeliğini korumaktır. DNS’in nasıl çalıştığını incelediğimize göre gelin bir de DNS kayıt türlerine bakalım.
Sisteminizde kayıtlı olan DNS Sunucularını aşağıdaki dosyadan kontrol edebilirsiniz.
/etc/resolv.conf
DNS Kayıt Türleri:
NS Kaydı: İsim sunucusu kaydıdır. Kullanılan isim sunucuları burada kaydedilir. Ne işimize yarar derseniz hakkında bilgi almak istediğimiz sitenin orijinal IP adresini bu sunucuya sorarak öğrenebiliriz.
MX Kaydı: E-posta hesaplarının tutulduğu mail sunucularının belirtildiği kısımdır.
A Kaydı: Alan adlarının IPv4 ile eşleştirildiği kayıt türüdür.
AAAA Kaydı: Alan adlarının IPv6 ile eşleştirildiği kayıt türüdür.
TXT Kaydı: TXT kaydı, herhangi bir text dizisini bir hostname ile ilişkilendirmenize olanak tanır.
CNAME Kaydı: Alternatif alan adı kaydıdır. Örneğin URL çubuğunuza www.threearrowsecurity.com.tr yerine threearrowsecurity.com.tr yazarsanız eğer CNAME kaydı tutuldu ise ilk verdiğimiz adrese yönlendirmenizin yapılmasını sağlar
SRV Kaydı: Sunucuda kullanılan özel bir servisin verildiği port ve IP adresinin kaydının tutulduğu kayıttır.
Kayıt türlerimizi incelediğimize ve DNS hakkında bilgilerimize verdiğimize göre müsaadenizle DNS kaydı sorgusunu yapabileceğimiz Dig ve Nslookup adlı araçlarımızı inceleyelim ve bilgi toplama kısmına yavaşca giriş yapmış olalım.
Dig(Araç):
DNS kayıtlarını incelememizi sağlayan bir araçtır. Verdiğimiz alan adının tüm DNS kayıtlarını bize döker.
Kullanımı:
En temel kullanım şekli aşağıdaki gibidir. Bu kullanımda bize A kaydını gösterir ancak tabi ki özel sorgular yapılabilir.
dig alan_adı
Evet bizim de aslında bir alan adımız var.>>Aşağıdaki komut ile NS kaydı istenebilir.
dig -t NS alan_adı
>>Bu komut ile ise MX kaydı sorgulanabilir. Kısacası -t parametresinden sonra sorgulamak istediğiniz kayıt tipini girerek sorgunuzu gerçekleştirebilirsiniz.
dig -t MX alan_adı
>>İstenilen DNS sunucusunda sorgu yapabilmek için aşağıdaki komut kullanılabilir.
dig dns_sunucusu alan_adı
>>Belirtilen dosyadaki DNS kayıtlarını incelemek için aşağıdaki komut kullanılabilir. +noall çıktıyı sadeleştirmek için, +answer ise cevap almak içindir.
dig -f dosya_adi +noall +answer
Nslookup(Araç)
Dig ile aynı işlevi gören bir araçtır. Hem IP adresinden alan adı hem de alan adından IP adresi sorgulanabilir.
Kullanımı:
Temel olarak kullanım şekli aşağıdaki gibidir.
nslookup alan_adı
>>Aşağıdaki kullanımlar ile diğer sunucuları da görebiliriz.

>>İstediğimiz herhangi bir DNS sunucusunda sorgu yapmak için aşağıdaki komut kullanılabilir.
nslookup alan_adı/IP_adresi dns_server
>>Dilediğiniz kayıt tipini sorgulamak için aşağıdaki parametreler kullanılabilir.
-query=
-type=
>>Tüm sorgu sonuçlarını bastırmak için aşağıda bulunan parametreler kullanılabilir.
-query=any
-type=any
>>Aşağıdaki parametre ile de daha ayrıntılı çıktı elde edebilirsiniz.
-debug
Bu konumuzdan şimdilik bu kadar. Umarım faydalı ve sizi sıkmayan bir yazı olmuştur. Serinin devam yazılarında görüşmek üzere.
 
Son düzenleme:

Brokropro110

Katılımcı Üye
11 Ağu 2018
408
2
İii...yani saygısızlık etmek istemem ama burda emek yok sadece kopyala yapıştır var ?
 
Ü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.