FortiGuard Labs 脅威リサーチ

CVE-2022-30190:Microsoftサポート診断ツール(MSDT)RCE脆弱性「Follina」

投稿者 Shunichi Imano, James Slaughter, Fred Gutierrez, および FortiRecon Team | 2022年7月13日

先週末、独立系サイバーセキュリティ研究チームの@nao_secがツイートを投稿し、ベラルーシから送信された悪意あるMicrosoft Word文書でリモートテンプレートが悪用されており、MSProtocol URIスキームの「ms-msdt」を使ってPowerShellペイロードが実行されることを報告しました。先週末にかけてのさらなる調査により、これはパッチが適用されていないWindowsの新たな脆弱性であると特定されました。攻撃が成功すると、影響を受けたシステムは遠隔地にいる未認証の攻撃者に乗っ取られます。この後すぐ、PoC(概念実証)が一般に公開されました。

この脆弱性は「Follina」と命名され、CVE番号CVE-2022-30190が割り当てられました。

命名したのはセキュリティリサーチャーのKevin Beaumont氏です。Beaumont氏がこのゼロデイ脆弱性を解析したところ、「0438」という番号が含まれており、これがイタリアのフォッリーナの市外局番であることから「Follina」と名付けられました。脆弱性に独自の名前が付けられた場合、大抵は好ましくない状況を意味します。Heartbleed、Shellshock、EternalBlueのように、強烈な印象を与えるロゴまで作られたとなると、事態は致命的と言えます。しかし幸いなことに、この脆弱性はそこまで深刻ではありません。

FortiGuard LabsはCVE-2022-30190の更新情報や進展を注意深く観察しており、本ブログはこの重大な脆弱性への注意を喚起するとともに、Microsoftがパッチをリリースするまでの間、迅速な是正措置を行うよう管理者や各組織に強く推奨することを目的としています。

影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー:     Microsoft Windowsユーザー
影響:             影響を受けたマシンの制御権の奪取
深刻度:            クリティカル

影響評価

まず気になるのは、この脆弱性がどの程度深刻か、ということでしょう。CVE-2022-30190はCVSS 7.8(クリティカル)として評価されており、それにはいくつかの理由があります。

この脆弱性は、Microsoftサポート診断ツール(MSDT)に存在します。MSDTは、デバイスドライバーやハードウェアその他に関する問題などを診断するため、システム情報を収集してMicrosoftサポートに送信するツールです。このツールは、Windows Server OSも含めて、Windowsの全バージョンに装備されています。Microsoftからパッチが提供されていないため(2022年6月1日現在)、エンドポイントソフトウェアや減災戦略で保護されていないマシンはFollinaに対して脆弱です。

PoC(概念実証)コードが公開されているので、セキュリティリサーチャーや管理者だけでなく、脅威アクターもこのコードを自由に使用できます。したがって、CVE-2022-30190を悪用した攻撃は、今後数日から数週間の間に増加することが予想されます。

Microsoft Officeの保護ビュー機能を使うと、Office文書は読み取り専用で開かれ、マクロやその他のコンテンツは無効になっているため、この攻撃を防止できます。ただし、リサーチャーの報告によると、文書がリッチテキスト形式(RTF)に変換された場合は、Windows Explorerでその文書をプレビューしただけでエクスプロイトが起動し、保護ビューはバイパスされます。本ブログ執筆時点で、Microsoftの最新アドバイザリはこの点についても、これが別の攻撃ベクトルであるかどうかについても明らかにしていません。

ちなみに、脆弱性の名前には「リモート」が使われてはいますが、この攻撃はローカルで発生し、攻撃が成功するにはユーザーの操作を必要とします。Microsoftのアドバイザリは、この点を次のように説明しています。「名称の「リモート」という語句は攻撃者側の場所を指しています。このタイプのエクスプロイトは、任意コード実行(ACE)と呼ばれることもあります。攻撃自体はローカルで実行されます。」

