子域名資訊蒐集思路與技巧梳理

FLy_鵬程萬里發表於2018-06-28

前言

本文適合Web安全愛好者,其中會提到8種思路,7個工具和還有1個小程式,看本文前需要了解相關的Web基礎知識、子域名相關概念和Python 程式的基礎知識。

感謝我的好友龍哥的技巧大放送以及Oritz分享的小程式~

首先我們引用一句名言作為開篇:

在滲透測試中,資訊蒐集能力的差距,不明顯,也最明顯。

這句話是龍哥說的,而在技術分享上,我們覺得授之以魚之前,更重要的是授之以漁。因此本篇文章首先進行子域名蒐集思路的梳理,拋磚引玉,然後介紹一下常用的工具,最後分享一個基於 HTTPS 證照的子域名查詢小工具。

思路梳理及操作圖示

1、Web子域名猜測與訪問嘗試

最簡單的一種方法,對於 Web 子域名來說,猜測一些可能的子域名,然後瀏覽器訪問下看是否存在。

2、搜尋引擎查詢

比如 site:163.com

3、查詢DNS的一些解析記錄

如查詢 MX、CNAME 記錄等

比如用 nslookup 命令

nslookup -qt=any bing.com


還有一種基於DNS查詢的暴力破解,舉個例子,比如用 nslookup 命令挨個查詢猜測的子域名,看能否查詢到結果。

4、爬蟲爬取頁面提取子域名

可以利用爬蟲從頁面原始碼中提取子域名

以 burp 的爬蟲為例:


5、crossdomain.xml 檔案

6、通過 IP 反查(類似於旁站查詢)

至於 IP 如何獲取,也會有一些玩法,有機會我們們再梳理。

7、通過 HTTPS 證照蒐集

8、一些漏洞的利用

如: DNS 域傳送漏洞

常用工具梳理

1、線上工具

有很多子域名的查詢站點,可以搜尋“子域名查詢”尋找,如:

1)http://i.links.cn/subdomain/ 可查詢二級、三級等子域名


2)http://dns.aizhan.com/ 查詢同 IP 繫結了哪些域名


3)https://crt.sh/ 根據 HTTPS 證照查詢子域名


2、本地工具

1)Layer 子域名挖掘機


2)wydomain

豬豬俠:https://github.com/ring04h/wydomain

3)subDomainsBrute

lijiejie:https://github.com/lijiejie/subDomainsBrute


4)Sublist3r

aboul3la: https://github.com/aboul3la/Sublist3r


小程式分享

最後分享下團隊小夥伴 Oritz 寫的基於 HTTPS 證照的子域名收集練習小程式 “GetDomainsBySSL.py” ,程式異常處理之類的還沒完善,感興趣的小夥伴可以當做例子繼續開發哦。

下載連結:Youdao

程式原理:整合了 crt.sh 和 Google 的查詢介面,以及呼叫 OpenSSL 去解析 HTTPS 證照的資訊(需要說明的是,Google 的查詢介面可能需要代理訪問,而 OpenSSL 模組在 Linux 下通常自帶)。

程式依賴的模組:

1)lxml:https://pypi.python.org/pypi/lxml/2.3/

2)OpenSSL

Windows下執行(沒有OpenSSL的情況執行):

Linux下執行(kali自帶了OpenSSL模組):


好了,時間過得真快,又到了說再見的時候。今天的小分享就到這裡,一句話概括就是8 種思路,7 個工具,還有 1個小程式,歡迎交流討論哦~

相關文章