今回は前回に引き続き ” amass ” の続編です。
今回はブルートフォースモードについて補足します。
関連してDNSリゾルバの検証ツールの ” dnsvalidator ” についても触れます。
Amassの ” -brute ” オプション
Amassのブルートフォースのオプションを実行してみます。
ワードリストは内蔵のデフォルトのものを使用します。
amass enum -brute -d ターゲットサイト
ターゲットは前回と同じフィッシングサイトです。




合計153個列挙されています( ” -bute ” オプション無しの時より、41個多く見つかっています)
但し時間は1時間近くかかりました。
サブドメイン探索用のwordlistについて
” -blute ” オプションにてブルートフォーシングを行います。(activeモードとなりますので、こちらの調査行為の痕跡が残ります)
デフォルトでは内部に持つワードリストを使用しますが、デフォルト以外のワードリストを指定( ” -w ” オプション)することが出来ます。
これについてChatGPT先生に質問した所、おすすめワードリストを教えてくれました。
イチオシ
GitHub: https://github.com/danielmiessler/SecLists
から、以下の3つ。
パス | 内容 | 用途 |
Discovery/DNS/subdomains-top1million-5000.txt | 上位5000のサブドメイン | 標準的な調査に最適 |
Discovery/DNS/bitquark-subdomains-top100000.txt | 10万件超の辞書 | 高精度な調査向け(やや重い) |
Discovery/DNS/namelist.txt | よくあるサブドメイン名 | 軽量で速い、初期スキャン向け |
スピード重視
同じくGitHubから、
- namelist.txt
- subdomains-top1million-11000.txt(1万件前後)
👉 DNSブルートフォースを高速に回したいときに最適。
精度重視
同じくGitHubから、
- bitquark-subdomains-top100000.txt
- dns-Jhaddix.txt(JHaddixがメンテしてた実践向けリスト)
👉 企業リコンやバグバウンティなどで見落としを減らしたいとき。
DNSリゾルバの指定について
amassはDNSの問い合わせを大量にしまくるツールですが、その問い合わせ先はDNSリゾルバです。
DNSリゾルバとは
ドメイン名とIPアドレスの変換を担うサーバーをDNSリゾルバと言います。
DNSサーバーと名前や機能が似ていますが、
・DNSサーバーは最終的な問い合わせ先であり、ドメイン・IP変換の正確な回答を持っています。
・DNSリゾルバはユーザーの代理でこれを問い合わせてくれる代理サーバーです。
DNSサーバー | DNSリゾルバ | |
役割 | 正式な答えを保持する | ユーザーの代理で答えを探す |
別名 | 権威DNSサーバー (Authoritative) | 再帰リゾルバ (Recursive Resolver) |
DNSリゾルバはネット上に多数ありますが、その性能は実は均一ではなく、優秀なもの(速くて大量の処理が出来るもの)とそうでないものが混在しています。
Amassのbruteモードでは大量の問い合わせを行うので、予め優秀なDNSリゾルバを調べてリストにしておき、調査時にこれを使うのがbetterです。
優秀なDNSリゾルバリストの入手
優秀なDNSリゾルバのリストを入手するツールに ” dnsvalidator ” があります。まずはこのツールを入手します。
dnsvalidatorのダウンロード
GitHub: https://github.com/vortexau/dnsvalidator
まずは念の為、dnsvalidatorを探してみます。
which dnsvalidator
案の定見つかりません。

念の為 ” apt install ” を試してみます。
sudo apt update
sudo apt install dns validator
aptではインストールもできません。

よってGitHubから落として来ます。
git clone https://github.com/vortexau/dnsvalidator.git

無事ダウンロード出来ました。
ホーム下の ” /dnsvalidator ” ディレクトリに移動しておきます。
cd dnsvalidator

dnsvalidatorのインストール
下記コマンドでインストールします(最後の ” . ” を忘れないように)
pipx install .

無事インストールできました。
参考
以前はpipを用いてのインストールだったようですが、kali2024.4からpipxでのインストールに変更となりました
pipを使うと下記のような警告が出ます。

kaliの解説ページには、pipはaptと干渉する可能性があるので使用は推奨しない。まずはaptで試して、それがダメならpipxでとなっています。

” apt serach ” でaptでのインストールが出来るかどうかが検索できます。

何もない場合、 ” apt ” は使えないということ。
dnsvalidatorの実行
同時並列進行200列 ( -threads 200 )で優秀なDNSリゾルバを検索します。
出力結果は ” resolvers.txt ” に保存します。
dnsvalidator -tL https://public-dns.info/nameservers.txt -threads 200 -o resolvers.txt


[ACCEPTED]となっているものは当たりのDNSリゾルバです。

1037個の「当たりDNSリゾルバ」を見つけています。
探索時間は約10分かかっています。
リストファイルの確認
収穫された「当たりDNSリゾルバ」のリストです。

ファイル内には確かに1037個あります。

参考
元の ” https://public-dns.info/nameservers.txt ” には62790個のDNSリゾルバのリストがあります。

この中から1037個(上位0.0165%)の優秀なDNSリゾルバを選んだわけです。
DNSリゾルバを指定してのamass実行
それでは優秀なDNSリゾルバを集めて作ったリストを使用して実行してみます。
ターゲットは上記と同じサイトです。
amass enum -d ターゲットサイト -brute -rf DNSリゾルバリスト




時間は4分しかかかりませんでした。約15倍の時間短縮です。
まとめ
今回は、前回紹介したサブドメインの調査ツール ” amass ” のブルートフォースモードについて、辞書ファイルとDNSリゾルバの指定リスト作りについて投稿しました。
コメント