1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【セキュリティ】サブドメイン列挙( Subdomain Enumeration) — 手順と実例まとめ

Last updated at Posted at 2025-10-17

はじめに

良いニュース:攻撃面を広げるのが目的なので、探し方が分かれば「見えない壁」を次々壊せます。悪いニュース:壁の向こうにバグがいる可能性あり。では、やさしく、段取りよく、実戦向けに整理します。


概要

サブドメイン列挙は「ドメインに紐づく別名(サブドメイン)を見つける」作業。主に次の方法があります — Brute Force(総当たり)、OSINT(公開情報の収集:CTログや検索エンジンなど)、Virtual Host(Hostヘッダ操作で隠しサイトを発見)。各手法の意図と実行コマンド、実例結果を以下にまとめます。


1) OSINT — SSL/TLS(Certificate Transparency:crt.sh)

何をするか

CAが発行した証明書はCTログに記録され、公開されます。crt.sh のようなサービスでドメイン名を検索すると、過去に発行された証明書(=サブドメイン)が見つかることがあります。

実例(TryHackMe ラボ)

  • 指定のログ日付 2020-12-26 に記録されていたドメイン:store.tryhackme.com

2) OSINT — 検索エンジン(Google)

何をするか

Googleのドメインフィルタ site:*.example.com -site:www.example.com を使うと、www以外のサブドメイン結果が出やすくなります。

使い方(例)

site:*.tryhackme.com -site:www.tryhackme.com

3) DNS Bruteforce(ツール例:dnsrecon)

何をするか

単語リストを用いて大量の候補(www, api, dev, mail...)を順に問い合わせ、存在するものを列挙します。

コマンド例

dnsrecon -t brt -d acmeitsupport.thm
# ツール付属の namelist.txt を使う例が多い

実例(出力の抜粋)

A api.acmeitsupport.thm 10.10.10.10
A www.acmeitsupport.thm 10.10.10.10
  • 最初に見つかったサブドメインapi.acmeitsupport.thm

4) OSINT 自動化 — Sublist3r

何をするか

複数の検索ソース(Google、Bing、VirusTotal、SSL証明書、PassiveDNS 等)を一括で叩いてサブドメインを収集します。

実行例

./sublist3r.py -d acmeitsupport.thm

出力例(抜粋)

web55.acmeitsupport.thm
www.acmeitsupport.thm
  • Sublist3rで最初に見つかったサブドメインweb55.acmeitsupport.thm

5) Virtual Hosts(Hostヘッダ操作) — ffuf を使った発見

複数サイトを一つのIPでホスティングしている場合、HTTPの Host ヘッダでどのサイトを返すか決まります。Host を総当たりすると、DNSに載っていない(/etc/hostsやプライベートDNSにしかない)名前で別サイトが返ることがある。

コマンド例(ffuf)

ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/namelist.txt \
     -H "Host: FUZZ.acmeitsupport.thm" \
     -u http://x.x.x.x/ -t 40 -c -v -o initial.json -of json
# 出てくるノイズのサイズが多いときは -fs <size> でフィルタ
ffuf -w ... -H "Host: FUZZ.acmeitsupport.thm" -u http://10.201.117.248 -fs 2395

実例(TryHackMeラボ)

  • フィルタ後に見つかったサブドメイン(1つ目):delta
  • 2つ目:yellow

クイック答え

  • crt.sh(2020-12-26)にログされていたドメインstore.tryhackme.com
  • Googleで見つかった、SではなくBで始まるTryHackMeサブドメインblog.tryhackme.com
  • dnsreconで最初に見つかったサブドメインapi.acmeitsupport.thm
  • Sublist3rで最初に見つかったサブドメインweb55.acmeitsupport.thm
  • ffuf(Virtual Host)で見つかったサブドメイン(フィルタ後)deltayellow

小さな実務ヒント(すぐ使える)

  1. まずはOSINTから:CTログ→検索エンジン→Passive DNSの順で低コストに発見。
  2. ツールは平行利用:Sublist3r(/amass等)+dnsrecon で網羅度UP。
  3. ノイズ除去:ffufなどはレスポンスサイズやステータスでフィルタをかける(-fs / -mc)。
  4. 速さより正確さ:総当たりは短時間に大量リクエストを出すためターゲットや自環境のルールを守ること(倫理+法令順守)。
  5. 検出後の確認:見つけたサブドメインは必ず curl -I やブラウザでHostヘッダ指定して内容を確認する。

終わりに

サブドメイン列挙は「探偵の嗅覚」と「ツールの筋トレ」の組み合わせ。最初はコマンドが多くて混乱しますが、流れを掴めば「どのタイミングでどのツールを使うか」が見えてきます。次は amassassetfinder、PassiveTotal を混ぜてみると、さらに深掘りできますよ — 進化の余地は無限大。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?