使用subdomainsBrute進行域名及子域名信息收集
在當今數字化時代,互聯網的快速發展帶來了無數的子域名,這些子域名是構成一個網站的基本組成部分。對于網絡管理員和安全專家來說,了解和掌握子域名信息搜集及工具使用技巧至關重要。子域名信息搜集是指通過各種技術手段和工具,獲取目標網站下的所有子域名的過程。隨著網絡攻擊和數據泄露事件的不斷增加,有效地搜集子域名信息能夠幫助安全團隊更好地識別和應對潛在的威脅。
子域名信息搜集的過程包括多種方法,其中一種常用的方法是通過DNS查詢獲取子域名。DNS查詢是一種用于獲取域名與IP地址之間映射關系的協議,通過查詢DNS服務器,我們可以獲取到目標網站下的所有子域名。除此之外,還有一些自動化工具可以幫助我們更快速、高效地進行子域名信息搜集,例如SubdomainsBrute、OneforAll、Sublist3r、Amass等工具。
掌握子域名信息搜集的工具使用技巧對于網絡安全專家來說非常重要。通過有效地搜集子域名信息,我們可以發現目標網站隱藏的漏洞、弱點或者未經授權的訪問點。
一、subdomainsBrute工具簡介
subdomainsBrute是一款用Python編寫的子域名爆破工具。它可以根據提供的字典文件,快速掃描給定域名可能存在的子域名。該工具使用多線程技術進行掃描,提高了掃描效率,并支持將結果輸出到文件中以便進一步處理和分析。
1.1.特點
1).遞歸發現三級、四級、五級域名
工具使用小字典進行遞歸查詢,以便發現那些不容易被探測到的域名。
2).全面的字典
該工具提供了較全面的字典,包括3萬多條和8萬條的小字典和大字典。
3).默認使用快速可靠的公共DNS
工具默認使用114DNS、百度DNS和阿里DNS這幾個公共DNS服務器進行查詢。您也可以隨時修改配置文件,添加您認為可靠的DNS服務器。
4).自動篩選泛解析的域名
工具會自動篩選出存在泛解析的域名。當前的篩選規則是:如果超過10個域名指向同一IP,則工具將丟棄后續發現指向該IP的其他域名。
5.可接受的掃描速度
整體速度還可以,每秒穩定掃描100到200個域名(使用10個線程)。
1.2歷史版本的變化
[2022-06-14] Version 1.5:增加了通過HTTPS證書獲取子域名的功能,提高了兼容性,并在Windows系統下通過Proactor事件循環緩解進程句柄限制。
[2022-05-06]:修復了版本檢查錯誤的bug。
[2020-10-29]:增加了對強制掃描泛解析的域名的支持。
[2020-10-26]:修復了Windows系統下出現的文件描述符過多的問題。
[2020-05-05]:增加了對Python 3.5+的支持,提高了執行效率。
[2019-05-19]:添加了通配符測試,提高了掃描速度和可靠性。
[2018-02-06]:添加了多進程支持,結合協程提高了掃描效率,并對字典中的占位符進行預處理以提高掃描效率。
[2017-06-03]:修復了normal_lines的深拷貝問題。
[2017-05-04]:使用協程替代多線程,使用優化級隊列減小隊列長度,優化了對占位符的支持。
二、域名和子域名的概念和分類
域名和子域名是互聯網中常用的概念,它們在網站尋址和組織上起著重要的作用。
2.1域名
域名是由一串以點分隔的字符組成的網址,用于標識和定位互聯網上的資源或主機。例如,"example.com"就是一個域名。域名通常包含多個部分,從右到左依次表示級別。最右邊的部分稱為頂級域名(Top-Level Domain,TLD),如.com、.org等;其左邊的部分稱為二級域名(Second-Level Domain,SLD),如example.com;再往左則可以有更多的子域名。域名可以注冊并與特定的IP地址相關聯,通過域名解析系統(DNS)將域名轉換為對應的IP地址。
2.2子域名
子域名是在主域名下創建的更小的域名,用于進一步劃分和組織網站的不同部分。子域名可以根據需要自由定義,并與主域名共享同一級別。子域名的格式為subdomain.domain.com,其中subdomain表示子域名的名稱,domain.com表示主域名。子域名可以用于區分不同的服務、部門、地理位置或語言版本等,提供更靈活和可擴展的網站架構。
2.3分類
根據組織層級和功能的不同,子域名可以分為以下幾種類型:
1).主機子域名
用于標識特定的主機或服務器,如www.example.com表示網站的主頁。例如:
www.example.com:網站的主頁
ftp.example.com:FTP文件傳輸服務
mail.example.com:電子郵件服務
ns1.example.com:DNS服務
2).服務子域名
用于區分不同的服務或功能,如mail.example.com表示郵件服務。例如:
api.example.com:API服務
cdn.example.com:內容分發網絡
chat.example.com:在線聊天服務
ads.example.com:廣告服務
3).地理位置子域名
用于根據地理位置進行區分,如cn.example.com表示中國地區的網站版本。例如:
cn.example.com:中國地區的網站版本
us.example.com:美國地區的網站版本
jp.example.com:日本地區的網站版本
sg.example.com:新加坡地區的網站版本
4).語言版本子域名
用于根據語言進行區分,如en.example.com表示英文版網站。例如:
en.example.com:英文版網站
fr.example.com:法文版網站
es.example.com:西班牙文版網站
zh.example.com:中文版網站
5).部門子域名
用于區分不同的部門或團隊,如sales.example.com表示銷售部門的網站。例如:
sales.example.com:銷售部門的網站
hr.example.com:人力資源部門的網站
dev.example.com:開發部門的網站
marketing.example.com:市場營銷部門的網站
總結起來,域名是互聯網上資源或主機的標識,而子域名是在主域名下創建的更小的域名,用于進一步劃分和組織網站的不同部分。根據組織層級和功能的不同,子域名可以進行多樣化的分類。為了方便,一般來講主站會有分站的鏈接地址,但為了安全有些組織的子域名僅供內部使用,通過內部通告獲知,外部只能通過暴力破解等方式來獲取。
三、域名信息搜集的方法和工具
域名信息搜集是指通過各種方法和工具獲取域名相關的信息,包括域名所有者、注冊商、DNS服務器、IP地址、SSL證書等,這些信息對于網站管理、運營和安全都非常重要。下面介紹一些常用的域名信息搜集方法和工具:
1).WHOIS查詢
WHOIS是一種協議,用于查詢域名注冊信息??梢酝ㄟ^WHOIS查詢工具或在線服務,輸入目標域名或IP地址,獲取相關的注冊信息、聯系人、注冊商、DNS服務器等信息。常用的WHOIS查詢工具包括whois.domaintools.com、who.is、whois.com等。
2).DNS查詢
DNS查詢可以獲取域名的IP地址、CNAME記錄、MX記錄等信息。
可以使用dig、nslookup、host等命令行工具進行查詢,也可以使用在線DNS查詢服務,如dnschecker.org、mxtoolbox.com等。
3.SSL證書查詢
SSL證書查詢可以獲取域名的證書頒發機構、證書類型、有效期等信息。
可以通過瀏覽器開發者工具、SSL檢測工具或在線SSL查詢服務進行查詢,如sslshopper.com、digicert.com等。
4).站長工具
站長工具是一類專門針對網站管理和SEO優化的在線服務,提供了豐富的域名信息搜集和分析功能。 常用的站長工具包括百度站長平臺、Google Search Console、Alexa網站排名等。
5).漏洞掃描器
漏洞掃描器可以對目標域名進行全面的安全掃描,檢查是否存在漏洞、弱密碼等問題。常用的漏洞掃描器包括Nmap、OpenVAS、Nessus等。
3.1WHOIS查詢工具的使用方法
WHOIS查詢工具是一種通過WHOIS協議查詢域名注冊信息的工具,可以查詢域名的所有者、注冊商、注冊日期、過期日期、DNS服務器等相關信息。下面介紹一些常用的WHOIS查詢工具的使用方法:
1).whois.domaintools.com:
打開whois.domaintools.com網站,在搜索框中輸入目標域名,點擊“Search”按鈕。等待查詢結果展示,即可查看域名的注冊信息、歷史記錄、DNS記錄等。評價:需要付費注冊用戶并登錄網站才能查看詳細信息。
圖片
圖片
2).who.is
打開who.is網站。在搜索框中輸入目標域名或IP地址,點擊“WHOIS Lookup”按鈕。等待查詢結果展示,即可查看域名的注冊信息、聯系人、DNS服務器等。
圖片
3).whois.com
打開whois.com網站。在搜索框中輸入目標域名或IP地址,點擊“WHOIS Search”按鈕。等待查詢結果展示,即可查看域名的注冊信息、聯系人、DNS服務器等。
圖片
4).新網查詢
打開Xinnet域名WHOIS查詢頁面:http://whois.xinnet.com/
在搜索框中輸入目標域名,點擊“查詢”按鈕。等待查詢結果展示,即可查看域名的注冊信息、聯系人、DNS服務器等。
圖片
5).時代互聯
打開Now.cn域名WHOIS查詢頁面:https://www.now.cn/whois
在搜索框中輸入目標域名,點擊“查詢”按鈕。等待查詢結果展示,即可查看域名的注冊信息、聯系人、DNS服務器等。
圖片
6).阿里云
打開阿里云WHOIS查詢頁面:https://whois.aliyun.com/,在搜索框中輸入目標域名,點擊“查詢”按鈕。等待查詢結果展示,即可查看域名的注冊信息、聯系人、DNS服務器等。
圖片
3.2子域名爆破工具subdomainsBrute的使用方法
子域名爆破工具"subdomainsBrute"是一種用于掃描目標域名的子域名的工具,它通過組合常見的子域名前綴和域名后綴來進行暴力破解。下面是使用"subdomainsBrute"的基本方法:
1).安裝"subdomainsBrute"
首先,在命令行或終端中下載并安裝"subdomainsBrute"。可以使用以下命令進行下載:
git clone https://github.com/lijiejie/subDomainsBrute.git
網頁下載:
https://codeload.github.com/lijiejie/subDomainsBrute/zip/refs/heads/master
2).安裝依賴項
解壓縮subDomainsBrute.zip并進入subDomainsBrute目錄。安裝依賴項。
對于Python 3.5+用戶:
pip3 install dnspython==2.2.1 async_timeout
對于Python 2.7用戶:
pip install dnspython gevent
3).運行"subdomainsBrute"
(1)使用以下命令運行subdomainsBrute
python subDomainsBrute.py domain.com
其中,"domain.com"是目標域名。
(2)命令行選項
--version:顯示程序版本號并退出。
-h, --help:顯示幫助信息并退出。
-f FILE:指定包含每行一個子域名的文件,默認為subnames.txt。
--full:完整掃描模式,將使用subnames_full.txt字典文件進行掃描。
-i, --ignore-intranet:忽略指向私有IP的域名。
-w, --wildcard:在通配符測試失敗后強制進行掃描。
-t THREADS, --threads=THREADS:指定掃描線程數,默認為500。
-p PROCESS, --process=PROCESS:指定掃描進程數,默認為6。
--no-https:禁用從HTTPS證書獲取域名的功能,這可以節省一些時間。
-o OUTPUT, --output=OUTPUT:指定輸出文件名,默認為{target}.txt。
四、subdomainsBrute工具的使用實例
4.1搜集某網站的子域名信息
1).下載并解壓subdomainsBrute
2).安裝依賴項
按照執行環境提示安裝依賴項async_timeout
python –m pip install async_timeout
圖片
3).執行子域名暴力破解
python subDomainBrute.py xxxx.com
圖片
4).到程序目錄打開xxx.com.txt
如圖所示,可以看到兩列數據,第一列為域名,第二列是域名對應的解析IP地址。
圖片
五、總結及評價
subdomainsBrute相對于在線查詢工具來說更為全面,并且不受權限限制。它提供了更廣泛的查詢結果,而不僅僅局限于已經授權的子域名。然而,該工具在查詢速度上可能存在一定限制,如果掃描的子域名數量較多,查詢進度可能會比較慢。跟OneForAll想比較,結果和數據項要少一些,但卻是比較方便。
1).掃描速度快,使用簡單。
2).部分目標掃描結果數據不如OneForAll全面
OneForAll掃描結果