LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

注意喚起 | 

【注意喚起】Windowsとネットワーク管理者権限を一撃で乗っ取る、脆弱性「Zerologon」対策について

セキュリティ診断センター 診断技術Grの紺野です。

9月に公開され、実際に脆弱性を悪用した攻撃が確認されたとされるZerologonですが、非常に危険な脆弱性にも関わらず、対策が進んでいない状況がうかがえ改めて周知の必要があると考えました。本記事は、この脆弱性について当社における検証をふまえた技術的な解説と具体的な対策を紹介します。この脆弱性の確認や対策にお役立てください。

2020年9月11日にWindows Serverのドメインコントローラに存在する特権昇格の脆弱性(CVE-2020-1472)の詳細がオランダのSecura社によって公開されました。この脆弱性が悪用された場合、ドメインコントローラの管理者権限を悪用される恐れがあります。

この脆弱性については2020年8月にMicrosoft社から修正パッチが提供されているものの、組織ネットワークの基幹となるドメインコントローラへの対策であることから、組織によっては対応が後回しとされてしまう可能性も十分に考えられます。このため、この脆弱性は「対策が適用されていない可能性」があり、「攻撃成功時に組織ネットワークの管理者権限を奪取できる」深刻なものだと言えます。攻撃者にとって悪用しやすく、すでに主要な攻撃ツールにこの脆弱性を悪用する機能が組み込まれています。

Zerologonとは?

Zerologonとは、Active Directoryのユーザ認証に使われるNetlogonプロトコルの暗号化処理における実装の不備により、ドメイン管理者権限を取得可能になる脆弱性です。具体的には、暗号化処理が実装されている関数内で宣言されたAES-CF8暗号の初期化ベクトル(initialization vector、以下 IV)に不備がありました。本来IVはセッションごとにランダムな数値を生成する必要がありますが、当実装ではすべて"0"に固定されていました。

これにより、認証プロセスで暗号化される部分のランダム性が消滅し、ドメインコントローラに接続できれば容易にドメイン管理者権限を取得することが可能となっています。

2020年9月15日のJPCERT/CCの報告では、Netlogonの特権の昇格の脆弱性(CVE-2020-1472)を実証するコード(PoC)の存在が確認されています。

JPCERT/CC | Netlogon の特権の昇格の脆弱性(CVE-2020-1472)への早急な対応を

ドメインコントローラの管理者権限を乗っ取られた場合、企業にとって機密情報、顧客情報が漏洩するだけでなく、ドメインに参加しているコンピュータがすべて乗っ取られ、最悪の場合業務が長期間停止するなど大きな被害につながる恐れもあるため、Active Directoryを利用している企業は早急に対応する必要があります。

影響範囲や脆弱性の評価についての情報は以下を参照ください。

影響を受ける製品

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server version 1903/1909/2004

※ Windows以外でもバージョン4.0以降のSambaをドメインコントローラとして使用している場合は影響を受ける可能性あり

脆弱性の評価

  • CVSS3.x 基本値:10 CRITICAL
    • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CVSS2.0 基本値:9.3 HIGH
    • Vector: AV:N/AC:M/Au:N/C:C/I:C/A:C

NVD | CVE-2020-1472 Detail

当社における脆弱性の検証

実際にZerologonの脆弱性を悪用し、ドメインコントローラの管理者権限を取得できるか検証を行いました。
ドメインコントローラへのアクセスは原則として内部ネットワークに侵入していることが前提になります。内部ネットワークに侵入する方法として、オンプレミスで運営されている外部向けサーバ(DMZなど)を踏み台にするケースや、VPN製品の脆弱性を悪用して侵入するケース、不審なメールの添付ファイルやWeb閲覧などによる業務端末のマルウェア感染のケースなどが考えられます。

検証環境

ネットワーク 192.168.5.0/24
ターゲット
(Victim,ドメインコントローラ)
  • コンピュータ名:dc01 / フルコンピュータ名(FQDN):dc01.lactest.local
  • 管理者(ユーザ名):administrator
  • IPアドレス:192.168.5.14
  • OS:WindowsServer2016
