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?

DNS Zone Transfer(AXFR)による情報収集

1
Posted at

はじめに

レッドチームが行う DNS Enumeration

インターネットでは DNS(Domain Name System) がドメイン名と IP アドレスを対応付けています。
通常、DNS クエリでは次のようなレコードを取得できます。

レコード 説明
A ドメイン → IPv4
AAAA ドメイン → IPv6
CNAME 別名レコード
MX メールサーバ
TXT SPFや検証情報など

しかし、DNS サーバが管理している すべてのレコードを取得できる場合があります。
それが DNS Zone Transfer(ゾーン転送) です。

レッドチームの Recon(偵察)フェーズでは、この機能が非常に重要な情報収集手段になります。


DNS Zone Transfer(ゾーン転送)とは

DNS Zone Transfer は、本来 DNS サーバ同士がゾーン情報を同期するための仕組みです。

例えば次のような構成です。

Primary DNS
      │
      │  AXFR
      ▼
Secondary DNS

プライマリ DNS が管理しているゾーン情報を
セカンダリ DNS にコピーするために使われます。

しかし設定ミスがあると、外部の誰でもゾーン情報を取得できる可能性があります。


Zone Transfer が成功すると何が分かるか

もし Zone Transfer が許可されている場合、次のような情報を取得できます。

example.com
mail.example.com
vpn.example.com
dev.example.com
internal.example.com
db.example.com

この情報から次のことが分かります。

  • VPN サーバ
  • メールサーバ
  • 開発環境
  • データベース
  • 内部ネットワーク

つまり

企業のネットワーク構造が丸見えになる

可能性があります。


dig コマンドで Zone Transfer を試す

DNS Zone Transfer を試す最も簡単な方法が dig コマンドです。

基本構文

dig -t AXFR DOMAIN_NAME @DNS_SERVER

オプション

オプション 説明
-t AXFR Zone Transfer を要求
DOMAIN_NAME 対象ドメイン
@DNS_SERVER 問い合わせる DNS サーバ

実行例

まず NS レコードを確認します。

dig NS example.com

結果

example.com. 86400 IN NS ns1.example.com
example.com. 86400 IN NS ns2.example.com

次に Zone Transfer を試します。

dig -t AXFR example.com @ns1.example.com

成功すると次のような結果が表示されます。

example.com.      86400 IN SOA ns1.example.com admin.example.com
example.com.      86400 IN NS  ns1.example.com
example.com.      86400 IN NS  ns2.example.com
mail.example.com. 86400 IN A   10.10.10.5
vpn.example.com.  86400 IN A   10.10.10.20
dev.example.com.  86400 IN A   10.10.10.30
db.example.com.   86400 IN A   10.10.10.40

この結果から

  • メールサーバ
  • VPN サーバ
  • 開発サーバ
  • DB サーバ

などが確認できます。


Zone Transfer が失敗する場合

多くの企業では Zone Transfer は制限されています。

Transfer failed.

または

connection refused

これは正常なセキュリティ設定です。

通常は

セカンダリ DNS の IP のみ許可

されています。


なぜ DNS Zone Transfer が危険なのか

もし公開 DNS で Zone Transfer が可能だと、攻撃者は

  • サブドメイン一覧
  • 内部ホスト
  • VPN
  • 管理サーバ
  • 開発サーバ
  • 内部 IP

などを取得できます。

つまり

攻撃前の Recon(偵察)が非常に簡単になります。


防御方法

DNS 管理者は次の対策を行う必要があります。

Zone Transfer の制限

BIND の設定例

allow-transfer { secondary-dns-ip; };

内部 DNS と外部 DNS を分離

Internal DNS
External DNS

DNS ログ監視

AXFR リクエストを監視します。


レッドチームの調査手順

一般的な DNS Enumeration 手順

1. NS レコード取得
2. DNS サーバ特定
3. Zone Transfer 試行

dig NS example.com
dig -t AXFR example.com @ns1.example.com

まとめ

DNS Zone Transfer は

DNS サーバの設定ミスで発生する情報漏洩の一つです。

レッドチームにとっては

  • サブドメイン列挙
  • 内部サーバ発見
  • 攻撃対象の特定

に非常に有効な Recon 手法です。

一方、防御側は

  • AXFR 制限
  • DNS 分離
  • DNS ログ監視

を徹底する必要があります。

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?