一、Subdomainsbrute 工具介紹
Subdomainsbrute 是一款強大的子域名爆破工具,通過遍歷指定的域名和字典文件,收集和輸出可能存在的子域名。它採用 Python3 編寫,基於線程池的方式,可以快速地發現在線上的子域名,它需要很少的內存和 CPU 以及極快的爆破速度。
二、Subdomainsbrute 工具安裝
Subdomainsbrute 可以通過 pip 命令安裝:
pip3 install subdomainsbrute
另外,也可以使用 Github 源代碼手動安裝:
git clone https://github.com/lijiejie/subDomainsBrute.git
cd subDomainsBrute
pip3 install -r requirements.txt # 安裝依賴庫
python3 subDomainsBrute.py -h # 運行測試命令
三、Subdomainsbrute 工具功能
1、普通模式
直接對單個域名進行爆破,將字典文件中的每個子域名作為一個獨立的子域名嘗試。
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames.txt
命令參數解釋:
-b
:表示爆破模式;-t
:指定要爆破的域名;-o
:將結果輸出到指定文件;-w
:指定要使用的字典文件。
2、高級模式
在普通模式基礎上,添加了對一些高級設置的支持。比如,可以對請求頭進行設置,添加 Cookie 或者使用代理方式訪問。
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames.txt -s 80,443 -r 2 -p http://127.0.0.1:1080 --headers "User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.19041.1171"
命令參數解釋:
-b
:表示爆破模式;-t
:指定要爆破的域名;-o
:將結果輸出到指定文件;-w
:指定要使用的字典文件;-s
:指定要掃描的端口號,多個端口用逗號分隔;-r
:設置線程數量;-p
:指定代理地址,使用代理算法。
四、Subdomainsbrute 實用示例
1、使用 nmap 進行端口掃描,然後對掃描結果進行爆破
使用 nmap 進行端口掃描,然後將結果輸出到文本文件中。使用 subnames.txt 字典文件進行子域名爆破。
nmap -sS -sU -T4 -Pn -p- -r example.com -oN openports.txt # 掃描端口並將結果輸出到 openports.txt 中
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames.txt -s $(grep -oE "\d{1,5}/open" openports.txt | cut -d'/' -f1 | tr '\n' ',' | sed 's/,$//g')
2、使用子域名爆破工具進行子域名爆破
使用 subDomainsBrute 爆破例子樣本主域名的所有子域名。
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames.txt -f 10
命令參數解釋:
-b
:表示爆破模式;-t
:指定要爆破的域名;-o
:將結果輸出到指定文件;-w
:指定要使用的字典文件;-f
:指定運行時的 DNS 緩存,單位為分鐘。
五、Subdomainsbrute 工具使用技巧
1、使用多個字典文件進行爆破
Subdomainsbrute 支持同時指定多個字典文件用於爆破。可以將不同類型的字典(如常見子域名字典、公司 DNS 記錄字典、CMS 子域名字典等)進行組合。使用如下命令進行爆破:
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames1.txt,subnames2.txt,subnames3.txt
2、關注爆破結果中的 HTTP 狀態碼
Subdomainsbrute 在輸出結果的同時,會同時輸出對應子域名的 HTTP 狀態碼。我們可以通過這個狀態碼判斷對應子域名是否真正存在,以便進一步篩選出有意義的信息。在輸出結果的同時,可以使用 grep 命令來過濾顯示某個特定的狀態碼結果:
python3 subDomainsBrute.py -b -t example.com -o result.txt -w subnames.txt |&grep -w "200\|301\|302"
3、指定運行時 DNS 緩存
在多個不同處理機上運行爆破任務,可能會遇到本地 DNS 緩存污染的問題。因此 Subdomainsbrute 提供了 -f 選項用於控制運行時的 DNS 緩存時間,單位為分鐘。當指定緩存時間時,將會始終使用這個時間來保持 DNS 緩存的一致性。
六、小結
Subdomainsbrute 可以幫助我們快速地發現互聯網上的所有子域名,也可以用於子域名的整合和組合。它的諸多強大功能可以解決目前子域名爆破工具的瓶頸,是一款很值得嘗試的工具。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241592.html