Cisco Talos は、Microsoft 社の脆弱性 CVE-2020-1472 に対して急増中の攻撃を追跡調査しています。この脆弱性は Netlogon における権限昇格の不具合であり、8 月の Microsoft セキュリティ更新プログラムで概要が公開されました。脆弱性は Netlogon Remote Protocol で使用される暗号化認証方式の不備に起因しています。エクスプロイトされた場合、特定の Netlogon 機能の認証トークンが偽造され、コンピュータのパスワードを更新される可能性があります。脆弱性を利用すればドメインコントローラ自体を含むあらゆるコンピュータを装えるため、ドメイン管理者のログイン情報にアクセスされる危険性があります。
通常の Netlogon 通信:
- クライアントが 8 バイトのチャレンジを含むクライアントチャレンジを送信。
- サーバが 8 バイトのチャレンジを含むサーバチャレンジで応答。
- クライアントとサーバが共有セッションキーを算出。
- クライアントが共有セッションキーを暗号化して、クライアントクレデンシャルを生成。
- サーバが共有セッションキーを暗号化して、サーバクレデンシャルを生成。
クライアントとサーバがクレデンシャル値を生成するために使用する暗号プリミティブは、「ComputeNetlogonCredential」関数に実装されています。この関数は、8 バイトのチャレンジ入力を受け取って秘密セッションキーにより変換し、同じ長さの出力を生成します。同時に、プレーンテキストの各バイトが以下の方法で暗号化されます。
- プレーンテキストの前に 16 バイトの IV(初期化ベクトル)を付加し、最初の 16 バイトに AES を適用。
- AES 出力の最初のバイトを取得し、次のプレーンテキストのバイトを使用して XOR 処理を行い、プレーンテキストのすべてのバイトが暗号化されるまでこの処理を反復。
- IV を廃棄。
IV はランダムに生成される値ではなく固定値であり、常に 16 個の Null バイトで構成されます。したがって、すべて Null の細工されたプレーンテキストの場合、256 分の 1 の確率ですべて Null の暗号文が返されることになります。攻撃者は 8 バイトの Null バイトチャレンジを使用して細工されたサーバ要求を送信することで、脆弱性をエクスプロイトできます。このチャレンジを NetrServerAuthenticate3(または NetrServerAuthenticate2)コールで使用すれば、クライアントクレデンシャルを算出できます。NetrServerAuthenticate3 でセッションキーが生成され、dcerpc コールに ClientCredential が含まれるようになります。ClientCredential は、NetrServerReqChallenge で送信されたクライアントチャレンジに ComputeNetlogonCredential を適用することによって算出されます。攻撃者が選択した 8 バイトの Null バイトチャレンジが送信された場合、256 分の 1 の確率で算出されるセッションキーにより、正しい ClientCredential も 8 個のゼロで構成されることになります。
Microsoft 社は現在、2 段階の段階的ロールアウトという形で脆弱性への対応策を講じています。同社は開示の中で、「脆弱性の対象に必要な変更を管理する方法のガイドラインと、段階的なロールアウトの詳細については、「CVE-2020-1472 に関連する Netlogon セキュア チャネル接続の変更を管理する方法」を参照してください。2021 年第 1 四半期に Windows 更新プログラムの第 2 フェーズがリリースされた時点で、脆弱性の最新情報をお知らせします。更新プログラムのリリース時に通知を受けるには、セキュリティのメール通知をご購読ください」と述べています。
脆弱性からシステムを保護するために、Microsoft 社は未署名の接続や保護されていない接続を完全にブロックすることを推奨しています。SNORTⓇ をお使いであれば、SID 55802 をアラートモードで使用することで、ルールが正常に機能しているかテストして確認できます。このルールは今回の脆弱性に関わる兆候を検出できるため、来年 1 月に第 2 フェーズのセキュリティ更新プログラムがリリースされるまでに注意が必要なシステムを特定するのに役立ちます。
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
Advanced Malware Protection(AMP)は、この記事で説明したマルウェアの実行を阻止するのに最適です。次のスクリーンショットは、AMP がこの脅威からお客様を保護する様子を示しています。こちらから AMP を無料でお試しいただけます。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティアプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
次世代ファイアウォール(NGFW)、次世代侵入防御システム(NGIPS)、および Meraki MX などのネットワーク セキュリティ アプライアンスは、今回の脅威に関連する悪意のあるアクティビティを検出します。
Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
Stealthwatch Cloud は、表題が「Talos Suspicious Activity」、説明が「CVE-2020-1472 Zerologon authentication bypass attempt(CVE-2020-1472 Zerologon 認証バイパスの試み)」のアクティビティに対するルールを備えています。
特定の環境および脅威データに対する追加の保護機能は、Firepower Management Center から入手できます。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
本稿は 2020 年 9 月 28 日に Talos Group のブログに投稿された「Microsoft Netlogon exploitation continues to rise」の抄訳です。