公開日:2019/01/29 最終更新日:2019/02/21

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
本アップデートには CVE-2019-0724 の修正も含まれており、Exchange サーバにインストール時に付与された複数の不要な特権が削除されます。

また、次のワークアラウンドを検討してください。

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」には、本脆弱性や同様の脆弱性からの保護に役立つ可能性のある、いくつかのワークアラウンドが含まれています。

参考情報

  1. CERT/CC Vulnerability Note VU#465632
    Microsoft Exchange 2013 and newer are vulnerable to NTLM relay attacks
  2. dirkjanm.io
    Abusing Exchange: One API call away from Domain Admin
  3. ZERO DAY INITIATIVE
    An Insincere Form of Flattery: Impersonating Users on Microsoft Exchange
  4. Microsoft .NET Documentation
    PushSubscription Class
  5. Microsoft Docs
    Exchange Web Services (EWS) in Exchange 2010
  6. Microsoft Docs
    PushSubscriptionRequest
  7. Microsoft Developer Network
    3.4.2 Message Integrity
  8. Microsoft Developer Network
    3.4.3 Message Confidentiality

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
基本値: 8.8
攻撃元区分(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)
CVSS v2 AV:A/AC:L/Au:N/C:C/I:C/A:C
基本値: 8.3
攻撃元区分(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 の情報を追加しました。