クラウドコンピューティングが必要ですか? 今すぐ始める

Windows Theme での NTLM 認証情報漏えい

Tomer Peled

執筆者

Tomer Peled

March 06, 2024

Tomer Peled

執筆者

Tomer Peled

Tomer Peled は Akamai の Security Researcher を務めています。脆弱性から OS 内部まで、幅広く調査を行うことが彼の業務です。休暇には、料理、クラヴ・マガ、PC ゲームなどを楽しんでいます。

Akamai のセキュリティリサーチャーである Tomer Peled が、Microsoft Theme でなりすましの脆弱性を発見しました。この脆弱性は CVE-2024-21320 と指定され、6.5 の CVSS スコアが付けられました。
Akamai のセキュリティリサーチャーである Tomer Peled が、Microsoft Theme でなりすましの脆弱性を発見しました。この脆弱性は CVE-2024-21320 と指定され、6.5 の CVSS スコアが付けられました。

編集・協力:Tricia Howard

エグゼクティブサマリー

  • Akamai Security リサーチャー Tomer Peled が Microsoft Theme でなりすましの脆弱性を発見しました。この脆弱性は CVE-2024-21320 と指定され、6.5 の CVSS スコアが付けられました。

  • この脆弱性により強制認証がトリガーされるおそれがあります。強制認証とは、認証情報(SMB では NTLM ハッシュの形式が一般的)を攻撃者の機器に強制的に送信する攻撃です。その後、オフラインで認証情報がクラッキングされるおそれがあります。

  • 攻撃者がこの脆弱性を悪用するためには、攻撃対象者が Theme ファイルを PC にダウンロードする必要があります。ユーザーが Explorer でファイルを表示したときにブラウザーが Server Message Block(SMB)の SSL ハンドシェイクパケットを攻撃者のサーバーに自動送信することで、認証情報が送信されることになります。

  • Theme は Windows のオペレーティングシステムに内蔵されている機能であるため、Windows のすべてのバージョンが影響を受けます。 

  • Microsoft は 2024 年 1 月の Patch Tuesdayで、この脆弱性を修復しました。

  • 弊社は 概念実証 (PoC)の Theme ファイルと PoC 動画を提供し、この脆弱性を緩和する方法をいくつか紹介します。

はじめに

Windows XP 時代以来、Microsoft では色、フォント、カーソルなど、革新的なプレビズのパーソナライズオプションを提供してきました。パーソナライズの操作は簡単です。インストール済みの Theme を表示するためには、デスクトップ上で右クリックし、[パーソナライズ]を選択し、[Themes]をクリックするだけです。Theme ファイルは末尾が .theme になっています。作成方法は こちら から MSDN の概要をご覧ください。

この無害に見えるものが悪質な脆弱性をもたらすおそれがあります。2023 年 9 月 の Patch Tuesday については、当社で 分析 を行い、Theme の脆弱性( CVE-2023-38146)の影響について簡単に説明しました。脆弱性を分析する一方で、Theme ファイルの値を用いて「いろいろ試して」みたところ、特定のパラメーターで検証が欠如していることがわかりました。

これを悪用すると、ユーザーインタラクション無しで効果的に攻撃を実施することができます。つまり、ユーザーが悪性の Theme ファイルをダウンロードするだけでよいという状態です。 ユーザーが Explorer でファイルを表示すると、悪用が始まります。

この脆弱性に関する必要情報は、緩和や PoC と併せて文書化されています。ぜひご一読ください。

仕組み

Theme ファイルの形式は複数のパラメーターブロックで構成されています。今回は、 [theme] ブロック内の BrandImage パラメーター(図 1)と [Control Panel\Desktop] ブロック内の Wallpaper パラメーター(図 2)について説明します。

 今回は、[theme]ブロックの BrandImage パラメーター(図 1)と[Control Panel\Desktop]ブロックの Wallpaper パラメーター(図 2)について説明します。 図 1:Theme ファイルの BrandImage パラメーター
 今回は、[theme]ブロックの BrandImage パラメーター(図 1)と[Control Panel\Desktop]ブロックの Wallpaper パラメーター(図 2)について説明します。 図 2:Theme ファイルの Wallpaper パラメーター

Windows の各ファイルには関数に対応したサムネイルがあります。サムネイルは、製品ロゴから用途の表現(「Calculator として」など)まで、あらゆるものに対応できます。Theme ファイルのサムネイルは、壁紙(黒い四角形)、MSstyle ファイル(紫の四角形)、ブランドイメージ( Infection Monkey 画像)の 3 つで構成されています(図 3)。

Theme ファイルのサムネイルは、壁紙(黒い四角形)、MSstyle ファイル(茶色の四角形)、ブランドイメージ(Infection Monkey 画像)の 3 つで構成されています(図 3)。 図 3:3 つのコンポーネントからなる Theme ファイルのサムネイル

これらのコンポーネントは、3 つの異なるパラメーター(BrandImage、Wallpaper、VisualStyle)で Theme ファイル内に記述されます。 これらはすべて UNC エンドポイント向けのリモートパスになります。

悪用される仕組み

Theme ファイルが作成または表示されると、Windows がファイル内の 3 つのコンポーネントを使用して適切なサムネイルを作成しようとします。このサムネイル作成プロセスが Explorer のプロセスで 自動的に 行われることになります。図 4 は Theme ファイルのサムネイル作成に関するコードフローになります。

図 4 は Theme ファイルのサムネイル作成に関するコードフローになります。 図 4:Theme のサムネイル作成に関するコードフロー

これらのアクションが自動的に行われるため、攻撃者にとっては結果を操作する方法を見つけられる絶好のチャンスとなります。結果を操作する方法として、たとえば UNC パス向けの 3 つの各パラメーター値を変えて、攻撃対象者の PC で認証が試行されるのを待つことができます。

