JVNVU#97449410
Microsoft Exchange 2013 およびそれ以降における NTLM 中継攻撃が可能な脆弱性
Microsoft Exchange 2013 およびそれ以降では、HTTP を介した NTLM 認証で Sign フラグおよび Seal フラグを設定しておらず、NTLM 認証中継攻撃によって Exchange サーバの管理者権限を取得される可能性があります。
- Microsoft Exchange 2013 およびそれ以降
Microsoft Exchange は Exchange Web Services (EWS) と呼ばれる API をサポートしており、そのなかの PushSubscriptionRequest を使うと Exchange サーバを任意の web サイトに接続させることが可能です。PushSubscriptionRequest で登録された web サイトへの接続では NTLM 認証が行われます。
Exchange 2013 およびそれ以降では、HTTP を介した NTLM 認証で NTLM Sign フラグおよび Seal フラグが設定されていません。署名が行われていないため NTLM 認証データを中継することによる攻撃が可能です。
Microsoft Exchange は、初期設定において Active Directory ドメイン内のオブジェクトに対し大きな権限を持っています。また、Exchange Windows Permissions
グループにはオブジェクトへの WriteDacl
権限が許可されています。このことから、本脆弱性を悪用して Exchange サーバの権限を取得されることで、さらに Domain Admin 権限を取得される可能性があります。
Exchange のメールボックスアカウントを持ち、Exchange サーバおよび Windows ドメインコントローラと通信できるユーザにより、ドメインの管理者権限を取得される可能性があります。
また、Exchange メールボックスアカウントのパスワードを知らなくても、Exchange サーバと同じセグメントに接続していれば NTLM 認証データを中継する攻撃は可能であると報告されています。
アップデートする
Microsoft からアップデートが公開されています。本アップデートによって、Exchange サーバが PushSubscriptionRequest
呼び出しにより web サイトに接続する際、NTLM 認証を行わないようになります。
本脆弱性への修正を含む Exchange のバージョンは次のとおりです。
- Exchange Server 2010 Service Pack 3 Update Rollup 26
- Exchange Server 2013 Cumulative Update 22
- Exchange Server 2016 Cumulative Update 12
- Exchange Server 2019 Cumulative Update 1
また、次のワークアラウンドを検討してください。
EWS サブスクリプション機能を無効にする
EWS サブスクリプション機能が不要な場合は、Exchange 管理シェルで次のコマンドを実行することで、PushSubscriptionRequest API 呼び出しをブロックできます。
New-ThrottlingPolicy -Name NoEWSSubscription -ThrottlingPolicyScope Organization -EwsMaxSubscriptions 0
Restart-WebAppPool -Name MSExchangeServicesAppPool
Exchange がドメイン内のオブジェクトに対して持つ権限を削除する
Active Directory ドメイン内の脆弱なアクセス制御エントリのチェックや、Exchange が Active Directory ドメイン内のオブジェクトへの書き込みを行う権限の削除を行う powershell スクリプト Fix-DomainObjectDACL.ps1 が公開されています。
ただし、これは CERT/CC が作成したものではなく、Microsoft のサポートもないことに注意してください。
このワークアラウンドを実施する場合は、あらかじめ十分なテストを行い、正しく機能することを確認してください。
追加のワークアラウンドを検討する
本脆弱性に関するブログ「Abusing Exchange: One API call away from Domain Admin」には、本脆弱性や同様の脆弱性からの保護に役立つ可能性のある、いくつかのワークアラウンドが含まれています。
-
CERT/CC Vulnerability Note VU#465632
Microsoft Exchange 2013 and newer are vulnerable to NTLM relay attacks -
dirkjanm.io
Abusing Exchange: One API call away from Domain Admin -
ZERO DAY INITIATIVE
An Insincere Form of Flattery: Impersonating Users on Microsoft Exchange -
Microsoft .NET Documentation
PushSubscription Class -
Microsoft Docs
Exchange Web Services (EWS) in Exchange 2010 -
Microsoft Docs
PushSubscriptionRequest -
Microsoft Developer Network
3.4.2 Message Integrity -
Microsoft Developer Network
3.4.3 Message Confidentiality
攻撃元区分(AV) | 物理 (P) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 低 (L) | ||
必要な特権レベル(PR) | 高 (H) | 低 (L) | 不要 (N) | |
ユーザ関与レベル(UI) | 要 (R) | 不要 (N) | ||
スコープ(S) | 変更なし (U) | 変更あり (C) | ||
機密性への影響(C) | なし (N) | 低 (L) | 高 (H) | |
完全性への影響(I) | なし (N) | 低 (L) | 高 (H) | |
可用性への影響(A) | なし (N) | 低 (L) | 高 (H) |
攻撃元区分(AV) | ローカル (L) | 隣接 (A) | ネットワーク (N) |
---|---|---|---|
攻撃条件の複雑さ(AC) | 高 (H) | 中 (M) | 低 (L) |
攻撃前の認証要否(Au) | 複数 (M) | 単一 (S) | 不要 (N) |
機密性への影響(C) | なし (N) | 部分的 (P) | 全面的 (C) |
完全性への影響(I) | なし (N) | 部分的 (P) | 全面的 (C) |
可用性への影響(A) | なし (N) | 部分的 (P) | 全面的 (C) |
JPCERT 緊急報告 |
|
JPCERT REPORT |
|
CERT Advisory |
|
CPNI Advisory |
|
TRnotes |
|
CVE |
CVE-2019-0686 |
JVN iPedia |
JVNDB-2019-001210 |
- 2019/01/31
- 詳細情報の誤りを修正しました(PushSubscription → PushSubscriptionRequest)
- 2019/02/01
- 関連文書に CVE 番号および JVN iPedia のリンクを追加しました
- 2019/02/06
- ベンダ情報に Microsoft の Security Advisory を追加しました
- 2019/02/21
- 対策方法にアップデートに関する情報を追加し、ベンダ情報に Microsoft の情報を追加しました。