Open4

THM学習 Jr Penetration Tester #5 Subdomain Enumeration

nanacominanacomi

https://tryhackme.com/room/subdomainenumeration

サブドメイン列挙(Subdomain Enumeration)について学習するRoom。

なぜサブドメインを探すのか?

サブドメイン列挙とは、特定のドメインに紐づく有効なサブドメインを見つけ出すプロセス。
これを行う理由は「攻撃対象領域(Attack Surface)を拡大する」こと。
メインのドメインには存在しない脆弱性が、サブドメイン側に潜んでいることは珍しくない。

3つの列挙手法

  • OSINT(オープンソースインテリジェンス)
  • ブルートフォース
  • 仮想ホスト列挙(Virtual Host Enumeration)
nanacominanacomi

OSINT(オープンソースインテリジェンス)

SSL/TLS証明書

CA(証明機関)がドメインに対してSSL/TLS(Secure Sockets Layer/Transport Layer Security)証明書を作成すると、 CAは「証明書の透明性(CT)ログ」と呼ばれるログに記録する。
これは、ドメイン名に対して作成されたすべてのSSL/TLS証明書の公開されているログ。
証明書の透明性ログの目的は、悪意のある証明書や誤って作成された証明書の使用を防ぐこと。
このサービスを利用して、ドメインに属するサブドメインを発見することができる。

検索エンジン

Googleの site: 演算子などを使えば、検索結果からサブドメインを絞り込むことができる。

Sublist3r

Sublist3rは複数のOSINTソース(Google, Bing, Baidu, Netcraft, VirusTotalなど)を自動で横断し、サブドメインを取得してくれるツール。
速くて手軽。

nanacominanacomi

DNSブルートフォースによる列挙

辞書ファイルで総当たり

よくあるサブドメイン(admin、test、dev、staging、apiなど)をリスト化した辞書を使い、DNSに問い合わせを行う手法。

使用ツール:dnsrecon

dnsreconはDNS列挙に特化したツールで、ブルートフォースモード(-t brt)を備える。

dnsrecon -d target.com -D subdomains.txt -t brt
nanacominanacomi

仮想ホスト列挙

バーチャルホストとは

Webサーバは1つのIPアドレスで複数のホスト名(バーチャルホスト)を処理する構成が一般的。
この仕組みを利用して、存在が明かされていないホストを推測・列挙する。

使用ツール:ffuf

ffufはファジングツール。Hostヘッダーを書き換えることで、仮想ホスト列挙に利用できる。