Tag Archives: dig

DNS’in Kökü

Gece itibariyle DNS’lerde bir sıkıntı olduğu söyleniyordu. Bana da bununla ilgili epey bir mesaj geldi. “Şu İSS’yi kullanıyorum, şu DNS sunucusunu kullanıyorum fakat Internete bağlanamıyorum, zaman aşımı alıyorum” diye gelen mesajlar sonrası kendim kontrol ettiğimde bir sıkıntı görememiştim. Fakat, Twitter‘da konuyla ilgili tweet sayıları giderek artmaya başladı ve ardından da Chip Türkiye‘nin “Türkiye’de DNS’lerin de kökü kazınıyor!” haberi geldi. Sanırım, söylentilerdeki doğruluk payı giderek artmaya başladı diyebilirim.

Yazıyı yayımladıktan bir süre sonra tekrar taslak formuna aldım. DNS’lerin kökünün kazınmasından ziyade daha farklı bir şeylerin döndüğünü düşünüyordum. Sabah ise OpenDNS ve Google DNS sunucuları üzerinden yapılan sorguların her ne hikmetse Türk Telekom sunucularına yönlendiğini gördüm. Bunun birçok sebebi olabilir. DNS spoofing, DNS hijacking, arada bulunan bir transparan DNS proxysisi ile sorguların açık DNS sunucularına ulaşmadan İSS’nin DNS sunucularına yönlendirilmesi gibi. Yaptığım basit bir analizde aldığım sonuç, yapılanı doğrular nitelikteydi:

kame ~ $ nslookup twitter.com 8.8.8.8
Server:    8.8.8.8
Address:   8.8.8.8#53

Non-authoritative answer:
Name       twitter.com
Address:   195.175.254.2

kame ~ $ nslookup twitter.com 208.67.222.222
Server:    208.67.222.222
Address:   208.67.222.222#53

Non-authoritative answer:
Name       twitter.com
Address:   195.175.254.2

Bir de engellenmemiş bir adresin çıktısına bakalım:

kame ~ $ nslookup duckduckgo.com 8.8.8.8
Server:    8.8.8.8
Address:   8.8.8.8#53

Non-authoritative answer:
Name       duckduckgo.com
Address:   176.34.131.233
Name       duckduckgo.com
Address:   46.51.197.88
Name       duckduckgo.com
Address:   46.51.197.89

Engellenmemiş adres için herhangi bir sıkıntı yok gibi durmakta. Şimdi bunu daha anlaşılır bir dille anlatalım. DNS (domain name system); türkçesi alan adı sistemi, Internet ağını oluşturan birimlerin IP adreslerini akılda daha kolay tutulması için dönüştürülen adresleri (domain, www.duckduckgo.com gibi) ve iletişimi organize eden bir sistemdir. DNS sunucuları ise Internet adreslerinin IP karşlığının kayıtlı tutulduğu sunuculardır. Bir örnekle anlatmak gerekirse, www.duckduckgo.com adresini tarayıcınızdan girdiniz, bu Intenet adresindeki makine ile iletişim kurulabilmesi için DNS sunucusuna sorgunuz gitti, DNS sunucusu ise eğer bu isim karşılığındaki IP adresine sahipse, 50.18.192.250 dedi ve bu IP’ye sahip makineye yönlendirildiniz. Fakat, yukarındaki çıktıda Google DNS kullanıyorsanız ve tarayıcınızdan www.twitter.com yazdığınız anda sorgunuz gitmesi gereken Google DNS sunucuları yerine 195.175.254.2 adresine, yani Türk Telekom’a yönlendirildi.

Bu işin biraz da tekniğine bakalım. Bir İSS’siniz ve kötü niyetli bir DNS sunucusu yapmak istiyorsunuz. Bu DNS sunucunuzun IP’sini 195.175.254.2 olduğunu varsayalım. Diğer yanda, ülkenizde hizmet veren güvenilir Google gibi DNS sunucuları var. Siz bu sunucuları kendi kullanım amacınızla işleyişlerini manipüle edip yani gasp edip kendi kötü niyetli sunucunuza yönlendirdiniz (route). Ardından Google DNS kullanan biri Twitter’a girmek istedi. Sorgusunu gönderdi, hop bu sefer Google DNS yanıt verecekken kurduğunuz kötü niyetli DNS sunucusu yanıt verdi. Yani bunu yapabilmek için de adresi twitter.com/195.175.254.2 olarak atadınız. twitter.com diyen 199.59.149.230‘a erişmek yerine tanımlanmış olan 195.175.254.2 IP adresli makineye erişecektir. Bu makine ne yapabilir? Sizi burada bekletebilir, … kararla site erişime engellendi yazısı ile karşılayabilir, DNS sorgularını loglayabilir, sizlere gereksiz reklam sonuçları gösterebilir (bunu yapan birçok İSS mevcut) vs.

