
サブドメインとターゲット列挙ツール。オフェンシブセキュリティテスト向けに構築。
概要
:small_blue_diamond:
使い方
:small_blue_diamond:
貢献
SubScraperは、様々な手法を用いて対象ドメインのサブドメインを発見するサブドメイン列挙ツールです。サブドメイン列挙は、ペネトレーションテストやバグバウンティにおいて、組織の攻撃対象領域を明らかにするのに特に役立ちます。
適用されたCMD引数に応じて、SubScraperはDNS名の解決、HTTP(S)情報の取得、乗っ取りの機会を探るためのCNAMEルックアップを列挙プロセス中に実行できます。これにより、次のステップの特定や、悪用のパターンの発見が可能になります。
.txtからの読み込みやSTDIN経由での複数ターゲット入力に対応。.txtまたは.csv形式での出力ファイル生成。
以下を使用して、Windows、Linux、MacOSにSubScraperをインストールできます:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Poetryを使用してSubScraperをインストールして実行:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
DockerイメージをビルドしてDockerからsubscraperを実行できます:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# ヘルプを表示
docker run --rm m8sec/subscraper
# サイトをスキャンする例
docker run --rm m8sec/subscraper -d example.com
設定ファイル ~/.config/subscraper/config.json を使用して、APIキーを保存し、簡単に再利用できます。
v4.0.0以降の新しいバージョンに更新する場合は、-update 引数を使用して設定ファイルの新しいコピーを取得し、互換性を確保してください - 注意: これにより既存のキーエントリは削除されます。
モジュールの完全なリストは、-ls コマンドライン引数で表示できます:
bevigil - BeVigil OSINT APIを使用してモバイルアプリケーションをスクレイピングし、サブドメインを取得(APIキー必須)
crt.sh - cert.shを使用したサブドメイン列挙。
virustotal - VirusTotalでサブドメインを検索(APIキー必須)
dnsrepo - APIキーなしでdnsrepo.noc.orgを解析 - 結果150件制限
chaos - Project DiscoveryのChaos(APIキー必須)
certspotter - Certspotter APIを使用してサブドメインを収集
bufferover - Bufferover.run APIにクエリ(APIキー必須)
alienvault - AlienVault OTXを使用してサブドメインを検索
redhuntlabs - RedHunt Labs recon API(APIキー必須)
archive - archive.orgを使用してサブドメインを検索。
dnsdumpster - DNS dumpsterを使用してサブドメインを列挙。
censys.io - censys.ioのSSL証明書ルックアップを通じてサブドメインを収集(APIキー必須)
shodan - Shodanでサブドメインを取得(APIキー必須)
SubScraper Options:
-debug デバッグログを有効化
-update 設定ファイルを更新(既存のエントリは削除されます)
-config CONFIG デフォルトの設定場所を上書き
-silent 出力にサブドメインのみを表示
-threads THREADS, -T THREADS 列挙の最大スレッド数(65*)。
-t TIMEOUT 接続タイムアウトを設定(3*)
-d DOMAIN, --domain DOMAIN ターゲットドメインの入力(ドメイン、.txt、STDINなど)
Module Options:
-ls SubScraperの列挙モジュールを一覧表示。
-m MODULES 名前またはグループでモジュールを実行(all*)。
-module-only ブルートフォースではなくモジュールのみ実行
Bruteforce Options:
-w WORDLIST DNSブルートフォース用のカスタムワードリスト。
-ns NS 使用するネームサーバー(カンマ区切り)
Enumeration Options:
-r, -resolve 特定された各サブドメインのIPアドレスを解決。
-c, -cname サブドメイン乗っ取りチェックのためのCNAMEルックアップを実行
-http アクティブなHTTPサービスを調査。
-http-port HTTP_PORT 確認するHTTPポート(カンマ区切り、80,443*)
Output Options:
-nc, -no-color カラー出力を無効化
-active 解決されたIPを持つアクティブなサブドメインのみを報告
-csv CSV出力レポートを作成
-o REPORT 出力ファイル
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
プロジェクトに貢献するには: