

Sub404はPythonで書かれたツールで、サブドメイン乗っ取り脆弱性の可能性を確認するために使用され、非同期であるため高速です。
偵察プロセス中に多くのサブドメイン(例:1万以上)を取得することがあります。従来のrequestsやurllibメソッドでは非常に遅いため、手動でテストすることは不可能です。Sub404を使用すると、このタスクをより高速に自動化できます。Sub404はaiohttp/asyncioを使用しており、このツールを非同期かつ高速にしています。
Sub404はテキストファイルからサブドメインリストを使用し、404 Not FoundステータスコードのURLをチェックします。さらにCNAME(正規名)を取得し、CNAMEにターゲットドメイン名が含まれているURLを削除します。また、ターゲットのサブドメインがない場合は、subfinderとsublist3r(サブドメイン列挙ツール)の結果を組み合わせます。2つは1つよりも優れています。ただし、このためにはsublist3rとsubfinderツールがシステムにインストールされている必要があります。Sub404は5分以内に7Kのサブドメインをチェックできます。
- Fast (as it is asynchronous)
- Uses two more tools to increase efficiency
- Saves result in a text file for future reference
- Umm thats it, nothing much !
注:Python3.7+でのみ動作します
代替手段として、Dockerイメージをビルドすることも可能なので、前提条件は必要ありません。
$ docker build -t sub404 .
$ docker run --rm sub404 -h
注:subfinderとsublist3rがインストールされている場合。
これはsublist3rとsubfinderツールの結果を組み合わせ、乗っ取りの可能性をチェックします。
$ python3 sub404.py -d anydomain.com
- subfinderとsublist3rがインストールされていない場合は、テキストファイルでサブドメインを提供してください
$ python3 sub404.py -f subdomain.txt

このツールは主にLinuxでテストされていますが、他のOSでも動作するはずです。
$ python3 sub404.py -h
これによりツールのヘルプが表示されます。以下がサポートされているすべてのスイッチです。
このツールは404応答コードURLのCNAMEを取得し、CNAMEにターゲットドメインが含まれているすべてのURLを削除します。そのため、誤検知の可能性が高くなります。
- バグや欠落したベストプラクティスを報告する
- 新しいアイデアをDMで送る
- バグ修正を手伝う
ご連絡は @hackw1thproxy まで
Ice3man543 - Projectdiscoveryのsubfinderツールがサブドメイン列挙に使用されています
aboul3la - aboul3laのsublist3rツールがサブドメイン列挙に使用されています
| Flag | 説明 | 例 |
|---|
| -d | ターゲットのドメイン名。 | python3 sub404.py -d noobarmy.tech |
| -f | subfinderがインストールされていない場合、乗っ取りをチェックするためのサブドメインファイルの場所を指定します。 | python3 sub404.py -f subdomain.txt |
| -p | リクエストのプロトコルを設定します。デフォルトは"http"です。 | python3 sub404.py -f subdomain.txt -p https or python3 sub404.py -d noobarmy.tech -p https |
| -o | sublist3rとsubfinderのユニークなサブドメインをテキストファイルに出力します。デフォルトは"uniqueURL.txt"です。 | python3 sub404.py -d noobarmy.tech -o output.txt |
| -h | このヘルプメッセージを表示して終了します。 | python3 sub404.py -h |