Şu an bizim yaşadığım durum da; siz Google veya OpenDNS kullandığınız takdirde, sorgularınız Türk Telekom’un sunucusuna gidiyor ve burada bekletiliyorsunuz. Normalde bu DNS’ler ile erişmeniz gereken adrese de sahte DNS sunucusunda bekletildiğiniz için erişemiyorsunuz. Erişemediğiniz için de sadece yaptığınız sorgu biliniyor. Bu şekilde herhangi bir hesabın, kimin kullandığının bilinmesi mümkün olmaz. Fakat, bir spoofing yapılırsa o zaman işin rengi değişir.  Spoofing’de de siz herhangi bir siteye bağlandığınızı zannedersiniz fakat IP/adres manipüle edildiği için hiç alakası olmayan, saldırganın bilgilerinizi çalacağı sahte bir yere ulaşırsınız. Böylece, örneğin Twitter’a giriş yaptığınızı sanarken sahte bir Twitter sitesi üzerinden tüm bilgileriniz alınabilir.

Şimdi bu yönlendirme ile ilgili bir diğer bir tespite gelelim. İlk başta ben Twitter ve Youtube‘a girenleri mi tespit etmek istiyorlar, bu yüzden sadece bu ikisi mi yönlendirildi diye düşünmüştüm. Fakat sonradan rastgele, daha önce engellenmiş iki porno sitesi için tekrar nslookup yaptım. Sonuç:

kame ~ $ nslookup pornhub.com 8.8.8.8
Server:    8.8.8.8
Address:   8.8.8.8#53

Non-authoritative answer:
Name       pornhub.com
Address:   195.175.254.2

kame ~ $ nslookup xnxx.com 8.8.8.8
Server:    8.8.8.8
Address:   8.8.8.8#53

Non-authoritative answer:
Name       xnxx.com
Address:   195.175.254.2

Fakat, buna henüz gasp edilmemiş bir DNS sunucusu ile bakarsak:

kame ~ $ nslookup xnxx.com 77.88.8.8
Server:    77.88.8.8
Address:   77.88.8.8#53

Non-authoritative answer:
Name       xnxx.com
Address:   141.0.174.37
Name       xnxx.com
Address:   141.0.174.38
Name       xnxx.com
Address:   141.0.174.35
Name       xnxx.com
Address:   141.0.174.39
Name       xnxx.com
Address:   141.0.174.34

Anlaşılan engelli tüm adresler Google DNS ve OpenDNS için aynı yere yönlendirilmiş durumda. İSS tarafından Yandex DNS‘te herhangi bir yönlendirme (routing) olmadığı için sonuç sorunsuz gözüküyor. Şimdilik, Google DNS ve OpenDNS kullanmamak, yaşanabilecek manipülasyonlardan ve spoofing gibi saldırılardan etkilenmeyi azaltacaktır. Kaldı ki Türk Telekom tarafından yapılan bu şeyin yasalara aykırı ve suç olduğu da söylenmektedir. Daha önce de DNS gaspı (hijacking) ile ilgili belirttiğim üzere İSS’ler bunu daha öncede yapabilmekte, olmayan sayfa sorgularında sizlere yanıt vermekte, bunu sahte DNS sunucuları ile gerçekleştirmekte, sorguları reklamların olduğu sitelere yönlendirmekteydiler.

Sonuç olarak, ortada ciddi bir sıkıntının olduğunu söylemek gerekli ve bu durum yakından takip edilmeli. Açıkçası gasp edilen 2 DNS sunucusunun engellenmemiş adreslerin sorgularına verecekleri yanıtlar da “kötü niyetli” birileri tarafından manipüle edilmeye açıktır. Şu anda dava hazırlıkları da yapılmakta. Yazıyı kafam çok karışmış bir şekilde yazdım. Hatam varsa şimdiden kusura bakmayın. Bilgilendirirseniz memnun olurum.

Bu konuyla ilgili olarak kısaca birkaç link vereyim (siz de konuyla ilgili yazı linkleri verirseniz buraya eklerim):

[1] http://www.turk-internet.com/portal/yazigoster.php?yaziid=46356
[2] https://eksisozluk.com/entry/41565793

Ekleme (03.04.2013): Twitter yasağı Anayasa Mahkemesi tarafından kaldırıldı ve sonunda TİB denilen kurum-cuk kademeli olarak engeli kaldırdıklarını duyurdu. Peki DNS yönlendirmesi bitti mi? Hemen VPN, Tor vs kullanmayı bırakıp Twitter’a girmek mantıklı mı? Yeni analizimize bakalım:

kame ~ $ nslookup twitter.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   twitter.com
Address: 199.16.156.70
Name:   twitter.com
Address: 199.16.156.38
Name:   twitter.com
Address: 199.16.156.198

Peki engeli henüz kaldırılmamış Youtube için bakalım:

kame ~ $ nslookup youtube.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name       youtube.com
Address:   195.175.254.2

O da ne? DNS yönlendirmesi devam ediyor! Yani; VPN, Tor vs. kullanmaya GoogleDNS, OpenDNS gibi yönlendirilmiş DNS sunucuları kullanmamaya kaldığınız yerden devam ediyorsunuz.

Tagged , , , , , , , , , , , , , , ,

URL Tabanlı Engelleme

Çalmayı iyi bildikleri gibi sansür ve gözetimi de iyi biliyorlar.

Dün gece Tayyip Erdoğan ile oğlu Bilal Erdoğan arasında geçen telefon konuşmalarına ait ses kaydı Youtube üzerinden yayımlandı. Ses kaydı gerçek mi değil mi diyorsanız veya bu konuyla ilgili bir bilgi almak isterseniz Kıvaç Kitapçı’nın yazdığı “Tayyip Erdogan – Bilal Erdogan Telefon Gorusmesi Analizi” adlı makaleyi okuyabilirsiniz. Dün geceye tekrar dönecek olursak, kayıt yayımlandıktan bir süre sonra erişime engellendi. Fakat her zaman alışık olduğumuz yöntemlerin aksine sayfaya “http” üzerinden eriştiğinizde tarayıcınızdan sanki öyle bir sayfa yokmuş, bağlantınız resetlenmiş gibi hata aldınız. Tahmin edildiği üzere bu URL tabanlı bir engelleme idi. Bu engelleme nasıl yapıldı ve engelin kaynağı neresidir üzerine küçük bir analizi kısaca fakat –olabildiğince– anlaşılır bir dille nasıl yapıldığını açıklayayım:

  • Öncelikle, tcpdump çalıştırıldı ve trafiğe konu olan veri paketlerine monitörleme yapılıp herhangi bir şüpheli durum var mı, varsa neden kaynaklanıyor bu belirlenmeye çalışıldı.
  • dig ile www.youtube.com adresinin DNS kayıtlarına bakıldı.
  • traceroute ile www.youtube.com adresine hangi sunucu veya yönlendiriciler üzerinden gidiliğine bakıldı.
  • Tarayıcıdan ilk olarak URL tabanlı engellenen Youtube sayfasına girildi.
  • Ardından da açık olan –yani engellenmemiş– bir Youtube sayfasına girildi.

Açık olan Youtube videosuna erişim sonucu:

00:20:17.299332 IP (tos 0x0, ttl 48, id 63155, offset 0, flags [none], proto TCP
(6), length 60)
    fa-in-f93.1e100.net.http > 192.168.2.25.48657: Flags [S.], cksum 0xd7b8
(correct), seq 1852958477, ack 1827879094, win 42540, options [mss
1430,sackOK,TS val 1082331416 ecr 67618,nop,wscale 6], length 0

URL tabanlı engellenen Youtube videosuna erişim sonucu:

00:20:17.325219 IP (tos 0x0, ttl 30, id 0, offset 0, flags [DF], proto TCP (6),
length 62)
fa-in-f93.1e100.net.http > 192.168.2.25.48657: Flags [R.], cksum 0x3cf3
(correct), seq 1:23, ack 375, win 229, length 22 [RST
x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00]

Bu iki Youtube sayfasına ait tcpdump çıktısının en temel noktası, URL tabalı engellenen sayfanın TTL (yaşam süresi) değeri açık sayfaya göre gelen değerden farklı. Bu fark şunu ifade ediyor;  URL tabanlı engelleme yapılabilmesi için İSS’lerde IPS gibi bir sistemin olması gerekli. Bu sistem ağı monitörleme, istenmeyen aktiviteleri tespit etme, bu aktiviteleri loglama, engelleme veya durdurma ve raporlama işlerini yapmaktadır. URL tabalı engellemenin çalışma sistemi de aynen monitörleme, loglama, engelleme ve erişimleri raporlama üzerinedir. Engelli sayfa çıktısında görüldüğü üzere İSS araya girerek TTL değerini değiştiriyor. Açık sayfada ise İSS tarafından bir müdahalede bulunulmadığı için TTL değeri normal düzeyde, yani gelmesi gereken düzeyde geliyor. Diğer yandan (çıktı olarak vermedim) traceroute sonucuna bakıldığında sorgu Google’a gidiyor. ICMP paketinin zaman aşımına uğradığı IP adresi 209.85.251.24, yani Google ağı içinden. Herhangi bir sorun yok gibi duruyor. Peki tüm bunlardan ne anlamalıyız?

İSS, bir IPS kullanmakta ve IPS de bu mevcut URL tabanlı engellemeyi gerçekleştirmektedir. Bunu da RST (reset) paketi ile istemciye “bu iletişimi kes” mesajı vererek yapmaktadır. O gördüğünüz “sayfa bulunamadı” hatasını da bu yüzden almaktasınız. Ayrıca, RST paketi sunucu tarafından gönderilmemekte ve IPS bunu “istemci engelli bir sayfaya erişmekte, ben de bunu durdurayım” şeklinde görmektedir. Anlaşılan çalmayı öğrendikleri kadar sansür ve gözetimde de bilgi sahibi olmuşlar gibi duruyor. Fakat, bu sonuç sansürün ana kaynağını malesef söyleyemiyor. Bakalım, ilerleyen süreçte yapılan engellere de analiz yapmaya devam edip sansürün ana kaynağına ulaşabilecek miyiz zaman gösterecek. Bakarsınız, bu sürede belki sansürleyecek bir hükümet de kalmaz. Kim bilir.

Son olarak, bu yazı da montaj. TTL lobisi yazdı.

Tagged , , , , , , , , , , , , , , , ,