dnsenum は DNS情報を一括収集・列挙するためのツールです。
WHOISやゾーン転送確認、サブドメイン探索までまとめて実行できます。
対象ドメインに対し以下を行います。
- NS / MX / A レコード取得
- ゾーン転送 (AXFR) 試行
- サブドメイン総当たり
- Google検索ベース探索
- IP範囲抽出
dnsenum = dns + enum ( = enumerate:列挙する)
基本構文
基本構文は以下の通りです。
dnsenum example.com
出力カラムの意味
| 列 | 意味 | 説明 |
|---|---|---|
| ① Name | レコード名 | FQDN(完全修飾ドメイン名) |
| ② TTL | Time To Live | キャッシュ保持秒数 |
| ③ Class | 通常は IN | Internetクラス |
| ④ Type | レコード種別 | A:IPv4アドレス AAAA:IPv6アドレス MX:メールサーバ NS:DNSサーバ TXT:テキスト情報 |
| ⑤ Data | 実データ | IPアドレス等 |
出力例
以下は出力結果の一例です。(出力されるセクションは動的に異なります)


各セクションの意味
| セクション | 意味 |
|---|---|
| Host’s addresses: | Aレコードまとめ |
| Name Servers: | NS列挙結果 |
| Mail (MX) Servers: | MXサーバの抽出 |
| Trying Zone Transfers and getting Bind Versions: | ゾーン転送(AXFR)試行+DNSサーバのソフトウェア情報取得 |
| Brute forcing with wordlist: | 総当たりで成功したホスト |
| domain.com class C netranges: | 対象ドメインに関連する Class C(/24)ネットワーク範囲の推定 |
| Performing reverse lookup on 256 ip adresses: | /24範囲(256個IP)に対して逆引き(PTR)を実施 |
| domain.com ip blocks: | 対象ドメインに関連すると推定されたIPレンジ一覧(whoisサーバーに問合せ) |
wordlistについて
wordlistを指定しない場合、デフォルトの ‘/usr/share/dnsenum/dns.txt’ を使用します。
その中身

デフォルト辞書は1505ワードあります。
頻用されるwordlist
下記は ‘/usr/share/seclists/Discovery/DNS/’ に用意されているwordlistです。

‘README’ には2015年製と書かれてあり、やや古いものです。

オプション
主なオプションです
| オプション | 意味 |
|---|---|
| –dnsserver <IP> | 使用するDNSサーバ指定 |
| –enum | すべての列挙機能を有効化(フル列挙) |
| -f <wordlist> | wordlistによるサブドメイン総当たり |
| -r | リバースルックアップ |
| -o <file> | 出力保存(XML形式) |
| -p <threads> | 並列数 |
| -s | Googleスクレイピング数指定(DNSサーバー以外に問合せ) |
| –noreverse | 逆引きを無効 |
フル列挙
dnsenum –enum example.com

上記の例では ‘–enum’ オプション無しの時に比べて、下記のセクションが追加されています。
- Scraping domain.com subdomains from Googles:
- Launching Whois Queries:
- Performing reverse lookup on 512 ip addresses: (256から512に増加)
ワードリストを指定
下記の例では、 ‘/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt’ を使用しています。
dnsenum -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt example.com

このwordlistsには、合計4989wordsがあります。
出力の保存
出力内容を指定したファイルに保存。
dnsenum –enum example.com -o result.xml
並列化して高速化
下記では同時10並列して問合せ。
dnsenum –enum -p 10 example.com
出力の解釈
出力のチェックポイントです。
| 出力 | チェックポイント |
|---|---|
| NS | DNS管理サーバの確認 |
| MX | メール基盤の確認 |
| AXFR成功 | 設定ミスを意味(重大) |
| サブドメイン一覧 | 攻撃面の広さを意味 |
まとめ
dnsenumは主にDNSサーバに大量の問い合わせを行うことによりターゲットドメインの偵察行動を行うツールです。
いくつかの類似したツールがあります。
類似ツールとの比較・使い分け
典型的な偵察フロー
- whois
- dnsenum
- amass
- nmap
注意事項
- 許可された対象のみ実施
- Googleスクレイピングはブロックされやすい
- IDS/IPSに検知される可能性あり
防御側視点(ブルーチーム)での留意点
- ✔ ゾーン転送を必ず無効化
- ✔ 不要なサブドメイン削除
- ✔ Split DNS運用
- ✔ DNSログ監視
ヘルプ
kali ー 01-Reconnaissance ー Network Information DNS ー dnsenum
でヘルプ表示されます。




コメント