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.
# 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