This post is also available in: English (英語)
概要
2022年12月20日、Microsoft Exchange Serverに対する新たなエクスプロイト手法に関するブログをCrowdStrikeが公開しました。同社はWeb版のOutlookに関連するこのサーバーサイドリクエストフォージェリ(SSRF)を「OWASSRF」と命名しています(Web版OutlookはOutlook Web Access (OWA)ないしOutlook Web Applicationの名前で知られていることに由来)。
OWASSRFのエクスプロイト手法にはCVE-2022-41080、CVE-2022-41082としてトラッキングされている2つの異なる脆弱性がからんでおり、これらの脆弱性を使ってOutlook Web Access (OWA) 経由でリモートコード実行 (RCE) を実現しています。CVE-2022-41082の脆弱性は、以前ProxyNotShellエクスプロイトが利用していたものです。ただし、OWASSRFのエクスプロイト手法はMicrosoftがProxyNotShellに対して提供した緩和策を回避します。OWASSRFは事前にExchange Serverへの認証を必要とするため、エクスプロイト試行は大規模というより孤発的に見られます。
Unit 42は2022年11月下旬から12月上旬にかけてOWASSRF脆弱性が活発にエクスプロイトされているようすを確認しています。
そのさい脅威アクターは PowerShell ベースのバックドア (SilverArrow としてトラッキング)を使って、Exchange Server 上でコマンドを実行しました 。アクターが実行したコマンドは次の内容です。
- 管理者アカウントの作成
- AnyDesk リモートデスクトップアプリケーションをインストールする
- PuTTY Linkを使ってSSHトンネルを作成し、Windowsリモートデスクトッププロトコル (RDP) にリモートからアクセスできるようにする
- LSASSプロセスのメモリをダンプして認証情報 (クレデンシャル) を収穫する
Cortex XDRをご利用のお客様はOWASSRF脆弱性のRCE部分への保護を受けています。Cortex XDRはエクスプロイト時のPowerShellスクリプト実行を防止します。
またパロアルトネットワークスのお客様は以下のようなさまざまな製品・サービスを通じて保護を受けています。
- 高度な脅威防御セキュリティサブスクリプションをご契約いただいている次世代ファイアウォールまたはPrisma Accessのお客様は「Microsoft Exchange Server-Side Request Forgery Vulnerability」(脅威ID 93319)シグネチャにより保護されています。
- この悪意のあるアクティビティと関連する既知のIPアドレスおよびドメインは高度なURLフィルタリングとDNSセキュリティによって「malicious (悪意あるもの)」として分類されます。
- Cortex XSOAR プレイブック「CVE-2022-41040 & CVE-2022-41082 - ProxyNotShell」が本エクスプロイト試行の特定・対応用のハンティング・修復・緩和タスクを追加して更新されています。
- Cortex XDRエージェントは、Anti Webshell ProtectionモジュールとBTP (振る舞い脅威保護) モジュールにより、このエクスプロイトが展開するペイロードからお客様を保護済みです。
- Prisma CloudはCVE-2022-41080およびCVE-2022-41082に対する検出機能を備えています。仮想マシン (VM) 、サーバーレス関数、脆弱なコンテナ上で悪意のあるオペレーションを行っているコンテナに対してはランタイム防御が防止機能を提供します。
- Unit 42のインシデントレスポンスチームによる個別対応もご提供しています。
本稿で扱う脆弱性 | CVE-2022-41080, CVE-2022-41082 |
OWASSRFの詳細
CrowdStrikeは2022年12月20日、OWASSRFと名付けられたMicrosoft Exchange Serverに対する新たなエクスプロイト手法に関するブログを公開しました。当該エクスプロイト手法にはCVE-2022-41080、CVE-2022-41082としてトラッキングされている2つの異なる脆弱性がからんでおり、これらの脆弱性を使ってOutlook Web Access (OWA) 経由でリモートコード実行 (RCE) を実現しています。CVE-2022-41082の脆弱性は、以前ProxyNotShell エクスプロイトによって利用されていましたが、OWASSRFエクスプロイト手法は、Microsoftが以前ProxyNotShellに対して提供した緩和策を回避します。
ProxyNotShell、OWASSRFはいずれもサーバーサイドリクエストフォージェリ (SSRF) の脆弱性を利用します。ただしProxyNotShellの手法ではAutoDiscoverエンドポイントを使ってCVE-2022-41040をエクスプロイトし、OWASSRFの手法ではOWAのフロントエンドエンドポイントを使ってCVE-2022-41080をエクスプロイトします。ProxyNotShell同様、今回発見されたエクスプロイト手法でも、アクターにはサーバーに対する事前の認証が求められます。
2022年12月14日の@Purp1eW0lf 氏のツイートによると、OWASSRF脆弱性を悪用しているアクターは、エクスプロイトコードを含むPythonスクリプトなど複数のツールの入った公開ディレクトリをWebサーバー上に残していました。さらにこの公開ディレクトリにはReadmeファイルも含まれていました。Readme (図1参照) にはProxyNotShellのエクスプロイトスクリプトの使いかたが説明されていて、これがとくにProxyNotShellの脆弱性に対するホットフィックス回避用に開発されたことが示されています。
![画像1は脅威アクターが公開ディレクトリ上に残したreadme.txtを示すスクリーンショット。OWASSRFのエクスプロイトコードの使いかたがされている。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-1.png)
公開ディレクトリにあるこのコードを使ってみると同エクスプロイトの作用機序がよくわかります。Exchange Serverの認証に成功後、エクスプロイトコードは/owa/mastermailbox%40outlook.com/powershellにPOSTリクエストを発行します(図2)。これはCrowdStrikeのOWASSRFに関するブログで言及されているURLの構造と同じです。
POSTリクエストにはowa/mastermailbox@outlook[.]comという値を持つX-OWA-ExplicitLogonUserヘッダも含まれています。このヘッダの値は処理中にURLから削除されます。このURL変更がCVE-2022-41080でトラッキングされているサーバーサイドリクエストフォージェリの原因と思われます。
なおこのトラフィックは HTTPS 上で発生するので POST リクエストは暗号化されたセッション内にあることに注意が必要です。またこのメールアドレスは必ずしもmastermailbox@outlook[.]comである必要はなく、どのメールアドレスでもよいと思われます。
![画像2はOWASSRFエクスプロイトスクリプトの最初のPOSTリクエストを示すスクリーンショットです。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-2.png)
エクスプロイト後、エクスプロイトコードはBase64エンコード文字列の形式で渡されたPowerShellを実行します。このエクスプロイトコードはXML内の$$POWERSHELL_ENCODE_PAYLOAD_HERE$$ (図3) をBase64エンコードしたPowerShellで置き換え、このXMLをExchange Serverに送信して実行させます。
![画像3はMicrosoft Exchange Serverに送信されるメッセージデータのスクリーンショット。エンコードしたPowerShellを実行する。引数とファイル名をハイライト表示している](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-3.png)
現在の攻撃スコープ
本稿執筆時点でUnit 42は8つの組織でエクスプロイトアクティビティが確認されたことを把握しています。私たちが12月2日、12月3日に観測したエクスプロイト試行では、アクターがBase64エンコードされたPowerShellを実行しようとしていました(図4)。デコードされたPowerShellコードは、私たちがSilverArrowとしてトラッキングしているバックドアです。
![画像4は暗号化されたPowerShellスクリプトのサンプルを示したスクリーンショット。OWASSRFによるエクスプロイト攻撃で確認されたもの。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-4.png)
SilverArrowのバックドア (図5をデコードしたもの) の実態はリモートシェルです。SilverArrowはリモートサーバー (この特定の事例では0xd8809226ないし216.128.146[.]38) に接続し、ループに入って追加のPowerShellコマンドを受け取り、それを実行してサーバーに結果を応答します。この特定リモートシェルは SL> というシェルプロンプトをアクターに提供します (これが SilverArrow という名前のもとになりました)。
![画像5はOWASSRFエクスプロイト試行が配信したPowerShellスクリプトをデコードした多数のコード行を示すスクリーンショット。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-5.png)
Unit 42が観測したOWASSRFのエクスプロイト試行はすべて同じPowerShellバックドアに帰結していました。これらバックドアのコマンド&コントロール (C2) サーバーとして以下のIPアドレスの利用が確認されています。
- 216.128.146[.]38
- 95.179.162[.]125
- 192.248.176[.]138
- 140.82.52[.]35
- 45.32.144[.]71
Cortex XDRをお使いのお客様の一部はエクスプロイト試行を経験していましたが、PowerShellのアクティビティは阻止されていました (図6参照) 。PowerShellコードの実行が阻止されたことで、脅威アクターによる侵害後のアクティビティが阻止されていました。
![画像6はCortex XDRプログラムのスクリーンショットで、PowerShellのアクティビティを阻止したようす。アラート詳細とどのようなプロセスが終了したかを説明している。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-6.png)
残念ながら、ある Exchange Server は Cortex XDR をブロッキングモードで運用しておらず、2022年11月28日にOWASSRFエクスプロイトが成功し、PowerShellコードが実行される結果となっていました。エクスプロイト後にこの脅威アクターはPowerShellを使っていくつかコマンドを実行していました。脅威アクターはwhoamiコマンドを使い、Admonというユーザーを作成し、このAdmonユーザーをローカル管理者グループとリモートデスクトップユーザーグループに追加しました (図7)。
また、PuTTY Link (pta.exe) と AnyDesk リモートデスクトップアプリケーションをサーバーにダウンロードし、後者をインストールすることで、Windows の起動とともに起動させ、再起動後の永続性を確保していました。このアクターは PuTTY Link を使って217.69.10[.]255への SSH トンネルを作成し、ローカルサーバーの RDP にアクセスできるようにしていました。ここからは、侵害したサーバーとやりとりするためにリモートデスクトップツールを使おうとする脅威アクターの意図がうかがえます。私たちはまた、脅威アクターがIPアドレス45.76.246[.]112にSSHトンネルを作成していたようすも確認しています。
![画像7はCortex XDRのスクリーンショット。ツリー図には脅威アクターによるPowerShellアクティビティのエクスプロイトにつづくアクティビティのようすが表示されている。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-7.png)
図7のアクティビティの直後、脅威アクターは新たに作成したAdmonユーザーアカウントとリモートデスクトップアクセスを使ってLSASSプロセスのメモリをダンプしました。このさいはWindows正規のタスクマネージャーアプリケーションを使っていました(図8)。サーバー上でダンプファイルを処理したようすは確認できなかったので、この脅威アクターはLSASSのメモリをダンプした後、サーバー上でローカルにではなく、漏出後にダンプファイルから認証情報を抽出したものと考えられます。
![画像8は、Cortex XDRプログラムのスクリーンショット。脅威アクターがタスクマネージャを使って認証情報収集のためにLSASSメモリをダンプしたというアラートが表示されている。](https://unit42.paloaltonetworks.jp/wp-content/uploads/2022/12/word-image-126291-8.png)
中間ガイダンス
Unit 42はお客様に2022年11月8日のセキュリティ更新プログラムをExchange Serverに適用することを推奨します。弊社のCortex XDRはAnti Webshell ProtectionモジュールとBTP (振る舞い脅威保護) モジュールによりこのエクスプロイトが展開するペイロードからお客様を保護済みです。
Unit 42 マネージド スレット ハンティング チームによるクエリ
Unit 42マネージド スレット ハンティング チームは、顧客ベース全体に対し、Cortex XDRとXQLクエリ(下記)を使ってこれらCVEのエクスプロイト試行を継続的にトラッキングしています。Cortex XDRをご利用のお客様も以下のXQLクエリでエクスプロイトの痕跡を検索できます。
1 2 3 4 5 6 7 8 9 |
// Processes spawned by exploiting this vulnerability will have a parent process of w3wp.exe in the "MSExchangePowerShellAppPool" application pool. Review the results of this query for suspicious child processes. config case_sensitive = false | dataset = xdr_data | filter event_type = ENUM.PROCESS AND event_sub_type = ENUM.PROCESS_START | filter actor_process_image_name = "w3wp.exe" and actor_process_command_line contains "MSExchangePowerShellAppPool" | filter action_process_image_name not in ("wermgr.exe","wmiapsrv.exe","dllhost.exe") | fields _time, agent_id, agent_version, action_process_image_path,action_process_image_command_line,action_process_image_sha256, actor_process_command_line |
1 2 3 4 5 6 7 8 9 |
// Description: In activity we observed in the wild, a w3wp.exe process belonging to the "MSExchangePowerShellAppPool" application pool spawned PowerShell one-liners with "frombase64string" in the command line. config case_sensitive = false | dataset = xdr_data | filter event_type = ENUM.PROCESS AND event_sub_type = ENUM.PROCESS_START | filter action_process_image_name = "powershell.exe" and action_process_image_command_line contains "frombase64string" | filter (actor_process_image_name = "w3wp.exe" and actor_process_command_line contains "MSExchangePowerShellAppPool") or (causality_actor_process_image_name = "w3wp.exe" and causality_actor_process_command_line contains "MSExchangePowerShellAppPool") | fields action_process_image_path, action_process_image_command_line , actor_process_command_line , causality_actor_process_command_line, agent_hostname |
結論
Unit 42はCVE-2022-41080とCVE-2022-41082のエクスプロイトによるOWASSRFメソッドが活発に悪用されているようすを野生(in the wild)で観測しています。OWASSRFはExchange Serverに対する認証を必要とするため大規模なエクスプロイト試行は観測されていません。OWASSRFを使ったExchange Serverのエクスプロイト試行の発生は孤発的で、脅威アクターがそれまでになんらかの手段で窃取した認証情報を使っているものと考えられます。
確認されているエクスプロイト試行においては、脅威アクターがPowerShellで追加コマンドを実行し、Exchange Serverへのリモートデスクトップアクセスを得ていました。このエクスプロイト試行では、新規管理者アカウントの作成、PuTTY LinkでSSHトンネルを作成してのWindowsリモートデスクトップへのアクセス、AnyDeskアプリケーションのインストールなどが行われていました。同アクターはこれらリモートデスクトップツールで認証情報を収集していましたが、このサーバーの復旧処理が早かったことからアクターの目的は不明です。
OWASSRF手法に対する概念実証エクスプロイトスクリプトが公開されていますので、Exchange Serverにマイクロソフトの2022年11月8日のセキュリティ更新プログラムを適用し、本脆弱性を緩和することを強く推奨します。パロアルトネットワークスとUnit 42は、新たな情報、PoC(概念実証)コードの公開、さらなるエクスプロイト蔓延の痕跡について引き続き状況を監視していきます。
パロアルトネットワークス製品によるOWASSRFの保護
パロアルトネットワークスのお客様には、以下の製品/サービスの保護・更新を通じ、同脅威の特定と防御が提供されています。
侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、infojapan@paloaltonetworks.com まで電子メールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客様には限定されません)。
- 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
- 欧州: +31.20.299.3130
- アジア太平洋: +65.6983.8730
- 日本: +81.50.1790.0200
高度な脅威防御を有効にした次世代ファイアウォールとPrisma Access
次世代ファイアウォール (PA-Series、VM-Series、CN-Series)または高度な脅威防御セキュリティサブスクリプションを有効化したPrisma Accessは、脅威ID 93319 (Application and Threat content update 8658)でCVE-2022-41080に関連するセッションを自動的にブロックできます。
次世代ファイアウォールのクラウド配信型セキュリティサービス
この悪意のあるアクティビティと関連する既知のIPアドレスおよびドメインは高度なURLフィルタリングとDNSセキュリティによって「malicious (悪意あるもの)」として分類されます。
Cortex XSOAR
Cortex XSOAR プレイブック「CVE-2022-41040 & CVE-2022-41082 - ProxyNotShell」が本エクスプロイト試行の特定・対応用のハンティング・修復・緩和タスクを追加して更新されています。このプレイブックは脆弱性や脅威の傾向を把握するためのさまざまなプレイブックを含む「Rapid Response Pack」に含まれ、Cortex Marketplaceで販売されています。
Cortex XDR
Cortex XDRエージェントは、Anti Webshell ProtectionモジュールとBTP (振る舞い脅威保護) モジュールにより、このエクスプロイトが展開するペイロードからお客様を保護済みです。
バージョン7.8またはそれ以降(コンテンツバージョン810-32342またはそれ以降)で動作するCortex XDRエージェントは、弊社が確認したエクスプロイト チェーンのエクスプロイト試行をブロックします。エージェント上で、Exploit Protection、BTP (Behavioral Threat Protection)、Anti Webshell Protectionの各モジュールがブロッキングモードに設定されていることを確認してください。
Prisma Cloud
Prisma CloudはCVE-2022-41080およびCVE-2022-41082に対する検出機能を備えています。仮想マシン (VM) 、サーバーレス関数、脆弱なコンテナ上で悪意のあるオペレーションを行っているコンテナに対してはランタイム防御が防止機能を提供します。コンピュートエージェントをコンテナホスト、サーバーレス関数、VMインスタンスにインストールしてください。また最新のPrisma Cloud Intelligence Stream (IS) オファリングが設定されていること、ランタイム保護がアクティブに設定なっていることを確認してください。
IoC
インフラ
140.82.52[.]35
217.69.10[.]255
45.76.246[.]112
216.128.146[.]38
95.179.162[.]125
192.248.176[.]138
140.82.52[.]35
45.32.144[.]71