piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

ドメインコントローラーがのっとられる脆弱性 Zerologon(CVE-2020-1472)についてまとめてみた

2020年8月に修正された脆弱性 CVE-2020-1472はドメインコントローラーが使用するNetlogon リモートプロトコルに欠陥が見つかったもので、その内容からZerologonとも呼称されています。Microsoftをはじめ、セキュリティ組織は深刻な脆弱性であることから早急な対応を行う様呼び掛けています。ここでは関連する情報をまとめます。

Zerologonって何?

  • Windows が実装する Netlogon リモートプロトコル (MS-NRPC)に発見された脆弱性の名前。
  • 脆弱性悪用を通じてパスワードが変更されドメイン管理者権限の取得が行われる恐れあり。
  • 9月11日に技術情報と実証コードが公開され、9月24日には攻撃に悪用されたとMicrosoftが注意喚起。
  • 8月12日に脆弱性に対応するセキュリティ更新プログラムが公開済。非Winデバイス互換性への考慮から2段階に分け対応が進められる。(次回は2021年1月予定)
CVE CVE-2020-1472
脆弱性の評価 (Windows)CVSS 基本値 10/Microsoft 深刻度 緊急
(Samba)CVSS 基本値9.8
悪用の有無 9月24日時点で悪用報告あり
修正方法 セキュリティ更新プログラムを適用

脆弱性悪用で何が起こるの?

  • ネットワーク内に攻撃者により侵害された端末が存在する場合、ドメイン管理者の権限が取得される恐れがある。
  • ドメイン管理者権限が奪取されれば、ドメインに参加する端末を全て制御下に置くことが可能。

影響を受ける製品は何?

Windows
  • DC(ドメインコントローラー)が影響を受ける。
  • 修正対象はMicrosoftにより現在サポート対象となっているサーバーOS全て。
    • Windows Server 2008 R2
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows Server 2019
    • Windows Server version 1903/1909/2004
Samba

Unauthenticated domain takeover via netlogon ("ZeroLogon")

  • バージョン4.0以降が対象でSambaをドメインコントローラーとして使用している場合影響を受ける。
  • ファイルサーバーとしてのみ利用している場合は直接の影響無し。ドメインコントトローラーと接続を行っている場合は一部構成の変更が必要。

脆弱性にはどう対応したらいいの?

Windows
  • 2020年8月12日に公開されたセキュリティ更新プログラムを適用する。
  • 組織内に非Winデバイスが存在する、あるいはするかわからない場合、イベントログから強制モード移行後、影響を受ける端末が存在しないか確認する。
  • Windows管理者向けのガイダンスはMicrosoftのブログで公開されている。
CVE-2020-1472関連のイベントログ

次のイベントID がドメインコントローラーのイベントログ(イベントソースはいずれもNetlogon)に出力されているか確認する。

イベントID レベル 出力タイミング 対象アカウント
5827 エラー 非 secureRPC接続の試行(接続拒否) マシン
5828 エラー 非 secureRPC接続の試行(接続拒否) 信頼
5829 警告 非 secureRPC接続の実行(接続許可) マシン
5830 警告 非 secureRPC接続の実行(接続許可) マシン
5831 警告 非 secureRPC接続の実行(接続許可) 信頼
  • イベントID 5829はフェーズ1のみ強制モード適用時に出力されフェーズ2以降は代わりに5827が出力される。Microsoftは当該IDの監視をもってフェーズ2以降の障害を回避するよう推奨している。
強制モードの適用
  • 強制モードは次のレジストリ値を変更することでフェーズ2より前に適用することが可能。Microsoftは同モードを使ったテストを推奨。
レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
FullSecureChannelProtection (REG_DWORD)

設定内容は以下の通り。

設定値 内容
1 強制モードを有効。グループポリシーの脆弱な接続リストで許可されていない限り、非 secureRPCの接続を拒否。
0 Windows 以外のデバイスからの非 secureRPCの接続を許可。(強制モードで廃止予定)
  • フェーズ2(2021年2月9日以降)はこのレジストリ値の中身に関係なく強制モードが有効となる。
  • グループポリシーは「ドメイン コントローラー: 脆弱な Netlogon セキュア チャネル接続を許可する」から設定が可能。
  • 設定変更に伴う再起動は不要。
Samba
  • Sambaのバージョンと設定によってsecure RPCで接続するか挙動が異なるため、該当バージョンの利用者は設定を確認する必要あり。
対象バージョン 既定の接続方法 脆弱性への対応
4.8以降 secureRPC smb.confに以下の設定が記述されていないかを確認する。
server schannel = noまたはserver schannel = auto
4.7以前 非 secreRPC smb.confに次の設定を行う。
server schannel = yes
  • 実証コードが公開されているが、適切な設定を行われている場合も脆弱として結果が表示される場合がある模様。

なんでZerologonと呼ぶの?

  • Netlogon プロトコルのComputeNetlogonCredential関数で実装された暗号化(AES-CFB8)の初期化ベクトル(IV)が全て0で固定されていたことに由来。
  • 本来このIVは暗号化プロセスを起動するたびに一意、かつランダムに生成される必要があった。(0固定となっていた理由は不明)
  • AES-CFB8の場合、1/256の確率で暗号化された文字列が全て0となる。
  • Windowsには認証回数の制限が存在しない仕様となっており、無制限に試行できることから確率的に実質約3秒程度で攻撃に成功するとされた。

脆弱性の詳細はSecura社のホワイトペーパーに掲載されている。
[Blog] Zerologon: instantly become domain admin by subverting Netlogon cryptography (CVE-2020-1472)

kurenaif氏が初期化ベクトルが0の場合、どのような問題が起きるのかわかりやすく解説している。
www.youtube.com

攻撃コード公開や悪用はされているの?

  • Secura社(脆弱性を報告した企業)が9月11日に技術情報の詳細を開示し、容易に攻撃できることが判明。
  • 9月24日にMicrosoftが脆弱性を悪用した攻撃が実際発生していることを観測していると発表した。

IOC

Microsoftが確認したExploit関連のIOCは以下の通り。

b9088bea916e1d2137805edeb0b6a549f876746999fbb1b4890fb66288a59f9d(try.exe)
24d425448e4a09e1e1f8daf56a1d893791347d029a7ba32ed8c43e88a2d06439(SharpZeroLogon.exe)
c4a97815d2167df4bdf9bfb8a9351f4ca9a175c3ef7c36993407c766b57c805b(SharpZeroLogon.exe)

  • いずれもSharpZeroLogonとして公開されたエクスプロイトとみられる。(一部ハッシュはドメイン非参加の端末からのエクスプロイトにも対応したもの)
MimikatzもZerologonを実装

2.2.0 20200918 Zerologon encrypted

  • 2020年9月18日にZerologonに対応したMimikatzが公開された。
  • lsadump::zerologonコマンドでzerologon エクスプロイトを行うことが可能。

Neutral8x9eR氏がmimikatzを使った検証デモ動画を公開している。
www.youtube.com

検証メモ

公開されている実証コード等を使って検証を行ったところ次の結果となった。

f:id:piyokango:20200927014646p:plain
piyokangoの検証結果
  • Win外デバイスは非secureRPC接続が可能となっているはずだが今回試した環境では上手く刺さらず。
  • ドメイン非参加のWin外デバイスでも検証したかったが該当するPoCを確認できなかった。

脆弱性の注意喚起は出ている?

国内外よりZerologonの対応呼びかけや注意喚起が既に公開されている。

更新履歴

  • 2020年9月28日 AM 新規作成