攻撃側
(Attack,ドメイン未参加)
  • コンピュータ名:at99 / ドメイン:-(ドメイン未参加)

    ※ Zerologonは当初ドメインに参加している端末からのみドメインコントローラの管理者権限を取得することができるとされていましたが、NetLogonクライアント(logoncli.dll)に対して遠隔手続き呼出し(RPC)を強制的に実行するパッチを適用することで、ドメイン未参加端末からドメインコントローラの管理者権限を取得可能な方法が見つかりました。これを利用して、ドメイン未参加端末からの攻撃を検証します。

  • IPアドレス:192.168.5.15

    ※ 内部ネットワークに侵入していることを前提としているためドメインコントローラと同じネットワークアドレス

  • OS:Windows 10

上記の環境にて、Zerologonを実際に悪用してターゲットのドメインコントローラの管理者権限が取得可能かを検証しました。

ドメインコントローラ(dc01)に対してZerologonを悪用しているログ
ドメインコントローラ(dc01)に対してZerologonを悪用しているログ
※ 攻撃側(at99)のコンソール画面

さらに追加でいくつかステップを踏むことで、最終的にドメインコントローラにバックドアを設置し、遠隔からドメインコントローラの管理者権限で任意のコマンドを実行できることを確認しました。

バックドアを設置したドメインコントローラ(dc01)に接続しているログ
バックドアを設置したドメインコントローラ(dc01)に接続しているログ
※ 攻撃側(at99)のコンソール画面

ドメインコントローラの管理者権限を取得された場合、ドメインコントローラを踏み台にして全てのドメイン管理下の端末(PC、サーバなど)を掌握することができます。

Zerologonの対策方法

ここでは対策検討の一例を記載します。今後状況が変わり対策の効果が得られなくなる場合などございますので、ラックの対策解説はあくまで例示であるという点をご留意ください。Microsoft社のガイダンスに沿った対策もご検討ください。

攻撃を受けているかの確認方法

攻撃ツールは正規のユーザアカウントになりすますよう実装されており、また、ドメイン管理者権限という性質上ログが消される可能性も高いので攻撃自体を検知するのは難しいと考えられます。

古い攻撃ツールが用いられていた場合にイベントログに特徴的な文字列が残ることがありますが、Zerologonが公開された2020年9月以降で依然として古い攻撃ツールを用いている可能性は限りなく低いと思います。
そのため、想定していないイベントログがADサーバ上に記録されていないかを確認しながら慎重に判断していくことが重要になります。

攻撃の検知につながるイベントログ

  • ドメインコントローラに対する連続したログオン失敗履歴
  • 深夜の時間帯など、通常ログオンが発生しない時間帯でのログオン
  • 認証に関係するイベントログ
    • 想定外のIPアドレス/ユーザアカウントに対してのイベントID「4768」(Kerberos認証成功)
    • 想定外のIPアドレス/ユーザアカウントに対してのイベントID「4672」(特権の割り当て)

セキュリティパッチが適用されているかの確認方法

Windows Serverの「設定」>「更新とセキュリティ」>「Windows Update」>「更新の履歴」から以下の製品に対応したセキュリティパッチがインストール済みであるか(リストに存在しているか)確認してください。

Windows Server製品名 セキュリティパッチ(番号)
Windows Server 2008 R2 for x64-based Systems Service Pack 1 KB4571729
KB4571719
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) KB4571729
KB4571719
Windows Server 2012 KB4571736
KB4571702
Windows Server 2012 (Server Core installation) KB4571736
KB4571702
Windows Server 2012 R2 KB4571703
KB4571723
Windows Server 2012 R2 (Server Core installation) KB4571703
KB4571723
Windows Server 2016 KB4571694
Windows Server 2016 (Server Core installation) KB4571694
Windows Server 2019 KB4565349
Windows Server 2019 (Server Core installation) KB4565349
Windows Server, version 1903 (Server Core installation) KB4565351
Windows Server, version 1909 (Server Core installation) KB4565351
Windows Server, version 2004 (Server Core installation) KB4566782

セキュリティパッチの適用方法

Windows Server各製品の場合、2020年8月11日にMicrosoftによって月例のセキュリティパッチにてZerologon(CVE-2020-1472)に対する修正パッチをリリースしています。
これらのパッチは通常自動更新されますが、手動で更新する場合はWindows Serverの「設定」>「更新とセキュリティ」>「Windows Update」より更新してください。

Microsoft | CVE-2020-1472 | Netlogon Elevation of Privilege Vulnerability

バージョン4.0以降のSambaをドメインコントローラとして使用している場合、同製品は2018年3月にリリースした「Samba4.8」よりセキュアなチャネルを利用するよう設定が追加されています。設定ファイル「smb.conf」に「server schannel = yes」と設定されているか確認してください。「server schannel = no」あるいは「server schannel = auto」と設定されている場合は「server schannel = yes」と設定することで対策可能です。

