滲透測試之DNS偵查——DNS查詢工具nslookup
1 DNS介紹
DNS(域名系統(tǒng))可以在偵查過程中提供有價值的數(shù)據(jù),DNS的基本功能是將域名轉(zhuǎn)換為IP地址。(如果對DNS了解不是很深的話,就需要下一番功夫了!)現(xiàn)在已經(jīng)有許多出色的工具可以助我們從域名服務(wù)器提取我們需要的數(shù)據(jù),可以收集到的信息包括:
DNS偵探被認為是主動的踩點偵查,原因是你必須與客戶設(shè)備進行交互來獲取信息。
2. nslookup工具
nslookup是一個DNS查詢工具,他可以將域名解析成IP地址,反之亦然。它能夠查詢給定的域名服務(wù)器并給出具體記錄。nslookup是款跨平臺軟件,已經(jīng)預(yù)裝在Kali linux中。
2.1 默認輸出
以www.baidu.com域名為例,實施一次快速的IP地址查詢。在Kali Linux終端輸入以下命令:
# nslookup www.baidu.com
輸出的信息如下:
服務(wù)器202.205.16.4是本網(wǎng)絡(luò)的NDS服務(wù)器,UDP 53端口是DNS請求時使用的端口。根據(jù)輸出顯示的結(jié)果表明,百度的一個別名是www.a.shifen.com,查詢到了兩個IP地址說明百度使用了不止一臺服務(wù)器來均衡負載。
2.2 更換域名服務(wù)器
使用不同的驗證DNS查詢的結(jié)果,如服務(wù)器8.8.8.8是Google公司提供的公共DNS服務(wù)器,用來為公共用戶提供安全的瀏覽。在滲透測試時,使用不同的公共DNS服務(wù)器是有意義的,可以檢測到你當前的DNS服務(wù)器是否被入侵篡改。
# nslookup
\> server
\>server 8.8.8.8
\>set type=ns
\>www.baidu.com
初始化nslookup,然后再控制臺輸入server,可以看到當前本機使用的域名服務(wù)器和端口。換一臺域名服務(wù)器,輸入命令server 8.8.8.8,用指定的域名服務(wù)器來查看域名。set type=ns 將類型定義為NS(域名服務(wù)器)。
以上命令可以簡化為一行命令:
# nslookup -type=ns baidu.com 8.8.8.8
nslookup 反向解析示例:
2.3 創(chuàng)建自動化腳本
nslookup可以通過一個單獨的命令執(zhí)行,因此可以創(chuàng)建一個腳本,來自動執(zhí)行域名或主機的信息提取工作,然后將輸出導(dǎo)入到文本文件中。
創(chuàng)建待查詢域名的文本文件
# vim DomainNames.txt
填入
baidu.com
blog.csdn.net
:wq保存退出。
創(chuàng)建腳本
# vim autoDNS.sh
123
將以下腳本寫入autoDNS.sh文件中:
#!/bin/sh
for HOSTNAME in `cat DomainNames.txt`
do
echo "Name servers of [$HOSTNAME]"
nslookup $HOSTNAME
done
為autoDNS.sh添加可執(zhí)行權(quán)限。
# chmod +x autoDNS.sh
執(zhí)行腳本
# ./autoDNS.sh
得到的結(jié)果如下:
將結(jié)果導(dǎo)出到指定文件
# ./autoDNS.sh > NameServerLists.txt
# cat NameSercerLists.txt
123456
cat查看結(jié)果的正確性。