Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

脆弱性の紹介

SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なしに自己増殖して脆弱なデバイスに拡散し、認証されていないリモート攻撃者がターゲット サーバーのドメイン管理者権限を取得して、組織の IT インフラストラクチャを完全に制御できるようになります。

脆弱性の仕組み

攻撃者は、Windows DNS サーバーに悪意のある DNS クエリを送信して SigRed の脆弱性を悪用し、任意のコードの実行を実現し、ハッカーがユーザーの電子メールやネットワーク トラフィックを傍受して操作し、サービスを使用できないようにし、ユーザーの電子メールを収集する可能性があります。

DNS サーバーが特定のドメイン名 (www.google.com など) の IP アドレスを解決できない場合、クエリは権限のある DNS サーバー (NS) に転送されます。これを転送クエリと呼びます。

このクエリ ロジックを悪用するには、SigRed はまず、ドメイン (「deadbeef.fun」) の NS リソース レコードを悪意のあるネーム サーバー (「ns1.41414141.club」) を指すように構成し、次にターゲット DNS サーバーのドメインをクエリして、ドメインまたはそのサブドメインに関連する後続のすべてのクエリに対するネーム サーバーからの解決応答を取得する必要があります。

これらの設定が行われていると、攻撃者は 64 KB を超えるサイズの SIG レコードを送信できます。これにより、割り当てられた小さなバッファーで約 64 KB の制御されたヒープ バッファー オーバーフローが発生し、悪意のある DNS クエリがトリガーされ、転送されたクエリに対する受信応答を解析する関数 ("dns.exe!sigwirelead") で整数オーバーフローの脆弱性がトリガーされる可能性があります。

つまり、この脆弱性は、リソース レコードのメモリ割り当てを担当する関数をターゲットにしています。65535 を超えるバイト数が生成されると、整数オーバーフローが発生し、割り当てが小さくなります。ただし、DNS メッセージは UDP では 512 バイト (サーバーが拡張メカニズムをサポートしている場合は 4096 バイト)、TCP では 65535 バイトに制限されているため、長い署名を持つ SIG 応答だけではこの脆弱性を誘発するには不十分です。ただし、攻撃者は DNS 応答の DNS 名圧縮機能を巧みに悪用し、上記の操作を使用してバッファ サイズを増やし、バッファ オーバーフローの目的を達成することができます。

さらに、SigRed は、Internet Explorer や Chromium ベースではない Microsoft Edge ブラウザなど、特定の状況下でブラウザを介してリモートでトリガーされる可能性があります。攻撃者は、Windows DNS サーバーの接続再利用とクエリ パイプラインのサポートを利用して、管理下の Web サイトにアクセスしたときに、HTTP 要求ペイロード内の DNS クエリをターゲット DNS サーバーに「秘密裏に転送」することができます。 write what where 機能を実装し、さらに脆弱性を悪用してメモリ アドレスをリークし、攻撃者が実行フローを乗っ取って予期しない命令を実行できるようにすることも可能です。

驚くべきことに、DNS クライアント (「dnsapi.dll」) は同じバグに対して脆弱ではないため、研究者は「Microsoft が DNS サーバーと DNS クライアント用に 2 つの完全に異なるコード ベースを設定し、それらの間で脆弱性パッチを同期しなかった」と疑っています。 ”

緩和

Windows DNS サーバーは、コア ネットワーク コンポーネントです。DNS サーバーが漏洩すると、非常に深刻なセキュリティ問題となります。ほとんどの場合、攻撃者は組織全体を破壊する寸前まで追い込まれます。企業はこれに注意する必要があります。マイクロソフトは、脆弱性が悪用されたという証拠はないが、ユーザーにセキュリティパッチを直ちにインストールすることを推奨している:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1350

さらに、ユーザーは、バッファ オーバーフローの可能性を排除するために、DNS メッセージ (TCP 経由) の最大長を「0xFF00」に設定できます。

これで、17 年前の Windows DNS サーバーの「ワームレベル」の脆弱性に関する記事は終了です。Windows DNS サーバーの脆弱性の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Windows Server 2008 で DNS サーバーをインストールして構成する方法
  • Windows Server 2008 R2 DNS サーバー構成のグラフィック チュートリアル
  • Windows Server 2012 で DNS サーバーをインストールして構成する方法の詳細な説明
  • DNS サーバーの構築方法を説明します (グラフィック チュートリアル)

<<:  CentOS7でMySQL 5.7をアンインストールする方法

>>:  React.js フレームワーク Redux 基本ケースの詳細な説明

推薦する

セマンティックHTML構造を理解する方法

HTML と CSS は誰もが知っていると思います。HTML の構造と CSS の表現の分離も知って...

JavaScript配列の一般的なメソッドの概要

目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...

FlashFXP FTP クライアント ソフトウェア登録クラッキング方法

FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...

VUE ユニアプリライフサイクルに関する簡単な説明

目次1. アプリケーションライフサイクル2. ページのライフサイクルコンポーネントライフサイクル要約...

Ubuntu 14.04 で QT5 をインストール、設定、アンインストールするための詳細な手順

1. 以前 QT5.13 バージョンをダウンロードしましたが、インストール後、Qtcreator を...

MySQL インデックスの失敗を引き起こす一般的な書き込み方法の概要

序文最近、古いプロジェクトから残ったいくつかの SQL 最適化の問題に対処するのに忙しくしています。...

Ubuntu の MySQL のパラメータ ファイル my.cnf の詳細な分析

序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...

Windows 10にOdoo12開発環境をインストールする方法

序文多くの友人は Mac コンピューターを持っていないと言っていますが、Windows 開発は実際に...

Vue開発の詳細な説明 ソートコンポーネントコード

目次 <テンプレート> <ul class="コンテナ">...

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行docker run -d --name consul -p 8500:8500 co...

Vue が配列の変更を監視できない問題の解決方法

目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...

コマンドを使用してMySQLデータベース(de1)を作成する方法

1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション

この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原...

VueはElement el-uploadコンポーネントを使用してピットに足を踏み入れます

目次1. 基本的な使い方2. 画像量の制御3. 画像形式の制限/複数の画像を選択可能補足: vueプ...