Security Next | 深刻な脆弱性「Zerologon」、「Samba」にも影響 - 設定確認を

また、MicrosoftはAD管理者向けにフェーズ1とフェーズ2に分けたZerologonへの対策計画を提示しています。

Microsoft | [AD 管理者向け] CVE-2020-1472 Netlogon の対応ガイダンスの概要

フェーズ1:初期展開フェーズ

初期展開フェーズは、ドメインコントローラが規定で「安全なRPC」を利用するように自動で変更されます。
これにより、「安全なRPC」がデフォルトで使用されるようになりますが、「安全なRPC」に非対応かつWindows以外の端末は互換性確保のために接続が許可されます。

AD管理者が行う作業

  • ドメインに「安全なRPC」に非対応かつWindows以外の端末がドメインに参加しているか確認します。
  • 存在する場合は2021年2月9日以降接続不可になるため該当端末の運用方針を見直してください。(フェーズ2以降、どうしても必要であればグループポリシーで特別に脆弱なRPCをドメインコントローラ側で許可できます)

フェーズ2:強制フェーズ

強制フェーズは、「安全な RPC」の利用が強制になり、非対応の端末が接続不可になります。フェーズ1の段階で互換性のために許可されていた「安全なRPC」に非対応かつWindows以外の端末の通信が遮断されます

AD管理者が行う作業

  • 脆弱な通信が遮断されたことでドメインコントローラとの通信が遮断され、支障をきたしている端末が残っているか確認を行う。
  • 当該端末がどうしても必要であればグループポリシーで特別に脆弱なRPCを許可するようドメインコントローラに設定します。

《脆弱なRPCを許可する設定方法》
ドメインコントローラ側で、グループポリシー「ドメインコントローラ:脆弱なNetlogonセキュアチャネル接続を許可する」を設定してください。

フェーズ1/2を通して、必要となる作業

  1. Microsoftの公式ドキュメントを確認し、脆弱性の詳細、および必要となる対処の詳細を確認
  2. ドメイン参加デバイスを洗い出し、影響を確認
  3. 2020年8月11日にリリースされたセキュリティパッチをすべてのドメイン コントローラに適用
  4. 更新プログラムが適用されたDCで警告イベントを監視し、適切に対処
  5. レジストリキー FullSecureChannelProtectionをDCで設定し、強制モードをテスト

Zerologonの脆弱性有無についてツールによる確認方法

ここまでの説明にあるように、内部ネットワークからの攻撃にもリスクがあります。
情報を元にしたリスクの把握や対処を自身の手で行うこともできますが、攻撃の巧妙化によって今後はさらに攻撃の検知が難しくなる可能性があります。

ドメインコントローラの脆弱性の有無確認

SecuraBVの診断ツールを使用します。ドメイン参加PC(ドメイン未参加PCでも可)からドメインコントローラのコンピュータ名とIPアドレスを指定して診断ツールを実行することで当脆弱性が存在するかどうかを確認できます。

SecuraBVの診断ツールを用いてドメインコントローラの脆弱性の有無を確認したログ(画像は脆弱性ありと確認できるケース)
SecuraBVの診断ツールを用いてドメインコントローラの脆弱性の有無を確認したログ(画像は脆弱性ありと確認できるケース)

SecuraBVの診断ツール | SecuraBV/CVE-2020-1472

さいごに

ここまでZerologonの具体的な対策方法について解説しましたが、実際はなかなか対策が取りにくい、どう対策を練っていいのかわからないという声が多くあり、当社へたくさんのお問い合わせをいただいております。

ラックでは、内部ネットワークからの診断や疑似攻撃を行うサービス、お客様に寄り添ってセキュリティ対策を考えていくコンサルティングサービスも提供しており、リスクを洗い出し一つ一つに的確な対処をご提案することが可能です。

今回のZerologon以外でもさまざまな相談を受け付けております。
ご不安な点がありましたら以下よりお問い合わせください。

より詳しく知るにはこちら

「Zerologonをはじめとした脅威/リスクが自社にどう影響するのかがわからない」「何か対策をすべきなのか、どう対策をすればいいのかわからない」場合

より詳しく知るにはこちら

「不正アクセスの観点から、侵入リスクや安全性を徹底的に調査してほしい」場合

この記事は役に立ちましたか?

はい いいえ