大規模な偵察
探索を自動化します
「大規模な偵察」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
偵察が報奨金獲得につながる理由
バグバウンティハンティングでは、誰が最初にバグを見つけるかを偵察が左右することがよくあります。発見する攻撃対象領域が多いほど、他の人が見逃したものを見つけられる可能性が高まります。
- 放置されたサブドメインで、古く脆弱なコードが動いている
- 隠れた API や開発環境からデータが漏れる
- 最も広範な偵察によって、最も新しいバグが見つかることが多い
大規模な偵察では、広いスコープを対象に発見作業を自動化します。
サブドメイン列挙: パッシブ
パッシブ列挙では、対象に直接アクセスせず、公開データソースからサブドメインを収集します。証明書透明性ログ、検索インデックス、脅威インテリジェンスフィードなどが利用されます。
ツールを使えば、これらの多数のソースを一度に集約できます。
# Aggregate subdomains from many passive sources
subfinder -d example.com -all -o subs_passive.txt
# Amass in passive mode
amass enum -passive -d example.comサブドメイン列挙: アクティブ
アクティブ列挙では、ワードリストを使って DNS に対して名前を総当たりし、公開ソースに存在しないホストを見つけます。
最良の結果を得るには、高速なリゾルバーと優れたワードリストを組み合わせてください。
# Brute-force subdomains with massdns-style resolution
puredns bruteforce wordlist.txt example.com -r resolvers.txt
# Permutation-based discovery from known subdomains
dnsgen subs.txt | puredns resolve -r resolvers.txt稼働中ホストの解決とフィルタリング
サブドメインの生の一覧にはノイズが含まれています。各名前を解決して、どこかを指していることを確認し、その後 HTTP/HTTPS で応答するものを調べます。
これにより無効なエントリを取り除き、テストする価値のある稼働中の Web サーバー一覧を作成できます。
# Probe which hosts serve HTTP/HTTPS and capture status/title
cat subs.txt | httpx -sc -title -tech-detect -o live.txt
# Example line
# https://api.example.com [200] [API Gateway] [nginx]大規模なポートスキャン
Web ポートだけがすべてではありません。大規模なポートスキャンを行うと、数千のホストにある標準外のポート上のサービスを発見できます。
発見には高速スキャナーを使い、その後、サービスのフィンガープリンティングには詳細なスキャナーを使います。
# Fast internet-scale port discovery
naabu -list resolved_ips.txt -top-ports 1000 -o ports.txt
# Detailed service/version detection on found ports
nmap -sV -iL ports.txt -oA nmap_detailコンテンツの発見
稼働中の各ホストには、隠れたパスとして管理パネル、バックアップ、API などが存在します。コンテンツの発見では、ワードリストを使ってパスをファジングします。
ステータスコードとレスポンスサイズでフィルタリングすると、ノイズを減らせます。
# Directory and file fuzzing
ffuf -u https://app.example.com/FUZZ \
-w wordlist.txt -mc 200,301,403 -o ffuf.json
# Alternative
feroxbuster -u https://app.example.com -w wordlist.txtJavaScript ファイルの調査
最新のアプリでは、ロジックが JavaScript に実装されています。これらのファイルから、API エンドポイント、パラメーター名、シークレット、さらにはハードコードされたキーまで漏れることがあります。
- ホストからすべての JS ファイルを収集する
- URL、エンドポイント、トークンを抽出する
# Pull endpoints from a JS file
curl -s https://app.example.com/main.js | grep -Eo 'https?://[^"]+'
# Dedicated link/endpoint extractor
cat js_urls.txt | gau | grep '\.js$' | sort -u過去のURLとアーカイブ
現在のサイトには表示されなくなった古いURLにも、依然としてアクセスでき、脆弱なまま残っていることがあります。Wayback Machineのようなアーカイブには、そうしたURLが記録されています。
これらから、セキュリティが弱い非推奨エンドポイントが見つかることがあります。
# Pull historical URLs from multiple archives
gau example.com > urls.txt
waybackurls example.com >> urls.txt
# Keep ones with interesting parameters
sort -u urls.txt | grep '?' | tee params.txt自動化パイプラインの構築
大規模なReconでは、これらのツールを連結し、あるツールの出力を次のツールに渡します。パイプラインを使えば、1つのコマンドで最初から最後まで実行できます。
フレームワークを使うと、Reconを再実行するスケジュールを設定し、新しいアセットが見つかったときに通知できます。
# A minimal chained pipeline
subfinder -d example.com -silent \
| httpx -silent \
| nuclei -t cves/ -o findings.txt
# Continuous recon frameworks: reconftw, axiomテンプレートベースの脆弱性スキャン
稼働中のホスト一覧を用意したら、テンプレートベースのスキャナーで各ホストに既知の問題がないか確認します。対象には、公開された管理パネル、デフォルトの認証情報、既知のCVE、設定ミスなどがあります。
これにより、簡単に見つかる問題をすばやく発見できるため、手動での調査を別の場所に集中できます。
# Run community templates against live hosts
nuclei -list live.txt -t exposures/ -t misconfiguration/ -o nuclei.txt
# Tune severity to reduce noise
nuclei -list live.txt -severity high,critical責任を持ってReconする
自動化によって、対象に大量のリクエストを送ってしまうことがあります。プログラムのルールを守ってください。
- レート制限を尊重し、負荷の高いスキャナーは速度を抑えてください
- スコープ内のアセットだけを名前解決およびスキャンしてください。ワイルドカードは第三者のアセットに解決されることがあります
- 純粋な探索中は、侵入的なペイロードを避けてください
発見したホストをテストする前に、本当にスコープ内であることを確認してください。
クイックチェック
対象のインフラストラクチャに直接トラフィックを送信せずに、サブドメインを発見する手法はどれですか?
振り返り:大規模なRecon
大規模な攻撃対象領域を効率よく把握する方法を学びました。
- Passive列挙は公開情報源を使い、active列挙はDNSをブルートフォースします
- 名前解決とプロービングを行い、稼働中のホストだけを残します
- JavaScriptとarchived URLsを調べ、隠れたエンドポイントを探します
- ツールを自動化パイプラインにつなぎ、テンプレートスキャナーに入力します
- スキャン前には必ず速度を抑え、スコープを確認します
次は、その攻撃対象領域から実際のバグ、IDOR、XSS、SSRFを見つけます。
よくある質問
「大規模な偵察」レッスンは無料ですか?
はい。「大規模な偵察」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「大規模な偵察」で何を学びますか?
探索を自動化します ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「大規模な偵察」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。