この脆弱性は、実際に被害が出ている攻撃でも既に確認されています。このブログの末尾のタイムラインで示すように(「タイムライン」を参照)、一連の攻撃が最初に観測されたのは2022年3月で、フィリピン、ネパール、インドを標的にしていたと伝えられています。VirusTotalには、ロシアとベラルーシから別のファイルが送信されました。これらの攻撃は標的型攻撃であると考えられます。フォーティネットのテレメトリでは、関与していたドメインの活動がほとんど見つからないからです。

脆弱性の深刻度を考慮して、米国のCISA(Cybersecurity & Infrastructure Security Agency)は5月31日にアドバイザリを発表し、ユーザーや管理者に対してできる限り速やかに必要な対策を行うよう勧告しました。

エクスプロイト

msdt.exeに存在する脆弱性とは、Microsoftサポート診断ツールです。このツールは通常、オペレーティングシステムの欠陥を診断し、Microsoftサポートにシステムの詳細情報を報告 / 送信するために使用されます。

図1:Microsoftサポート診断ツールの通常の表示画面

この脆弱性を利用すると、攻撃者は呼び出し元のアプリケーションと同じ特権で任意のコードを効果的に実行できます。@nao_secからの当初の報告や、それに続く広範囲なセキュリティコミュニティでの調査が示すとおり、呼び出し元アプリケーションは多くの場合、Microsoft Office(Word、Excel、Outlookなど)のツールです。

最初の文書とその後に取得されるHTMLファイルについては、こちらこちらでご確認いただけます。

図2:最初のOLEオブジェクト。この後のHTMLファイルのダウンロード場所を指定しています。

図2に示すように、@nao_secが発見したWord文書には、OLEオブジェクトが埋め込まれていました。このオブジェクトは、外部のWebサイトを呼び出してHTML文書をダウンロードするように細工されていました。この文書がmsdt.exeを起動し、続いて複数のPowerShellコマンドが実行されました。

図3:MSDTを起動するHTMLファイル

図3は元のHTMLペイロードを示しています。これを実行するには、スクリプトの外に、文字「A」を羅列した複数の行(61)を記述する必要がありました。その後、文字列からBase64へのエンコーディングを使用してMSDTが呼び出され、実際のコマンドが難読化されました。

図4:デコードされたコマンド

VirusTotalには、Calcなどの無害なWindowsツールを呼び出す事例が多数アップロードされており、損害を出さずに脆弱性をテストする手法として利用できます。

活発な悪用

TA413 APTグループは中国の影響下にあるハッキング組織で、海外のチベットコミュニティに対する攻撃にこの脆弱性を利用しました。セキュリティリサーチャーによって5月30日に観測されたように、脅威アクターたちは既にCVE-2022-30190の悪用を始めており、被害者がZIPアーカイブで配信されたWord文書を開くかプレビューすると、MSDTプロトコルを介して悪意あるコードが実行されます。TA413の攻撃は、中央チベット政権の「Women Empowerments Desk」を偽装し、tibet-gov.web[.]appドメインを使用していました。

セキュリティリサーチャーは、中国語のファイル名が付けられたDOCX文書が、悪意あるペイロードのインストールに使用されていることも発見しました。このペイロードは、「hxxp://coolrat[.]xyz」を介してパスワードを窃取するトロイの木馬として検知されました。

本ブログ執筆時点で、この脆弱性が限定的とはいえ実際に悪用されていることがリサーチャーによって確認されています。中国のAPTアクターである「TA413」によって実行された攻撃は、「Follina」の活発な悪用の一例です。

攻撃ベクトル

本ブログ執筆時点で確認されているすべての攻撃において、Eメールで配信されたと思われるMicrosoft Word文書ファイルが使用されていました。理論上は、OLEオブジェクトの埋め込みが可能なアプリケーションであれば、実行メカニズムとして有効に機能します。

被害が確認されている攻撃

CVE-2022-30190を利用した実際の攻撃の一つが、6月1日にサウジアラビアからVirusTotalに送信されたMicrosoft Wordファイルで(SHA2:248296cf75065c7db51a793816d388ad589127c40fddef276e622a160727ca29)、これについてはMalwareHunterTeamがツイートを投稿しています。

図5:CVE-2022-30190を悪用した攻撃に使われた悪意あるWordファイル

