Subdomainsbrute 實用工具詳解

一、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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:40
下一篇 2024-12-12 12:40

相關推薦

  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • MPU6050工作原理詳解

    一、什麼是MPU6050 MPU6050是一種六軸慣性傳感器,能夠同時測量加速度和角速度。它由三個傳感器組成:一個三軸加速度計和一個三軸陀螺儀。這個組合提供了非常精細的姿態解算,其…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變量讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25

發表回復

登錄後才能評論