web-dev-qa-db-ja.com

DNSゾーン転送攻撃

誰かがDNSゾーン転送攻撃とは何かを説明したり、リンクを書いたりすることができますか?

私はすでにググっていましたが、意味のあるものを見つけることができませんでした。

30
user6809

DNSゾーン転送は、DNSサーバーがデータベースの一部(「ゾーン」と呼ばれます)のコピーを別のDNSサーバーに渡すプロセスです。これにより、特定のゾーンに関するクエリに応答できるDNSサーバーを複数持つことができます。マスターDNSサーバーと1つ以上のスレーブDNSサーバーがあり、スレーブはマスターにそのゾーンのレコードのコピーを要求します。

基本的なDNSゾーン転送攻撃はそれほど豪華ではありません。自分がスレーブであるふりをして、マスターにゾーンレコードのコピーを要求するだけです。そしてそれはあなたにそれらを送ります。 DNSは本当に昔ながらのインターネットプロトコルの1つであり、インターネット上の誰もが 文字どおりに他のすべての人の名前とアドレスを知っていた であり、したがってサーバーは互いに暗黙的に信頼し合うように設計されました。

DNSゾーンのコピーによって内部ネットワークに関する多くのトポロジ情報が明らかになる可能性があるため、ゾーン転送攻撃を阻止する価値があります。特に、誰かがあなたのDNSを中毒したりスプーフィングしたりしてDNSを破壊しようと計画している場合、彼らは実際のデータのコピーを持っていることは非常に便利です。

したがって、ベストプラクティスはゾーン転送を制限することです。最低限、スレーブのIPアドレスをマスターに伝え、他の誰にも転送しないようにします。より洗練されたセットアップでは、転送に署名します。したがって、より高度なゾーン転送攻撃は、これらの制御を回避しようとします。

SANSには ホワイトペーパー があり、これについてさらに詳しく説明しています。

49
Graham Hill

@GrahamHillはすでにゾーン転送についてはかなり良い説明をしていますが、もう少し詳しく説明します。

攻撃者はDNSサーバーからすべてのレコードを照会できるため、アクセス可能なマシンを簡単に特定できます。ゾーン転送により、インターネットからアクセス可能なネットワーク要素が明らかになる場合がありますが、Google(site:。target。)などの検索エンジンは取得しません。ここでの教訓は、悪者に無料で情報を知らせたくないということです。彼らはそれのためにできるだけ一生懸命働かなければならないはずです...

DNSゾーン転送に関する興味深い事実は、通常、UDPポート53ではなくTCPポート53に依存していることです。使用中のTCPポート53誰かがゾーン転送をしていると言うことができます。

脆弱なDNSサーバーでゾーン転送を実際に完了するには、次のコマンドを発行します。

ウィンドウズ:

nslookup
> server <DNS you are querying>
> set type=any
> ls -d <target>

Unix(nslookupはUnixでは非推奨):

Dig -axfr @<DNS you are querying> <target>

DigiNinjaには、ゾーン転送がどのように機能するか、なぜ制限する必要があるかについての非常に優れたチュートリアル/説明があります。チェックアウト zonetransferme

18
Chris Dale