0
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?

Gungnir 入門 ─ CTログ監視によるリアルタイム資産発見

0
Last updated at Posted at 2026-06-04

はじめに

ペネトレーションテストやバグバウンティにおいて、資産発見(Asset Discovery)は最も重要な工程の一つです。

近年、多くの組織がクラウド環境やマイクロサービスアーキテクチャを採用するようになり、公開されるサブドメインやサービスは増加し続けています。

従来の資産探索では、以下のようなツールが広く利用されています。

  • Subfinder
  • Amass
  • Assetfinder
  • DNS Bruteforce

これらは非常に強力ですが、多くの場合は「既に存在している資産」を発見するための手法です。

一方で、

「今まさに公開されようとしている新規資産」

を検知するには別のアプローチが必要になります。

そこで注目されているのが、Certificate Transparency(CT)ログの監視です。

本記事では、CTログをリアルタイムで監視し、新たに発行された証明書からドメイン情報を抽出する Go 製オープンソースツール「Gungnir」を紹介します。


Certificate Transparency(CT)とは

Certificate Transparency(CT)は、SSL/TLS証明書の発行履歴を公開ログとして記録する仕組みです。

現在、多くの認証局(CA)は証明書発行時にCTログへの登録を行っています。

代表的な認証局:

  • Let's Encrypt
  • DigiCert
  • Sectigo
  • GlobalSign

証明書には通常、以下の情報が含まれます。

api.example.com
vpn.example.com
gitlab.example.com
staging.example.com

これらの情報は Subject Alternative Name(SAN)として証明書内に記録されるため、CTログから取得できます。

つまり、

組織が新しいサブドメイン用の証明書を発行した時点で、その情報が公開される可能性がある

ということです。


Gungnirとは

GungnirはCTログストリームを監視し、新たに発行された証明書からドメイン情報を抽出するツールです。

動作イメージ:

証明書発行
      │
      ▼
 CT Log登録
      │
      ▼
  Gungnir検知
      │
      ▼
 ドメイン抽出

例えば開発チームが以下の証明書を発行した場合、

dev-api.example.com
staging.example.com

Gungnirはその情報を数秒〜数分程度で取得できます。

ただし、

  • DNSがまだ有効化されていない
  • Webサービスが起動していない

といったケースもあるため、

「即座にアクセス可能である」とは限りません。


インストール

GungnirはGoで実装されています。

事前にGo環境を準備します。

go version

インストール:

go install github.com/g0ldencybersec/gungnir/cmd/gungnir@latest

PATH設定:

export PATH=$PATH:$(go env GOPATH)/bin

確認:

which gungnir

基本的な使い方

全CTストリームの監視

gungnir

世界中で発行される証明書情報がリアルタイムで表示されます。


特定ドメインのみ監視

roots.txt

example.com
target.org

実行:

gungnir -r roots.txt

出力例:

api.example.com
dev.example.com
staging.example.com

指定したドメイン配下のみを表示するため、ノイズを大幅に削減できます。


JSON形式で出力

gungnir -r roots.txt -j

出力例:

{
  "domain":"dev.example.com",
  "issuer":"Let's Encrypt"
}

JSON Lines形式で出力できるため、自動化処理との相性も良好です。


実践的な活用方法

Gungnir単体でも有用ですが、他のReconツールと組み合わせることで効果が高まります。

例:

Gungnir
   │
   ▼
 dnsx
   │
   ▼
 httpx
   │
   ▼
 nuclei
   │
   ▼
 notify

各ツールの役割

Gungnir

新しいドメインを検知

dnsx

DNS解決の確認

httpx

Webサービスの生存確認

nuclei

既知脆弱性スキャン

notify

SlackやDiscordへの通知


パイプライン例

gungnir -r roots.txt | \
dnsx -silent | \
httpx -silent | \
nuclei -severity critical,high -silent | \
notify

これにより、

新規ドメイン発見
↓
DNS解決確認
↓
HTTP確認
↓
脆弱性検査
↓
通知

という一連の流れを自動化できます。


Gungnirの限界

Gungnirは強力ですが、万能ではありません。

CTログに現れない資産

以下は検出できない場合があります。

  • 証明書未発行のサービス
  • 社内限定システム
  • IPアドレス直指定サービス

Wildcard証明書

例えば、

*.example.com

のみが証明書に記録されている場合、

api.example.com
vpn.example.com
test.example.com

といった個別サブドメインは判別できません。


DNS未設定のケース

CTログに現れても、

NXDOMAIN

となるケースがあります。

そのため、後続でDNS確認を行うことが重要です。


SubfinderやAmassとの違い

よく誤解されますが、

GungnirはSubfinderやAmassの代替ではありません。

それぞれ役割が異なります。

ツール 目的
Subfinder 既知資産の収集
Amass 包括的な資産列挙
Gungnir 新規資産の監視

イメージとしては、

Subfinder / Amass
      ↓
現在の資産を把握

Gungnir
      ↓
未来の資産変化を監視

という関係になります。

実際の運用では併用するのが一般的です。


ブルーチームでの活用

Gungnirはレッドチームだけでなく、防御側にも有効です。

シャドーITの発見

部門ごとに勝手に公開された

event.example.com
campaign.example.com
test.example.com

を早期に把握できます。


証明書発行の監査

許可されていない認証局からの証明書発行を検出できます。


Attack Surface Management

継続的にCTログを監視することで、組織の公開資産の変化を追跡できます。


まとめ

Gungnirは、Certificate Transparencyログを利用して新たな公開資産を監視するための軽量なReconツールです。

従来の資産列挙ツールが「現在の資産」を調査するのに対し、

Gungnirは

「これから公開される資産の変化」

を追跡できます。

SubfinderやAmassと組み合わせることで、より包括的なAsset Discovery環境を構築できるでしょう。


0
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
0
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?