nslookup命令是已知域名的的解析記錄下進行的查詢。打個比方,已知sina.com這個域名有www.sina.com這條主機解析記錄,就可以查詢www.sina.com對應的ip以及其他相關信息。但是用這種方法並不能知道sina.com是否有blog.sina.com這條解析記錄。對於滲透測試來說,拿到一個域名的所有解析記錄是十分有必要的,這時候就需要進行字典爆破了。
先說區域傳輸,這個功能能夠完成DNS服務器之間的數據庫同步,一般只發生在DNS服務器之間。但是有些DNS服務器的系統管理員比較粗心,在配置時發生了一些小錯誤,導致任何一台主機都可以跟這台DNS服務器進行數據庫同步。
這里以新浪作為例子:
首先要知道sina.com的ns記錄:
可以發現,sina.com的ns記錄一共有8條。
接下來隨機選擇一個服務器嘗試進行數據庫同步:
其中dig @ns1.sina.com.cn sina.com axfr這條命令就是同步命令了,@dns.example.com參數指定DNS服務器,example.com就是要查詢的域名,而axfr是查詢類型(Request for full zone transfer),即要求同步數據庫。
很明顯,新浪的DNS服務器拒絕了我們的同步請求。
使用host -T -l sina.com ns1.com.cn. sina.com這條命令可以達到相同的效果,其中-l就是發起axfr類型的請求。
當然了,一般情況下都不會有這么好的運氣能夠直接同步。這時候就可以使用字典爆破,即拿一個字典一個一個嘗試,把對應的域名的解析記錄全部暴力嘗試出來。
介紹一下fierce
命令格式:fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt
參數:-dnsserver指定DNS服務器 -dns指定要查詢的域 -wordlist指定字典
操作演示:
可以看到,正在從a-z爆破。
相關的工具還有很多,比如dnsdict6(現在在Kali Linux的默認工具包里沒有了),dnsenum,dnsmap,dnssrecon等等。
不過工具也就是個工具,不用記住所有參數,用的時候找個男人問一問就知道了。