SubDomainsBrute は、辞書総当たりを使用してさまざまな可能性のあるサブドメイン名を試し、DNS 解決を通じて有効なサブドメイン名が存在するかどうかを判断するサブドメイン名ブラスティング ツールです。また、ワイルドカード テストと HTTPS 証明書取得機能もサポートしており、より包括的で正確な結果を提供できます。
この記事では、SubDomainsBrute のインストールと使用方法について説明します。
インストール
SubDomainsBrute は Kali と Windowsw で実行できます。
カーリー
root 権限で次のコマンドを順番に実行するだけです。
git clone https://github.com/lijiejie/subDomainsBrute.git
cd subDomainsBrute
pip install dnspython gevent
ウィンドウズ
ダウンロードリンク:
https://github.com/lijiejie/subDomainsBrute
ダウンロード後、Python ルート ディレクトリに解凍します。
次に、ディレクトリ内の cmd を開き、次のステートメントを実行します。
pip install dnspython gevent
次の応答が表示された場合は、ネットワークが不安定です。
ミラーソースに切り替えるだけです。
pip install dnspython gevent -i https://mirrors.aliyun.com/pypi/simple/
次のステートメントを入力し、次の画像が表示されれば、インストールは成功です。
SubDomainsBrute -version
次のエコーが表示された場合は、モジュールがインストールされていないことを意味します。pip を使用してインストールできます。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple async-timeout
チュートリアル
1. コマンドラインパラメータ
D:\Security\Python3\subDomainsBrute>python subDomainsBrute.py -h
オプション:
–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 です。
基本的なPOC:
python subDomainsBrute.py 目标IP
2.実戦
1) Baidu にアクセスするためのスレッドを 50 個作成し、結果を baidu.txt に保存して、現在のディレクトリに配置します。
python subDomainsBrute.py -t 50 baidu.com -o baidu.txt
スキャン結果は次のとおりです。
2) www.runoob.com にアクセスするための 45 スレッドを作成し、スキャン結果をデスクトップ上の runoob.txt に保存します。
python subDomainsBrute.py -t 45 www.runoob.com -o C:\Users\86177\Desktop\runoob.txt
スキャン結果は次のとおりですが、出力はありません。
これは、このツールのブラスト原理がサブドメインのスプライシングであるためです。たとえば、入力した URL の前に active がスプライシングされるため、www.runoob.com は active.www.runoob.com のみを取得できるため、正しい入力は次のようになります。ルヌーブ.com。
3) 2に続き、runoob.comにアクセスする60スレッドと5プロセスを作成し、辞書ice.txtを指定し、スキャン結果をデスクトップ上のtest.txtに保存します。
辞書のデフォルトの配置パスは次のとおりです。
python subDomainsBrute.py -t 45 -p 5 runoob.com -f ice.txt -o C:\Users\86177\Desktop\test.txt
結果は次のとおりです。
4) runoob.com にアクセスするための 70 スレッドと 4 つのプロセスを作成し、特別なパスで辞書の Ice.txt を指定し、スキャン結果をデスクトップ上の ABC.txt に保存します。
python subDomainsBrute.py -t 45 -p 5 runoob.com -f C:\Users\86177\Desktop\ice.txt -o C:\Users\86177\Desktop\ABC.txt
結果は次のとおりです。
5) フルスキャンモード:
python subDomainsBrute.py -t 45 -p 5 runoob.com --full -o C:\Users\86177\Desktop\D.txt
最も完全な辞書 subnames_full.txt がブラストに使用されるため、待機時間が長くなります。
Ctrl+C を押すとスキャンを終了でき、次の 2 つのサブドメイン名のみが取得されます。
6) HTTPS 証明書からドメイン名を取得する機能を無効にします。
python subDomainsBrute.py -t 360 -p 3 runoob.com --no-https -o C:\Users\86177\Desktop\A.txt
結果は次のとおりです。