ホストされているDNSゾーンの欠落をチェックし、サブドメイン乗っ取りにつながる可能性のある高速ツールです。
DNS乗っ取りの脆弱性は、サブドメイン(subdomain.example.com)またはドメインの権威ネームサーバーが特定のプロバイダー(例:AWS Route 53、Akamai、Microsoft Azureなど)に設定されているものの、ホストゾーンが削除または削除された場合に発生します。その結果、DNSレコードを要求すると、サーバーはSERVFAILエラーを返します。これにより、攻撃者は使用されていたサービス上で不足しているホストゾーンを作成し、その(サブ)ドメインのすべてのDNSレコードを制御できるようになります。¹
簡単な方法です!リリースページからビルド済みバイナリをダウンロードして、解凍して実行するだけです!
| 注: Go 1.16+ コンパイラがインストールおよび設定されている必要があります! |
とても迅速でクリーンです!
▶ go install github.com/pwnesia/dnstake/cmd/dnstake@latest
ソースコードから手動で実行ファイルをビルドする:
▶ git clone https://github.com/pwnesia/dnstake
▶ cd dnstake/cmd/dnstake
▶ go build .
▶ (sudo) mv dnstake /usr/local/bin
$ dnstake -h
·▄▄▄▄ ▐ ▄ .▄▄ ·▄▄▄▄▄ ▄▄▄· ▄ •▄ ▄▄▄ .
██▪ ██ •█▌▐█▐█ ▀.•██ ▐█ ▀█ █▌▄▌▪▀▄.▀·
▐█· ▐█▌▐█▐▐▌▄▀▀▀█▄▐█.▪▄█▀▀█ ▐▀▀▄·▐▀▀▪▄
██. ██ ██▐█▌▐█▄▪▐█▐█▌·▐█ ▪▐▌▐█.█▌▐█▄▄▌
▀▀▀▀▀• ▀▀ █▪ ▀▀▀▀ ▀▀▀ ▀ ▀ ·▀ ▀ ▀▀▀
(c) pwnesia.org — v0.0.1
使用法:
[stdin] | dnstake [options]
dnstake -t HOSTNAME [options]
オプション:
-t, --target <HOST/FILE> チェックする単一のターゲットホストまたはリストを指定
-c, --concurrent <i> 同時実行レベルを設定(デフォルト: 25)
-s, --silent エラーを抑制、または出力をクリーンに
-o, --output <FILE> 脆弱なホストをファイルに保存
-h, --help ヘルプを表示
例:
dnstake -t (sub.)domain.tld
dnstake -t hosts.txt
dnstake -t hosts.txt -o ./dnstake.out
cat hosts.txt | dnstake
subfinder -silent -d domain.tld | dnstake
DNSTake はRetryableDNSクライアントライブラリを使用してDNSクエリを送信します。最初にGoogleおよびCloudflareのDNSをリゾルバとして使用してエンゲージし、次にターゲットホストのネームサーバーをチェックしてフィンガープリントを取得します。ネームサーバーがある場合は、そのネームサーバーIPをリゾルバとして再度ターゲットホストを解決し、異常なDNSステータス応答(NOERROR/NXDOMAIN以外)が返された場合、乗っ取りが可能な脆弱性があると判断します。図にするとこのような流れです。
現在サポートされているDNSプロバイダーは、こちらを参照してください。
DNSTake はMITライセンスの下で配布されています。LICENSEを参照してください。