17 Temmuz 2015

IODINE ile DNS Tünelleme (DNS Tunnelling)

Bir protokol içerisinde başka bir protokole ait veri taşıma işlemine protokol tünelleme denir.
DNS paketleri içersinden herhangi bir tcp/udp paketini (örneğin, http,ftp, ssh vb.) taşıma işlemi de DNS Tünnelleme olarak isimlendirilir.

DNS tünel araçları, DNS sorgu bölümündeki veriyi encode ederek ISP'nin (daha doğrusu tünel sunucusunun sahibinin) DNS sunucusuna iletir. Sunucu üzerindeki DNS portunda tünelleme sunucusu çalışır. Aracın sunucu tarafı da, gelen isteği decode eder ve ilgili isteğe yanıtı istemciye geri gönderir.


Bu makalede IODINE DNS tünelleme yazılımı örneklenecektir.

IODINE: Ip Over DNS Is Now Easy

iodine platform bağımsızdır. İodine linux sistemlerde paket yöneticilerinde bulunmaktadır. Örneğin Ubuntu platformunda kurmak için;

"apt-get install iodine"

komutu yeterlidir.

Windows sistemlere kurmak için aşağıdaki link incelenebilir.
https://github.com/yarrick/iodine/blob/master/README-win32.txt

Gerekli yüklemeler yapıldıktan sonra,

Server tarafında;

"iodined -fP P4ssw0rd 10.0.0.1 test.tunnel.me"

komutu çalıştırılır.

iodined -fP P4ssw0rd 10.0.0.1 test.tunnel.me

Burada -P parametresi ile kuracağımız bağlantıya parola atamış oluyoruz. Client tarafında bağlanacağımız zaman aynı parolayı kullanarak bağlanacağız.

10.0.0.1 olarak girmiş olduğumuz ip Server'ımızın dns0 bacağına atanacak IP'dir. Daha sonra gelen bağlantılar 10.0.0.2 ve üstü şeklinde IP alacaktır.

Client tarafında;

"iodine -fP P4ssw0rd SERVER_IP test.tunnel.me"

komutu çalıştırılır.

iodine -fP P4ssw0rd SERVER_IP test.tunnel.me

Server tarafında belirtmiş olduğumuz parola ile Server'ımızın IP'si girildikten sonra bağlantı sağlanacaktır. Oluşacak dns0 bacağına 10.0.0.2 IP'si atanmıştır.

Bağlantının başarılı bir şekilde sağlanıp sağlanmadığını test etmek adına her iki makineden de birbirlerine ping atmayı deneyelim.

Server tarafında;

Server tarafında

Client tarafında ise;

Client tarafında ise

Dilenirse client'ın default gateway adresi server'ın almış olduğu 10.0.0.1 IP'si ile değiştirilerek internete bu interface üstünden çıkılabilir.

Bu makale 2015 stajerlerimizden YTÜ öğrencisi "Yunus Yıldırım" tarafından geliştirilmiştir.
BTRİSK Bilgi Güvenliği ve BT Yönetişim Hizmetleri şirketi personeli tarafından geliştirilen Pentest (Sızma Testi), ISO27001, BT Denetimi ve bilgi güvenliği hakkında herşeyi bulabileceğiniz blog'dur.