
このバグの功績はすべて Check Point Research (@_cpresearch_) によるものです。彼らはこのバグについて素晴らしい解説記事を書きました(投稿については @sagitz_ に敬意を表します)。彼らの解説記事はここにあります。
このエクスプロイトは @maxpl0it によって書かれました。
動作の概要:
netstat -pa を使用してドメインのポートをリッスンしているものを特定し(おそらく systemd-resolved)、それを無効にして停止してください。サーバー上で何もリッスンしていない場合は、再実行する前にこのスクリプトのすべてのインスタンスを終了したことを確認してください。例えば、悪意のあるDNSサーバーを起動するために、python sigred_dos.py ibrokethe.net を実行しました。
Windowsサーバーにアクセスできる場合は、条件付きフォワーダーを構成して、ibrokethe.net をスクリプトを実行しているホストのIPアドレスにポイントさせることができます。これにより、要約のステップ3と4が実質的にスキップされます。
Windows DNSサーバーで脆弱性をトリガーするには、nslookup -type=sig 9.your_domain_name_here dns_server_to_target を実行します。
ここでは実際にサブドメイン '9' が必要です。スクリプトが処理するため、このためにドメインレコードを変更する必要はありません。
例として、サーバー上でこれを実行していたとき、nslookup -type=sig 9.ibrokethe.net 127.0.0.1 を実行しました。