dnsenum

Kalilinux
この記事は約4分で読めます。

dnsenum は DNS情報を一括収集・列挙するためのツールです。

WHOISやゾーン転送確認、サブドメイン探索までまとめて実行できます。

対象ドメインに対し以下を行います。

dnsenum = dns + enum ( = enumerate:列挙する)

基本構文

基本構文は以下の通りです。

出力カラムの意味

意味説明
① Nameレコード名FQDN(完全修飾ドメイン名)
② TTLTime To Liveキャッシュ保持秒数
③ Class通常は INInternetクラス
④ Typeレコード種別A:IPv4アドレス
AAAA:IPv6アドレス
MX:メールサーバ
NS:DNSサーバ
TXT:テキスト情報
⑤ Data実データIPアドレス等

出力例

以下は出力結果の一例です。(出力されるセクションは動的に異なります)

result1
result2

各セクションの意味

セクション意味
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’ を使用します。

その中身

dns.txt

デフォルト辞書は1505ワードあります。

頻用されるwordlist

下記は ‘/usr/share/seclists/Discovery/DNS/’ に用意されているwordlistです。

wordlist

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

オプション

主なオプションです

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

フル列挙

--enum

上記の例では ‘–enum’ オプション無しの時に比べて、下記のセクションが追加されています。

ワードリストを指定

下記の例では、 ‘/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt’ を使用しています。

5000

このwordlistsには、合計4989wordsがあります。

出力の保存

出力内容を指定したファイルに保存。

並列化して高速化

下記では同時10並列して問合せ。

出力の解釈

出力のチェックポイントです。

出力チェックポイント
NSDNS管理サーバの確認
MXメール基盤の確認
AXFR成功設定ミスを意味(重大)
サブドメイン一覧攻撃面の広さを意味

まとめ

dnsenumは主にDNSサーバに大量の問い合わせを行うことによりターゲットドメインの偵察行動を行うツールです。

いくつかの類似したツールがあります。

類似ツールとの比較・使い分け

ツール特徴
dnsenumオールインワンツール
dig手動調査向けツール
fierce軽量ツール
amass大規模OSINT向け

典型的な偵察フロー

注意事項

防御側視点(ブルーチーム)での留意点

ヘルプ

kali ー 01-Reconnaissance ー Network Information DNS ー dnsenum

でヘルプ表示されます。

menu
help1
help2

コメント

タイトルとURLをコピーしました