はじめに
「Automated Discovery(自動探索)」とは、自動化されたツールを用いて、システムやアプリケーションの情報を効率的かつ網羅的に発見するプロセスを指します。
セキュリティ分野では、ペネトレーションテストや脆弱性診断の初期段階で行われることが多く、潜在的な攻撃対象(Attack Surface) を素早く特定するのに役立ちます。
手動探索(Manual Discovery)との違い
-
Manual Discovery(手動探索)
- ブラウザの「View Source」「Inspector」「Network」などを用い、人間がページを読み解く
- 精度は高いが、網羅性と速度に欠ける
-
Automated Discovery(自動探索)
- 専用のツールやスクリプトを活用し、大量のリソースを短時間で発見可能
- 網羅性は高いが、誤検知やノイズも多いため、手動検証と組み合わせる必要がある
実務では Manual と Automated を併用するのが一般的です。
ワードリスト(wordlists)とは
ワードリストは単なるテキストファイルで、1 行ごとに試したい語を並べたものです。
用途ごとに異なるワードリストがあり、ディレクトリ探索用・パスワードブルートフォース用・サブドメイン探索用などがあります。代表的なリポジトリは danielmiessler/SecLists(AttackBox にプリインストールされていることが多い)です。
主な利用シーン
1. ディレクトリ/ファイル探索
- Web アプリの隠しパスや管理用ページを検出
- 代表的ツール:
dirb
,gobuster
,ffuf
2. ネットワーク・サービス探索
- ポートやサービスを一括でスキャン
- 代表的ツール:
nmap
,masscan
3. 脆弱性スキャン
- 既知の脆弱性を自動でチェック
- 代表的ツール:
Nessus
,OpenVAS
4. クラウド/資産管理
- ネットワークやクラウド環境のホスト・API を自動検出
- 例:AWS Config、Kubernetes Service Discovery
実行例(AttackBox 上でのコマンド)
ここでは特に使われることの多い ffuf
/ dirb
/ gobuster
を紹介します。各ツールは似た目的を持ちますが、使い勝手や機能に違いがあります。
※以下は AttackBox 上で実行することを想定したコマンド例です。
MACHINE_IP
は対象の IP(またはドメイン)に置き換えてください。
- ffuf
ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -u http://MACHINE_IP/FUZZ
- dirb
dirb http://MACHINE_IP/ /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt
- gobuster
gobuster dir --url http://MACHINE_IP/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt
結果(ffuf)
発見された有効なエンドポイント
-
/assets
→ [301 リダイレクト] 静的ファイル置き場の可能性(CSS/JS/画像) -
/contact
→ [200 OK] Webページ(65行ほどの本文、コンタクトフォームか情報ページ) -
/customers
→ [302 リダイレクト] 認証が必要 or 別ページへリダイレクト -
/development.log
→ [200 OK] ログファイルがそのまま公開されている(重大な情報漏洩リスク) -
/monthly
→ [200 OK] 小さい応答(28バイト)→ プレースホルダ or APIの出力 -
/news
→ [200 OK] ニュースページ(51行、518ワード) -
/private
→ [301 リダイレクト] 非公開セクションの可能性 -
/robots.txt
→ [200 OK] クローラ制御ファイル(公開ディレクトリのヒント) -
/sitemap.xml
→ [200 OK] サイトマップ(URL一覧が得られる可能性大)
セキュリティ観点で注目すべき点
-
/development.log
- サーバーログやエラーメッセージが公開されている可能性があります。
- 認証情報やスタックトレースなどが漏れている場合は 重大な情報漏洩 です。
-
/robots.txt
&/sitemap.xml
- サイトの隠しページや内部エンドポイントのヒントになります。
- 例えば「Disallow」項目やサイトマップのURLリストをチェックすると攻撃面が広がります。
-
/private
や/customers
- 認証エリア or 管理者用の可能性。認可バイパスやIDOR脆弱性の確認対象です。
まとめ
Automated Discovery は大量の情報を短時間で収集できる強力なフェーズですが、誤検知・サーバー負荷・法的許可 に注意して、必ず Manual Discovery(手動確認)と組み合わせて結果の精査を行ってください。ffuf / dirb / gobuster はどれも有用なので、状況に応じて使い分け・併用すると効率が上がります。
各ツールの特徴・違い
-
ffuf
- 高速で並列処理に優れる。レスポンスの長さ・ステータスコード・正規表現でフィルタできる
- 出力フォーマットが柔軟(JSON 出力など)。拡張子追加やディレクトリ探索の細かな制御が可能
- 使い慣れると非常に便利
-
gobuster
- Go 言語製で高速。サブドメイン、ディレクトリ、vhost など複数モードあり
- シンプルな CLI。
-x
で拡張子も一括チェック可能
-
dirb
- 歴史が長いツール。比較的シンプルな出力で、初心者にも扱いやすい
- 他のツールより機能は少なめだが、簡単な探索に有効