
DNS TÜNELLEME

Merhabalar ,
Bu yazımda DNS Tünelleme ile sızma işlemi gerçekleştirilen kurumdan veri çıkarmanın nasıl yapıldığından, nasıl tespit edilebileceğinden ve nasıl engellenebileceğinden bahsedeceğim.
DNS Tünelleme Nedir?
DNS Tünelleme Dns paketleri içerisinde herhangi bir TCP / UDP paketinin (http, https, ssh) taşınmasıdır.
DNS Tünelleme Neden Kullanılır ?

Kurumlar genelde internete giden trafiği kısıtlarlar. Http, https, ssh gibi ve kullanılmayan diğer protokoller engellenir veya kısıtlanır. Http, https Firewall ve Proxy üzerinden kategori bazlı olarak erişimler kısıtlanmış veya engellenmiş olur. Ama Dns protokolü için bir engelleme yapılmaz. Cihazlar Dns sorgularını kurum içindeki Dns sunucularına yapar. Dns sunucu eğer cache’ inde veya üzerinde böyle bir Dns kaydını tutmuyorsa internetteki Dns sunucularına sorar ve sorgu yaptığı domaine ulaşır. Saldırganlarda diğer protokoller kısıtlı ve engellenmiş olduğu için Dns Tünelleme yaparak bu kısıtları ortadan kaldırmak isterler. Bu şekilde verileri komuta kontrol merkezine iletirler.
DNS Tünelleme Nasıl Yapılır ?
Dns Tünelleme yapmak için Iodine, OzymanDNS , Dnscat2 gibi bir çok tool vardır. Ben Iodine tool’u üzerinden anlatacağım.
Komuta Kontrol Merkezi olan sunucumdan dns sorgu trafiğini dinlemeye başlıyorum.

Komutu girdikten sonra Enter Password alanına bir parola girmemiz gerekiyor. Bu parola paketleri kodlarken ve çözerken kullanacak paroladır.
10.20.20.1 IP’ si dns0 interface için belirlenen IP adresidir.
Komuta Kontrol Merkezinde dinleme işlemini başlattıktan sonra Client tarafından Dns sorgularını başlatarak tünelin oluşmasını sağlıyoruz.

Komuta Kontrol Merkezi tarafında girdiğimiz parolayı aynı şekilde bu tarafta girerek Dns Tünelleme‘ yi oluşturuyoruz.
Dns Tünelleme’ yi oluşturduktan sonra Firewall tarafında loglarda ve Wireshark tarafında paketlerde neler olduğuna bakalım.

Fortigate Firewall üzerinde sadece Dns trafiği için erişim verilmiştir. Diğer bütün protokoller için erişim engellidir.

Firewall loglarında 10.10.10.2 IP’li client makinemizin 20.90.4.71 ip adresine dns isteği gönderdiği görülüyor.

Detaylı olarak log’a bakıldığında Firewalldan hangi ip’den hangi ip’ye hangi porta istek yapıldığı görünmektedir.

Wireshark tool’unda görüldüğü gibi Iodine tool’u sorgu yaptıgımız alan adına subdomainler ekleyerek sorguları yapıyor ve Komuta Kontrol Merkezide bu sorgulara cevap dönüyor ve Dns Tünel iletişimi sağlanıyor.

Dns Tünel oluştuktan sonra 10.20.20.2 ve 10.20.20.1 IP’si haberleşmektedir.
#ifconfig yazarak terminale interfaceler arasında dns0‘ı görebiliriz.

Ping atarak paketlerin nasıl değiştiğine bakalım.


Ping başlattıktan sonra subdomainlerde encode edilmiş datalar görünmekte.


Görüldüğü üzere Dns Tünel üzerinden haberleşme sağlanmaktadır. Bu aşamadan sonra bir çok protokol kullanılabilir. Saldırganın amacına göre buradaki işlem değişecektir. Ssh gibi protokolleri de kullanabilecektir. Veri çıkarma işleminin mantığı bu şekildedir.
Dns Tünelleme Tespiti ve Engelleme Nasıl Yapılabilir ?
Dns paketlerinde sorgunun ve cevabın boyutu büyükse , uzun sorgular var ise bu isteklere şüpheyle yaklaşılmalıdır.
Saldırganlar veri çıkarırken veriyi genellikle yoğunluk olan saatlerde çalışma saatleri içerisinde çıkarmaya çalışırlar. Anlaşılmasını bu sayede zorlaştırırlar.
Paket boyutlarını da olabildiğince düşük tutarak şüphe uyandırmak istemezler.
Dns Trafiği olabildiğince izlenmeli ve SIEM , Wireshark gibi araçlarla trafik kontrol edilmelidir.
Saldırganlar birçok Komuta Kontrol Merkezi üzerinden bu işlemi yapacaktır. Bir tünel erişimi kesildiğinde diğer tünel erişimi üzerinden verileri çıkaracaktır. Bir Dns Tünel tespiti yapıldıktan sonra başka Dns Tünellerde olabilir şüphesiyle yaklaşılmalıdır.
Firewalllar üzerinde Dns Filter sayesinde istenilen kategorilerde Dns isteği yapılması sağlanabilir. Bu önlem olacaktır ama yeterli değildir.

Roksit gibi Dns Visibility sağlayan ürünlerle SIEM ürünü entegre edilip bir önlem sağlanabilir. NDR gibi ürünlerle de davranışsal olarak analiz yaparak tespit edilme sağlanabilir.
Herkese iyi çalışmalar.
Teşekkürler, faydalı bir makale olmuş.
Bu faydali makale icin tesekkurler. Gayet aciklayici olmus.