画像のパスは、UNC パスなど、あらゆる正規パスになることがわかりました。「BrandImage」または「Wallpaper」の値が変更されたことにより、攻撃対象者の機器からの接続が強制認証の攻撃に晒されました。つまり、リモートサーバーへの接続の一環でクライアントが SMB ネゴシエーションを行う際に NTLM 認証情報が送信されることになります。

NTLM 情報漏洩の影響

攻撃者は、攻撃対象者の NTLM 認証情報を使用して NTLM リレー攻撃を行います。この攻撃では、NTLM をアクセス認証情報として受け入れるシステムを攻撃します。NTLM ハッシュをリレーすることで、攻撃者は正規ユーザーとして認証され、本来アクセスできないシステムにアクセスできるようになります。

さらに、NTLM 認証情報をデータとして John the Ripper などのパスワード解析アプリケーションに提供し、ブルートフォースで攻撃対象者のパスワードを試行したりクラッキングしたりすることもできます。

これによる大打撃の一例としては、悪名高い Outlook 脆弱性が挙げられます。2023 年 3 月に Microsoft で明らかになった脆弱性です。類似の影響が確認され、現在も搾取が活発に続いていることから、この攻撃ベクトルは未だに攻撃者の間で価値があり、利益の出やすいものと考えられていると言えます。

この 3 月の脆弱性により、攻撃者は攻撃対象者にメールを送り、音声ファイルのダウンロードをトリガーすることができるようになりました。この音声ファイルへのパスは、(UNC パスで)リモートサーバーなど、あらゆる場所へ向けることができます。Akamai の研究者である Ben Barnea は、この脆弱性について記事で大きく取り上げ、どのようにしてこのパッチへの 複数の バイパス を発見したかを紹介しました。

何がパッチされたのか

これらのパッチでは、Microsoft により関数の呼び出しとレジストリ値が追加されました。この関数は入力が UNC パス(「PathIsUNC」)であるかどうかをチェックするものです。そして、Theme ファイルの使用において UNC パスが許可されているかどうかのチェックが行われました(図 6)。パスが UNC パスで、UNC パスが許可されていない場合、サムネイルはロードされません。許可されている場合、BrandImage および Wallpaper でサムネイルが作成されます。

値「DisableThumbnailOnNetworkFolder」は、以下のレジストリの場所で確認できます:「HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation」。値はthemeui.dllライブラリに新たに追加された関数「 IsUNCPathAllowedForThumbnailImage()」でチェックされます。

これらのパッチでは、Microsoft により関数の呼び出しとレジストリ値が追加されました。この関数は入力が UNC パス(「PathIsUNC」)であるかどうかをチェックするものです。そして、Theme ファイルの使用において UNC パスが許可されているかどうかのチェックが行われました(図 6)。 図 6:新たな UNC チェックに関するコードフロー

この脆弱性について、Microsoft の FAQ セクション では次のように回答しています:「... 特別に作成されたファイルの処理要求があったからと言って、悪性ファイルをクリックしたり開いたりしないようにしてください」。当社の調査によると、これは誤っていると思われます。 説明したとおり、ファイルのコンテンツを変更することは要求されません。表示しただけで認証情報の送信がトリガーされるのです。

緩和

Windows 11 では、グループポリシーを使用することで、リモート機器による SMB での NTLM 認証使用をブロックすることが可能です。これを行うには、管理者が管理用テンプレート > Network > Lanman Workstation > Block NTLM を 編集 する必要があります。

Microsoft では、「Restrict NTLM」という名前の別のポリシーを使用することが提言されていました。これにより、この脆弱性を緩和することができることでしょう。ポリシーをアクティベートするためには Microsoft のマニュアルを確認してください。

マイクロセグメンテーションを使用すると、ネットワーク管理者はネットワーク外のリモートロケーションへの SMB トラフィックをブロックすることができます。SMB はドメインコントローラーやファイルサーバーで使用されることがほとんどであるため、一般的にこのような接続はありません。SMB トラフィックのセグメント化に関する詳細は マイクロセグメンテーションに関するブログ で包括的に解説していますのでご覧ください。

結論

強制認証は広く知られている攻撃で、 ラテラルムーブメント(横方向の移動)Credential Stuffingを行う攻撃者の間で大々的に用いられています。たとえば、数年前、 Dragonfly と呼ばれるグループが、改造された LNK ファイルを用いて SMB の認証情報を取得したことがありました。Theme ファイルでこのような攻撃をトリガーするのは、驚くべき新たな攻撃ベクトルです。

無害に見える攻撃ファイルを攻撃者が簡単に送信できるようになってきていることから、 フィッシング対策プロトコル の重要性が浮き彫りになっています。

ありがたいことに、Microsoft では関連のグループポリシーでこの攻撃ベクトルを緩和できるよう試行しています。ユーザーは、最新の セキュリティパッチでエンドポイントをアップデートしておくことが大切です。

開示のタイムライン

  • 2023/09/20 — Microsoft セキュリティレスポンスセンター(MSRC)で脆弱性が明らかに

  • 2023/10/01 — MSRC に寄せられる情報が増加

  • 2023/10/18 — MSRC、パッチ処理が必要なことを認める

  • 2024/01/09 — Microsoft、当該の脆弱性に向けパッチをリリース

  • 2024/03/06 — Akamai、ブログ記事公開



Tomer Peled

執筆者

Tomer Peled

March 06, 2024

Tomer Peled

執筆者

Tomer Peled

Tomer Peled は Akamai の Security Researcher を務めています。脆弱性から OS 内部まで、幅広く調査を行うことが彼の業務です。休暇には、料理、クラヴ・マガ、PC ゲームなどを楽しんでいます。