iT邦幫忙

2021 iThome 鐵人賽

DAY 5
3
Security

資安這條路─系統化學習滲透測試系列 第 5

Day5 被動情蒐(2)-dig、fierce、DNSenum、DNSrecon、Sublist3r、dnsdumpster

  • 分享至 

  • xImage
  •  

DNS 工具:dig

Domain Information Groper 一樣可以檢測 DNS 伺服器的工具。

查看參數說明
查看幫助清單:dig -h

指定記錄類型
指令:dig -t [Record type] [domain]
範例指令:dig -t mx google.com

指定 DNS 伺服器
指令:dig -t [Record type] [domain] @[dnsserver]
範例指令:dig -t any google.com @8.8.8.8

測試 zone transfers 弱點

  1. 確認 NS 紀錄
    範例指令:dig -t ns zonetransfer.me

  2. 指定查詢到的 NS 伺服器
    範例指令:dig -t axfr zonetransfer.me @nsztm2.digi.ninja

    如圖所示可列出所有 zonetransfer.me 的 DNS 紀錄。

DNS 工具:fierce

fierce 利用Perl 腳本撰寫而成的工具,可以使用 DNS 定位一段非連續的 IP 範圍與該 IP 的主機名稱。

可以透過 fierce 確定企業網路中內部與外部的目標。

查看參數說明
查看幫助清單:fierce -h

定位目標 domain 的 name Server
指令:fierce --domain [domain]
範例指令:fierce --domain google.com
fierce 的掃描流程

  1. 定位目標 domain 的 Name Server
  2. 嘗試在 Name Server 查詢 zone transfers(會先檢查萬用字元 * 的 DNS 紀錄)
  3. 再利用內建的字典檔爆破子域名
  4. 掃描結束會輸出找到的子域名

指定字典檔

  1. 建立字典檔
    範例指令:echo -e "about\ndns\nchat" > subdomains.txt

  2. 指定字典檔
    指令:fierce --domain [domain] --subdomain-file [path to wordlist]
    範例指令:fierce --domain google.com --subdomain-file subdomains.txt

萬用字元的 DNS 紀錄

若 DNS 伺服器中有設定萬用字元 * 的 DNS 紀錄,若有非指定的子域名請求, 則會對應到萬用字元的紀錄中。

域名 紀錄類型 對應 IP
www.feifei.tw A 1.1.1.1
blog.feifei.tw A 1.1.1.2
test.feifei.tw A 1.1.1.3
*.feifei.tw A 1.1.1.1

請求 www.feifei.tw 則會取得 1.1.1.1 的 IP,請求 blog.feifei.tw 則會取得 1.1.1.2 的 IP,以此類推,而請求 share.feifei.tw 因為沒有指定的域名,則會適用於萬用字元的紀錄,得到 1.1.1.1

當我們使用爆破工具爆破子域名時,若沒有先確認萬用字元的 DNS 紀錄,將導致所有結果會導向到萬用字元對應到的 IP,導致測試結果會不正確。

因此要先確認萬用字元的 DNS 紀錄與對應的 IP,再進行爆破子域名,若對應到與萬用字元的 IP 相同,則該子域名可先被排除。

DNS 工具:DNSenum

DNSenum 也是利用 Perl 腳本撰寫而成的工具,可以枚舉 DNS 資訊也可以找出非連續的 IP 範圍,也會查詢 zone transfers 並蒐集子域名。
查看參數說明
查看幫助清單:fierce -h

進行掃描
指令:dnsenum [domainname]
範例指令:dnsenum google.com
掃描結果:

  1. 針對目標查詢 IP、Name Server 紀錄、MX 紀錄
  2. 嘗試查詢 Zone transfers 與爆破子域名
  3. 針對目標查詢 Class C 的範圍,並執行反向尋找

DNS 工具:DNSrecon

DNSrecon 一樣可查詢 DNS 紀錄、檢查 zone transfers 與其他 DNS 資訊。

查看參數說明
指令:dnsrecon -h

開始掃描
指令:dnsrecon -d [domain]
範例指令:dnsrecon -d google.com
掃描結果:

  1. 查看 DNS 紀錄
  2. 枚舉 SRV 紀錄

DNS 工具:Sublist3r

利用 Python 撰寫而成的工具,透過公開資料搜尋域名,會透過搜尋引擎找到指定域名的子域名,包含 Subbrute 爆破功能暴力破解子域名,內涵字典檔可以枚舉 DNS 紀錄與子域名,若需要查詢大量的資料,Subbrute 使用開放式解析器來迴避速度被限制的問題。

安裝工具
指令sudo apt update && sudo apt -y install sublist3r

查看參數說明
指令:sublist3r -h

開始預設掃描
預設掃描採用公開資料搜尋,以搜尋引擎為主。
指令:sublist3r -d [domain]
範例指令:sublist3r -d google.com

開始爆破掃描
指定 Subbrute 功能進行爆破。
指令:sublist3r -d [domain] -b -t [線程] -e [搜尋引擎] -v
範例指令:sublist3r -d google.com -b -t 100 -e google -v

參數 說明
-d 指定目標域名
-b 進行爆破模式
-t 指令爆破線程數
-e 指定搜尋引擎
-v 列出詳細輸出

DNS 工具:dnsdumpster.com

線上工具:https://dnsdumpster.com/

以上介紹幾個跟 DNS 相關的測試工具,若有讀者想推薦工具,可以在以下留言。


上一篇
Day4 被動情蒐(1)-DNS、nslookup、host
下一篇
Day 6 被動搜查(3)-Google Hacking、shadon、.git 洩漏
系列文
資安這條路─系統化學習滲透測試37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言