從資安學習層面看 DNS

--

本文同步發至 https://sectools.tw/dns/

DNS Record

每個域可以使用不同類型的 DNS 記錄

  • NS — 名稱服務器記錄包含託管域的 DNS 記錄的權威服務器的名稱。
  • A — 也稱為主機記錄,“ A record”包含主機名的 IP 地址。
  • MX — mail交換記錄包含負責處理域電子郵件的伺服器的名稱。一個域可以包含多個 MX 記錄。
  • PTR — 指針記錄用於反向查找區域,用於查找與 IP 地址關聯的記錄。
  • CNAME — 規範名稱記錄用於為其他主機記錄創建別名。
  • TXT — 文字記錄可以包含任何任意數據,並可用於各種目的,例如域所有權驗證。

自動查找

使用額外的DNS查詢來發現更多同一域的主機名稱或IP位址。

donotexist.sectools.tw 回復了一個錯誤的NXDOMAIN,表示主機不存在DNS公共DNS記錄。

Forword 查找

我們可以使用一些清單去猜測網路上伺服器的目錄、用戶名稱或密碼的組合,或在我們這篇文章中的一些DNS記錄,只是sectools.tw 沒有架設其他子網域所以等等demo時也查不到其他的,當然也不能主動去掃別人的網域,這本身是違法的行為(因為是主動偵測)!

創建一個list.txt 裡面假設放了一些常會出現在子網域的名稱

然後寫一小段迴圈來處理

for ip in $(cat list.txt); do host $ip.sectools.tw; done

在kali中,可以用 seclists的清單 預設在 /usr/share/seclists

或去這裡下載 https://github.com/danielmiessler/SecLists

Reverse 查找

這個前提是DNS要配置PTR記錄,我這邊剛沒有,不過AWS上的DNS服務通常都會有這樣的機制(印象中是這樣,待查證)。

所以這邊就不放上實際跑的圖。

for ip in $(seq50 100); do host xx.xx.xx.$ip; done

xx 記得替換網段

可以搭配 grep -v 來過濾無效的結果

DNS Zone Transfers

伺服器之間的資料庫複製,裡面有所有DNS名稱的列表。

host -l <domain name> <dns server address>

Kali 有哪些工具可以用

  • DNSRecon
  • DNSenum

喜歡我的文章記得給我掌聲~或分享!

--

--