dnsrecon は、Kali Linux などに標準搭載されているDNS偵察ツールで、
ドメインの構造把握・サブドメイン列挙・ゾーン転送の試行などを自動化偵察できます。
単なる「digの拡張版」というより、偵察フェーズを一括で回せるツールという位置づけです。
基本構文
‘-d’ オプションでターゲットドメインを指定します。
dnsrecon -d ドメイン名 [オプション]
主なオプション
標準スキャン
‘-t std’ で標準スキャン
dnsrecon -d example.com -t std

- NSレコード取得
- SOAレコード取得
- MXレコード取得
- ゾーン転送(AXFR)試行
- 基本的な名前解決
レコードについては、この投稿をご参照ください。(DNS周りには特有の用語[ DNS-Syntax ]が多くて分かりにくいです)
サブドメイン列挙(辞書攻撃)
‘-t brt’ オプションで辞書によるサブドメインの辞書攻撃を行います。
辞書を指定しなければ内蔵辞書を使用します。
dnsrecon -d example.com -t brt
辞書を指定する場合
dnsrecon -d example.com -D /usr/share/wordlists/dnsmap.txt -t brt
dnsmapやfierceと同様の探索を行います。
ゾーン転送チェック
ゾーン転送の仕組み(AXFR)の設定をチェックして、悪用の余地が無いかどうかを確かめます。
AXFRとは
AXFR = Authoritative Zone Transfer
DNSサーバ間(primaryDNS → SeconderyDNS)で「ゾーン情報を丸ごと複製する」仕組みです。
本来AXFRは 正規のセカンダリDNSへ同期するための管理機能 ですが、設定に不備があると外部からDNS内部構造が丸見えになります。(つまりこの管理機能を悪用して情報を抜くことが出来ます)
*ゾーン = ドメイン配下のDNS情報の集合
もし外部からAXFRが許可されていると、下記の情報が抜かれて偵察フェーズが一瞬で完了します。
- ✔ 全サブドメイン取得
- ✔ 内部構造把握
- ✔ メール基盤把握
- ✔ VPN / 管理系ホスト特定
axfrチェックの為には、オプション ‘-t axfr’ を使用します。
dnsrecon -d example.com -t axfr


上記では、 “Zone Transfer failed”(下から2行目)となっておりますので、
転送に失敗した = 転送出来なかった = 設定ミスなし、との意味になります。
逆引き
IP範囲からドメインを発見します。( ‘-r’ オプション)
dnsrecon -r 192.168.1.0/24
内部調査や横展開で有効です。
SRVレコード探索
サービスレコード(SRV)を探索・表示します。(オプション ‘-t srv’ )
dnsrecon -d example.com -t srv

- SIP
- Kerberos
- LDAP
- Active Directory関連
| 項目(意味) | 実際のデータの例 |
|---|---|
| service | XMPP |
| proto(プロトコル) | TCP |
| name(ドメイン名) | example.com |
| TTL(キャッシュ可能な秒数) | 86400 |
| class | IN |
| type of record(レコードの種類) | SRV |
| priority(複数サーバー間で比較して、少ない程優先) | 10 |
| weight(優先度が同じ場合に、多いほど優先) | 5 |
| port(ポート番号) | ポート番号 |
| target(ターゲットサーバー) | server.example.com |
キャッシュスヌーピング
DNSサーバが何をキャッシュしているかを覗く
dnsrecon -d example.com -t snoop -n DNSサーバIP
Bingベース列挙
OSINT(Bing)によるサブドメイン収集
dnsrecon -d example.com -t bing

フル偵察
‘-a’ オプションで行います。
dnsrecon -d example.com -a


出力を保存
json形式( ‘-j’ )、csv形式( ‘-c’ )、xml形式( ‘-x’ )でファイル名を指定して保存出来ます。
dnsrecon -d example.com -a -j result.json -c result.csv -x result.xml

ファイルは整理されて出力されています。
出力の解釈
| 出力表示 | 解釈 |
|---|---|
| [*] NS Records: ns1.example.com | 権威DNS |
| [*] MX Records: mail.example.com | メールサーバ |
| [*] Zone Transfer Failed | 安全(通常) |
| [*] Zone Transfer Successful! | 重大なAXFR設定ミス(全情報取得可能) |
実戦ワークフロー
| 順序 | コマンドライン |
|---|---|
| ① 基本情報取得 | dnsrecon -d target.com -t std |
| ② ゾーン転送確認 | dnsrecon -d target.com -t axfr |
| ③ サブドメイン探索 | dnsrecon -d target.com -D wordlist.txt -t brt |
| ④ SRV確認 | dnsrecon -d target.com -t srv |
| ⑤ 全体実行 | dnsrecon -d target.com -a |
他ツールとの関係
偵察フローの順です。dnsenumやamassは後方のツールになります。
| ツール | 特徴 |
|---|---|
| dnsrecon | 軽量・速い・基本偵察 |
| dnsenum | 少し詳細・構造分析強め |
| amass | OSINT+網羅性(最強) |
DNS初動調査ツール比較表
初動のDNS偵察3ツールの比較。
| 項目 | dnsrecon | dnsmap | fierce |
|---|---|---|---|
| 位置づけ | 総合DNS偵察 | 軽量ブルートフォース特化 | 構造探索+周辺調査 |
| 主目的 | DNS全体の把握 | サブドメイン発見 | ドメイン+ネットワーク把握 |
| サブドメイン列挙 | ◎ | ◎(主機能) | ○ |
| ゾーン転送検証(AXFR) | ◎ | × | ○ |
| DNSレコード取得 | ◎(豊富) | △(最小限) | ○ |
| SRV探索 | ◎ | × | × |
| 逆引き(IP→名前) | ◎ | × | ◎ |
| キャッシュスヌーピング | ◎ | × | × |
| 検索エンジン連携 | ○ | × | × |
| ワイルドカードDNS検出 | ○ | △ | ◎(強い) |
| ネットレンジ探索 | △ | × | ◎(特徴) |
| 出力形式 | JSON/XML/CSV | テキスト、CSV | テキスト中心 |
| 速度 | 中 | ◎(非常に速い) | 中 |
| 精度 | 高 | 辞書依存 | 中〜高 |
| 学習コスト | やや高い | 低い | 低〜中 |
| 初動適性 | ◎ | ◎(最速) | ○ |
| 要約 | 👉 「DNSの全体像を一通り取得」 レコード・AXFR・SRVなど網羅 “まず全体を見る”ための中核ツール | 👉 「とにかく速くサブドメインを洗う」 シンプル 爆速 最初の一撃に最適 | 👉 「ドメイン+IPレンジの広がりを見る」 ネットレンジ探索が強み 周辺インフラの把握に有効 |
| 実戦的使い分け | フェーズ②:基本偵察 | フェーズ①:初動(数秒〜) | フェーズ③:横展開・深掘り |
dnsmap(速度) → dnsrecon(網羅) → fierce(広がり)
- dnsmap:スクリーニング(ふるい)
- dnsrecon:診断(検査)
- fierce:探索(フィールドワーク)
まとめ
今回の ‘dnsrecon’ は、DNSの初動偵察ツールです。
DNS関連の偵察ツールは数が多く、初動ツールだけでも沢山あります。
またツール内では共通して ‘digコマンド‘ を利用しているので、結果は特有のDNS構文(DNS-Syntax)で返ってきます。
ヘルプ




コメント