Tenable ブログ
ブログ通知を受信するCVE-2020-1472: Netlogon における「Zerologon」脆弱性により、攻撃者が Windows ドメインコントローラをハイジャックする可能性がある (日本語)
Netlogon 内の暗号認証スキームが Windows のドメインコントローラー (DC) を乗っ取るように悪用されることが可能であるとセキュリティ調査機関が発表
最新情報:2020/9/21 更新 : 「影響を受けたシステムの特定」の項目に Zerologon の未認証確認の方法を追加。
最新情報:October 02, 2020: The ‘Identifying Affected Systems’ section has been updated to highlight the release of the Zerologon scan template for Nessus and Tenable.io.
背景
9月11日に、Secura のリサーチャーが、重大な脆弱性をブログで発表。名付けて「Zerologon」。 ブログにはその脆弱性の影響と実行について詳細にわたる内容を説明したホワイトペーパーが掲載され、識別番号 CVE-2020-1472 が割り当てられ、CVSSv3 で最大のスコア 10.0 が付与されました。その後、Microsoft のAugust Patch Tuesday でリリースされたパッチによって対処されました。これは、昨年暮れに Secura が 発表した Netlogon 関連の前の脆弱性 CVE-2019-1424 に続くものです。
分析
CVE-2020-1472 は、Netlogon セッションにおける AES-CFB8 暗号処理の安全でない使い方に付け込んだ、特権のエスカレーションを実行する脆弱性です。AES-CFB8 規格では、パスワードなどが推測されないように、プレーンテキストの各バイトの初期化ベクトル (IV) がランダム化されていることが要求されています。Netlogon では ComputeNetlogonCredential 関数が IV を 16 ビットに固定するので、攻撃者は復号されたテキストをコントロールすることが可能です。この欠陥を悪用して DC 認証を試行する攻撃者は、ネットワーク上のどのマシンからでもなりすまして実行することが可能です。その後、さらなる攻撃が可能になり、Windows ドメイン全体の乗っ取りも可能性の範囲に入ります。Secura のホワイトペーパーでは、攻撃者が単に Impacket の「secretsdump」スクリプトを実行して、対象の DC のユーザーハッシュのリストを抽出することも可能と指摘しています。
この脆弱性は、ターゲットと同じ LAN にあるマシンからしか攻撃をしかけることができません。つまり、脆弱なクライエントまたは DC がインターネット上にあるだけでは悪用の対象になりません。偽りのログイン試行が、通常のドメインログインのように実行されることが攻撃の前提です。Active Directory (AD) がクライアントとの接続がその論理的な境界内であること (外部アドレスでないこと) を認識しなければなりません。
画像出典: Secura CVE-2020-1472 ホワイトペーパー
概念実証
この件に関しては、GitHub [1] [2] [3] [4] に複数のPoCが公開されるなど、セキュリティ業界で幅広い関心を集め、多くの実験が実施されています。いち早くエクスプロイトの実証を取得しようと作業が急がれています。重大で大きく報道される脆弱性には、多くのセキュリティ調査者と攻撃者から関心が寄せられます。
仮定のシナリオでは、この脆弱性はある組織全体にランサムウェアを配備するために利用され、その後のクリーンアップや復旧作業が追加の悪意のあるスクリプトなどを見過ごせば、環境内に長期的に存在することが想定できます。ネットワークからアクセスが可能なバックアップのある環境などは、ランサムウェアのグループがバックアップを破壊して、身代金獲得の確立を上げるなどという、大被害も予想外ではありません。
ソリューション
Microsoft のアドバイザリが提供した August Patch Tuesday のアップデートを適用すれば、Netlogon プロトコル内の、すべての Windows デバイスのためのリモートプロシージャコール (RPC) が強制され、この脆弱性は修正されます。 Tenable は、ユーザーと管理者の皆様にこのパッチを早急に適用されることをお勧めします。
Yeah, I can confirm that this public exploit for Zerologon (CVE-2020-1472) works. Anybody who has not installed the patch from August's Patch Tuesday already is going to be in much worse shape than they already were.https://t.co/SWK2hUDOYc https://t.co/0SDFfageQC pic.twitter.com/Lg8auMdtVU
— Will Dormann (@wdormann) September 14, 2020
また、ご留意いただきたいのは、Microsoft はこのアドバイザリを 2021/2/9 に改訂する予定で、一旦強制フェーズが開始されると、強制モードが Windows 以外のすべてのデバイスで必須になることです。レガシーデバイスについては、グループポリシーを利用して特定のデバイスに対応することが、管理者の手動介入で可能です。
影響を受けているシステムの特定
この脆弱性を識別するための Tenable プラグインのリストは、こちらからご覧いただけます。Tenable は、2021/2/9 の更新の後にさらにプラグインをリリースする予定です。こちらにあるコンプライアンス監査ファイルを使って、FullSecureChannelProtection のレジストリキーの値が DC のグループポリシーに確実に設定されたことを確認することができます。パッチが正しく適用されていれば、2020 年 8 月の修正がこのレジストリキーを設定するはずです。
Tenable は、また、Microsoft Netlogon Elevation of Privilege をリリースしています。これは、未認証のプラグインで、DC が悪用可能かどうかを精査するのにご利用いただけます。このプラグインは、すべてのクライアントに対してゼロチャレンジを提供した後、すべてゼロのクライアント認証情報を使って、ターゲット認証を試行するものです。脆弱なターゲットの場合、およそ 256 回の試行に対して1 回成功します。このプラグインは、2 千回まで試行を繰り返し、ターゲットが影響を受けているかどうか検証します。従って、ターゲットの悪用の可能性を検証するには、非常に多数のログイン試行を行う必要があるので、他のプラグインと並行して実行しないようにしてください。このプラグインは、単独のターゲットを対象としたドメインコントローラー用のスキャンです。 プラグインを有効にするには、スキャン構成のアセスメントオプションのブルートフォースセクションにある「ユーザー提供の認証情報のみ使用」の設定を無効にする必要があります。
Tenable.io and Nessus users will also be able to take advantage of the new scan template dedicated to targeting Zerologon. Plugin 140657 and its dependencies are automatically enabled within the template, and it also comes with the necessary brute force settings automatically configured.
詳細情報
- Tenable の August 2020 Patch Tuesday ブログ
- Secura の Zerologon ホワイトペーパー
- Microsoft ガイダンス「CVE-2020-1472 に関連する Netlogon セキュアチャネル接続の変更を管理する方法」
Tenable コミュニティの Tenable セキュリティレスポンスチームに参加してみませんか。
現代のアタックサーフェスを総合的に管理する Cyber Exposure Platform を初めて提供した Tenable について詳細情報をご覧ください。
今すぐ Tenable.io Vulnerability Management の 30 日間無料トライアルをお試しいただけます。
関連記事
- Vulnerability Management
- Vulnerability Scanning