このdocファイルは、212[.]138[.]130[.]8/analysis.htmlからHTMLファイルを取得します。そのHTMLファイルはMSDTを悪用して、次の段階で使用するペイロード「svchost.exe」を遠隔地から取得して実行します。

図6:取得されたanalysis.htmlのコンテンツ

ペイロード解析

サウジアラビアのDOCX文書では、最終的に実行ファイルがダウンロードされ実行されます。この実行ファイル(SHA256:4DDA59B51D51F18C9071EB07A730AC4548E36E0D14DBF00E886FC155E705EEEF)はTurianの亜種で、約1年前にESETによって分析されました(https://www.welivesecurity.com/2021/06/10/backdoordiplomacy-upgrading-quarian-turian/)。この最新亜種は、既に分析済みのTurianサンプルと同じく、1バイトのXOR鍵(0xA9)を使用します。

図7:復号に使用されるXOR鍵0xA9

このサンプルには、感染したコンピュータがドメイン内で果たす役割を判断する機能もあります。

図8:ドメインでの役割を判断する機能

この亜種は、以前のTurianサンプルと同じヘッダーを使用してC2サーバーに接続します。

図9:接続ヘッダー

このサンプルは「tmp.bat」を作成します。これは、永続化を目的としてレジストリにRUNキーを設定するために使用されます。

図10:「tmp.bat」ファイルのコンテンツ

古いTurianサンプルと同様に、大文字と小文字の両方が使用されています。

この最新の亜種は、www[.]osendata[.] comをC2サーバーとして使用します。

この最新の亜種に似た別のTurianサンプルでは、SHA256ハッシュとして34DC42F3F486EC282C5E3A16D81A377C2F642D87994AE103742DF5ED5804D0F7が、C2サーバーとしてwww[.]tripinindian[.]comが使用されています。

減災策(回避策)

Microsoftは、2022年5月30日のブログで下記のような減災策を発表しました。

この脆弱性が実際の攻撃で活発に悪用されていることをMicrosoftが公表してから、CISAも管理者やユーザーに対して、WindowsデバイスでMSDTプロトコルを無効にするよう強く推奨しています

MSDT URLプロトコルの無効化

MSDT URLプロトコルを無効化すると、オペレーティングシステム全体のリンクも含め、トラブルシューティングツールはリンクとして起動されなくなります。Get Helpアプリケーションを使用すれば、トラブルシューティングツールは引き続き利用可能です。あるいは、システム設定で別のトラブルシューティングツールを選択することもきます。無効化の手順は次のとおりです。

  1. 管理者としてコマンドプロンプトを起動します。
  2. レジストリキーをバックアップするために、「reg export HKEY_CLASSES_ROOT\ms-msdtファイル名」コマンドを実行します。
  3. 「reg delete HKEY_CLASSES_ROOT\ms-msdt /f」コマンドを実行します。
図11:レジストリエディタのms-msdt

無効化を元に戻す方法

  1. 管理者としてコマンドプロンプトを起動します。
  2. レジストリキーを復元するために、「reg importファイル名」コマンドを実行します。

タイムライン

FortiGuard Labsが収集した情報に基づくCVE-2022-30190のタイムライン(6月2日更新)

月 / 日

イベント

2022

4月12日

APTハンティングチーム「Shadow Chaser Group」のcrazyman_army氏がMicrosoftに脆弱性を報告。報告の根拠は、ロシアに対する実際の攻撃に使用されたと見られるWord文書ファイル。

4月21日

Microsoftがセキュリティ上の問題ではないと判断。

5月27日

独立系サイバーセキュリティ研究チームのnao_secツイートを投稿。ベラルーシから送信された悪意あるMicrosoft Word文書ファイルでリモートテンプレートが悪用されており、MSProtocol URIスキーム「ms-msdt」を使ってPowerShellペイロードが実行されることを報告。

5月30日

結論

CVE-2022-30190は、悪用のしやすさ、保護ビューを回避する能力、公開されている新しいPoCコード、修正プログラムの欠如などにより、多大な影響力を及ぼす可能性があります。管理者やユーザーは、Microsoftからの更新情報を注視し、パッチがリリースされたらできるだけ速やかにそれを適用する必要があります。それまでは、可能な限り早急に減災策を実施します。

フォーティネットのソリューション

FortiGuardアンチウイルスサービスは以下のシグネチャを使用して、CVE-2022-30190に関連するファイルを検知しブロックします。

HTML/CVE_2022_30190.A!tr

MSWord/Agent.2E52!tr.dldr

MSWord/CVE20170199.A!exploit

Riskware/RemoteShell.

IPSの対象範囲については、次のシグネチャによって、MSDTコマンドが含まれるリモートHTMLファイルの取得を検知します。

MS.Office.MSHTML.Remote.Code.Execution.

FortiGuardコンテンツ無害化(CDR)サービスは、攻撃をリアルタイムで検知し、Microsoft Officeファイルの「oleobject」データを無害化することでその攻撃を阻止します。

すべての関連するURLは、FortiGuard Webフィルタリングサービスによって「悪意あるWebサイト」として特定されています。

CVE-2022-30190の悪用を防止するフォーティネットテクノロジーの詳細については、フォーティネットのアウトブレイクアラートサービスのページで「MSDT Follina」を参照してください。

これらの攻撃はユーザーの操作を必要とするため、組織は定期的にユーザーの意識向上に努め、トレーニングでソーシャルエンジニアリング攻撃の見分け方をシミュレーションすることも推奨されます。フォーティネットは、フィッシング攻撃を察知 / 検知する方法をトレーニングできる複数のソリューションを用意しています。

FortiEDRは、CVE-2022-30190の脆弱性に関連した攻撃後の活動を検知します。FortiEDRがこの問題をどのように減災するかについては、こちらのナレッジベース記事をご覧ください。

組織においては、フォーティネットが無償で提供しているNSEトレーニング:NSE 1 – 情報セキュリティ意識向上の受講をエンドユーザーに奨励することをお勧めします。このトレーニングには、インターネットの脅威に関するモジュールが含まれ、エンドユーザーはフィッシング攻撃を識別して防御する方法を学習できます。

さらに、FortiPhishフィッシングシミュレーションサービスでは、実際の攻撃をシミュレーションして、組織がフィッシングの脅威に対するユーザーの認識や警戒をテストするほか、ユーザーがフィッシング攻撃の標的にされた場合の適切な対処を学び、強化することができます。

IOC(Indicators of Compromise:侵害指標)

ファイル

710370f6142d945e142890eb427a368bfc6c5fe13a963f952fb884c38ef06bfa

fe300467c2714f4962d814a34f8ee631a51e8255b9c07106d44c6a1f1eda7a45

3db60df73a92b8b15d7885bdcc1cbcf9c740ce29c654375a5c1ce8c2b31488a1

4a24048f81afbe9fb62e7a6a49adbd1faf41f266b5f9feecdceb567aec096784

d118f2c99400e773b8cfd3e08a5bcf6ecaa6a644cb58ef8fd5b8aa6c29af4cf1

764a57c926711e448e68917e7db5caba988d3cdbc656b00cd3a6e88922c63837

8e986c906d0c6213f80d0224833913fa14bc4c15c047766a62f6329bfc0639bd

e8f0a2f79a91587f1d961d6668792e74985624d652c7b47cc87367cb1b451adf

4369f3c729d9bacffab6ec9a8f0e582b4e12b32ed020b5fe0f4c8c0c620931dc

1f245b9d3247d686937f26f7c0ae36d3c853bda97abd8b95dc0dfd4568ee470b

bf10a54348c2d448afa5d0ba5add70aaccd99506dfcf9d6cf185c0b77c14ace5

c0c5bf6fe1d3b23fc89e0f8b352bd687789b5083ca6d8ec9acce9a9e2942be1f

248296cf75065c7db51a793816d388ad589127c40fddef276e622a160727ca29

d61d70a4d4c417560652542e54486beb37edce014e34a94b8fd0020796ff1ef7

4f11f567634b81171a871c804b35c672646a0839485eca0785db71647a1807df

URL

sputnikradio[.]net
xmlformats[.]com
exchange[.]oufca[.]com[.]au
141[.]98[.]215[.]99
tibet-gov[.]web[.]app