注:dnsmapは第三者サーバに対しては使用せず、自分の管理ドメインに対してセキュリティ確認用途でご使用ください。
昨今のDNSサーバはゾーン転送が抑制されており、サブドメイン情報を引っ張ってくることが出来ないのが一般的です。
DNSに正規に問い合わせない方法として、辞書式にドメインを問い合わせしてサブドメインを探すツール「dnsmap」があります。
今回はCentOS7.6にdnsmapを入れて動作を確認します。
dnsmapをインストール
dnsmapは辞書式に通信を試みるのである意味アタックツールですが、yumリポジトリにも入っています。epelがリポジトリ登録されていない場合は yum install epel-releaseしておきます。
「Sub-domains bruteforcer」。そのままの名前で怖いです。
# yum provides \*/dnsmap
dnsmap-0.30-8.el7.x86_64 : Sub-domains bruteforcer
リポジトリー : epel
一致 :
ファイル名 : /usr/bin/dnsmap
インストール。
# yum install dnsmap
インストール:
dnsmap.x86_64 0:0.30-8.el7
完了しました!
使い方
「dnsmap 対象ドメイン」
-wオプションで独自の辞書を指定できます。
# dnsmap
dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)
usage: dnsmap <target-domain> [options]
options:
-w <wordlist-file>
-r <regular-results-file>
-c <csv-results-file>
-d <delay-millisecs>
-i <ips-to-ignore> (useful if you're obtaining false positives)
e.g.:
dnsmap target-domain.foo
dnsmap target-domain.foo -w yourwordlist.txt -r /tmp/domainbf_results.txt
dnsmap target-fomain.foo -r /tmp/ -d 3000
dnsmap target-fomain.foo -r ./domainbf_results.txt
実行例
登録されている単語数分の問い合わせを行う為、時間は掛かります。
# dnsmap xxxxxx.com
yy.xxxxx.com <-- 見つかったサブドメイン
IP address #1: nnn.nnn.nnn.nnn
zz.xxxxx.com <-- 見つかったサブドメイン
IP address #1: nnn.nnn.nnn.nnn
[+] 2 (sub)domains and 2 IP address(es) found
[+] completion time: 1104 second(s)
サブドメイン(yyやzzに当たる部分)が見つかるのはyyやzzが辞書に登録されている為です。辞書に登録されていないサブドメインは引っかかりません。
大量の単語、文字列が登録された辞書ファイルを公開しているサイトへのリンクがdnsmapのgithubにあり、ダウンロード、-wオプションで設定することで調査精度を上げることが出来ます。
その他の同種ツール
同様のことを行うWebサービスとして「Pentest」が有ります。
こちらも辞書式の同じ方式だと思われます。ただ自由に辞書設定出来ない分dnsmapを使った方が汎用性は高いです。
他人様のサーバにdnsmapをして糾弾されても何も言えないのでご利用は慎重に。