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