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社のホワイトペーパーに掲載されている。
Zerologon | Secura - Take Control of Your Digital Security
kurenaif氏が初期化ベクトルが0の場合、どのような問題が起きるのかわかりやすく解説している。
www.youtube.com
攻撃コード公開や悪用はされているの?
- Secura社(脆弱性を報告した企業)が9月11日に技術情報の詳細を開示し、容易に攻撃できることが判明。
- 9月24日にMicrosoftが脆弱性を悪用した攻撃が実際発生していることを観測していると発表した。
Microsoft is actively tracking threat actor activity using exploits for the CVE-2020-1472 Netlogon EoP vulnerability, dubbed Zerologon. We have observed attacks where public exploits have been incorporated into attacker playbooks.
— Microsoft Security Intelligence (@MsftSecIntel) 2020年9月24日
IOC
Microsoftが確認したExploit関連のIOCは以下の通り。
b9088bea916e1d2137805edeb0b6a549f876746999fbb1b4890fb66288a59f9d(try.exe)
24d425448e4a09e1e1f8daf56a1d893791347d029a7ba32ed8c43e88a2d06439(SharpZeroLogon.exe)
c4a97815d2167df4bdf9bfb8a9351f4ca9a175c3ef7c36993407c766b57c805b(SharpZeroLogon.exe)
- いずれもSharpZeroLogonとして公開されたエクスプロイトとみられる。(一部ハッシュはドメイン非参加の端末からのエクスプロイトにも対応したもの)
Zerologonの実証コード
- GitHub - SecuraBV/CVE-2020-1472: Test tool for CVE-2020-1472
- GitHub - dirkjanm/CVE-2020-1472: PoC for Zerologon - all research credits go to Tom Tervoort of Secura
- nccfsas/Tools/SharpZeroLogon at main · nccgroup/nccfsas · GitHub
- GitHub - bb00/zer0dump: Abuse CVE-2020-1472 (Zerologon) to take over a domain and then repair the local stored machine account password.
MimikatzもZerologonを実装
2.2.0 20200918 Zerologon encrypted
- 2020年9月18日にZerologonに対応したMimikatzが公開された。
lsadump::zerologon
コマンドでzerologon エクスプロイトを行うことが可能。
Neutral8x9eR氏がmimikatzを使った検証デモ動画を公開している。
www.youtube.com
検証メモ
公開されている実証コード等を使って検証を行ったところ次の結果となった。
- Win外デバイスは非secureRPC接続が可能となっているはずだが今回試した環境では上手く刺さらず。
- ドメイン非参加のWin外デバイスでも検証したかったが該当するPoCを確認できなかった。
脆弱性の注意喚起は出ている?
国内外よりZerologonの対応呼びかけや注意喚起が既に公開されている。
- Netlogon の特権の昇格の脆弱性 (CVE-2020-1472) への早急な対応を
- Windows Server Vulnerability Requires Immediate Attention | CISA
- CISAが9月19日に出した緊急警告では9月21日までにZerologonへ対応する更新プログラムを提供するよう連邦政府の省庁へ要求する内容。
公式情報を知りたい
攻撃・被害事例
解説記事等
- 第56回 ゼ口とT信とサクソ!スペシャル!(セキュリティのアレ)
- 【Zerologon(CVE-2020-1472)】PoC有りWindowsのドメインコントローラが乗っ取られる脆弱性の仕組みと対策(@Virtual)
- JVNVU#95778184: Microsoft Windows Netlogon Remote Protocol (MS-NRPC) に権限昇格の脆弱性(JVN)
- ZeroLogon(CVE-2020-1472) - Attacking & Defending(ZeroSec)
- 脆弱性「Zerologon」(「CVE-2020-1472」)と行うべき対策 | トレンドマイクロ セキュリティブログ(Trend Micro)
- 脅威に関する情報: マイクロソフトの脆弱性CVE-2020-1472「Zerologon」(paloalto)
- ドメインコントローラーを脅かす脆弱性「Zerologon」(Kaspersky)
- ZeroLogon is now detected by Microsoft Defender for Identity (CVE-2020-1472 exploitation) (Microsoft)
更新履歴
- 2020年9月28日 AM 新規作成
- 2020年12月1日 攻撃事例を追記