Pentest ve Malware Analizi Çalışmalarında DNS Proxy Kullanımı

Pentest çalışmalarında ve Malware analizinde tüm dns isteklerine istenilen yanıtı verecek yapılandırması son derece kolay bir dns suncuya ihtiyaç duyulur. Bilindik dns sunucular ile (bind,tinydns vb.) bu işi yapmak sancılıdır. DNSchef, bu işlemi pratik olarak yapacak windows ve linux sistemlerde kurulum gerektirmeksizin kullanılabilen bir dns proxy yazılımıdır.


DNSChef ile çalışmak;

# wget http://thesprawl.org/media/projects/dnschef-0.2.1.tar.gz
# tar zxvf dnschef-0.2.1.tar.gz
# cd dnschef-0.2.1

Kullanım parametrelerini görüntülemek için –help parametresi kullanılabilir.
# ./dnschef.py –help

DNSChef Uygulamaları

# ./dnschef.py
          _                _          __
         | | version 0.2  | |        / _|
       __| |_ __  ___  ___| |__   ___| |_
      / _` | ‘_ / __|/ __| ‘_ / _  _|
     | (_| | | | __ (__| | | |  __/ |
      __,_|_| |_|___/___|_| |_|___|_|
                   iphelix@thesprawl.org

[*] DNSChef started on interface: 127.0.0.1
[*] Using the following nameservers: 8.8.8.8
[*] No parameters were specified. Running in full proxy mode

Eğer herhangi bir parametre kullanılmadan çalıştırılırsa, gelen dns isteklerini varsayılan olarak  tanımlanan 8.8.8.8 ip adresinden sorgulayıp yanıt verecektir.

# host -t A bga.com.tr
bga.com.tr has address 50.22.202.162

Yukarıdaki komut ile bga.com.tr alan adının ip adresi sorgulandı. Böyle bir durumda DNSChef aşağıdaki gibi dns sorgusu yapan ip adresi ve sorgulanan adres ile  ilgili çıktı verecektir.

# ./dnschef.py
          _                _          __
         | | version 0.2  | |        / _|
       __| |_ __  ___  ___| |__   ___| |_
      / _` | ‘_ / __|/ __| ‘_ / _  _|
     | (_| | | | __ (__| | | |  __/ |
      __,_|_| |_|___/___|_| |_|___|_|
                   iphelix@thesprawl.org

[*] DNSChef started on interface: 127.0.0.1
[*] Using the following nameservers: 8.8.8.8
[*] No parameters were specified. Running in full proxy mode
[15:53:34] 127.0.0.1: proxying the response of type ‘A’ for bga.com.tr


Tüm dns isteklerine sahte yanıtlar vermek için –fakeip parametresi kullanılır.

Örnek;
Sorgulanan tüm DNS istekleri için 1.1.1.1 ip adresini yanıt olarak döndür.

# ./dnschef.py –fakeip 1.1.1.1 -q
[*] DNSChef started on interface: 127.0.0.1
[*] Using the following nameservers: 8.8.8.8
[*] Cooking all A replies to point to 1.1.1.1

Test için host komutunu kullanalım tekrar,

# host -t A bga.com.tr
bga.com.tr has address 1.1.1.1

# host -t A google.com.tr
google.com.tr has address 1.1.1.1

bga.com.tr ve google.com.tr alan adı için 1.1.1.1 ip adresi yanıt olarak geldi. Bu istekler ve sorgulama yapan ip adresleri dnschef ekranında log olarak görünecektir.

# ./dnschef.py –fakeip 1.1.1.1 -q
[*] DNSChef started on interface: 127.0.0.1
[*] Using the following nameservers: 8.8.8.8
[*] Cooking all A replies to point to 1.1.1.1
[15:59:26] 127.0.0.1: cooking the response of type ‘A’ for bga.com.tr to 1.1.1.1
[15:59:52] 127.0.0.1: cooking the response of type ‘A’ for google.com.tr to 1.1.1.1

Yazar: Ozan UÇAR / ozan.ucar@bga.com.tr