エクスプロイト&脆弱性
攻撃グループVoid Banshee、ゾンビ化したInternet Explorerの脆弱性「CVE-2024-38112」を悪用してWindowsユーザにゼロデイ攻撃を仕掛ける
トレンドマイクロは新たな脆弱性「CVE-2024-38112」の悪用を確認しました。この脆弱性は、標的型サイバー攻撃(APT)グループ「Void Banshee」によってゼロデイ攻撃に利用されていました。攻撃者は、すでに無効化されているはずのInternet Explorerを標的とし、MSHTMLを介してこの脆弱性を悪用することで、対象のファイルへのアクセスや実行を可能にしていました。
- 今年5月、Trend MicroのZero Day Initiative(ZDI)に所属するスレットハンティングチームが、APTグループ「Void Banshee」による最新の攻撃キャンペーン「Atlantida Stealer」で悪用されていた脆弱性を確認しました。トレンドマイクロでは、これをゼロデイ脆弱性と判断し、直ちにMicrosoft社へ報告しました。
- この脆弱性「CVE-2024-38112(ZDI-CAN-24433)」は、すでに無効化されているはずのInternet Explorerに対してMSHTMLを介して操作し、ファイルへのアクセスと実行を可能にするゼロデイ攻撃に利用されていました。
- Void Bansheeの攻撃プロセスにおいて、CVE-2024-38112は、被害者の端末に対して情報窃取型マルウェア「Atlantida」に感染させるために使用されています。このマルウェアは、システム情報や様々なアプリケーションから機密データ(パスワードやクッキーなど)を盗み出すことを目的としています。
- Void Bansheeは、書籍のPDFファイルを装った不正なファイルをZIPアーカイブに隠して被害者を誘い込みます。これらのファイルは、クラウドストレージサービスやDiscordサーバ、オンライン図書館などを通じて拡散されています。Void Bansheeの攻撃は主に北米、欧州、東南アジアを標的としています。
- このゼロデイ攻撃は、サポートが終了したWindowsの古い機能が、依然として攻撃者に狙われる可能性がある見過ごされがちな脆弱性となることを示す典型的な例です。こうした脆弱性は、ランサムウェアやバックドア、その他のマルウェアを侵入させる経路として悪用される恐れがあります。
- この事例に関する詳細情報については、ZDIのブログ記事「Uncoordinated Vulnerability Disclosure: The Continuing Issues with CVD」(英語)もご参照ください。
トレンドマイクロの Zero Day Initiative (ZDI)は、MHTMLを利用したリモートコード実行関連の脆弱性「CVE-2024-38112」を確認しました。この脆弱性が実際に悪用されていることを確認後、直ちに「ZDI-CAN-24433」として採番した上でMicrosoft社に報告しました。CVE-2024-38112は、標的型サイバー攻撃(APT)グループ「Void Banshee」の攻撃チェーンで使用されていました。このグループは北米、欧州、東南アジア地域を標的に、情報窃取と金銭的利益を目的として活動しています。この攻撃チェーンの最終段階で使用されるのは「Atlantida」と呼ばれる情報窃取型マルウェアで、これは2024年1月に初めて発見されました。Atlantidaを使用した攻撃キャンペーンは2024年を通じて活発に行われ、Void Bansheeの感染チェーンの一部としてCVE-2024-38112を組み込むまでに巧妙化しています。
2024年5月中旬、トレンドマイクロは社内外のデータを活用して、攻撃グループVoid Bansheeによる最初のキャンペーンを追跡しました。Void Bansheeは、インターネットショートカット(.URL)ファイルやMicrosoftのプロトコルハンドラー、URIスキームを悪用する手法を用いています。特に注目すべきは、Windowsで無効化されているはずのInternet ExplorerにアクセスできるMHTML(複数のHTML文書を一つにまとめるMIME形式)プロトコルの悪用でした。
図1に示す攻撃フローのとおり、攻撃者は脆弱性「CVE-2024-38112」を利用して、MHTMLプロトコルハンドラーとx-usc命令をインターネットショートカット(URL)ファイルを通じて悪用し、不正なコードを実行しました。この手法により、攻撃者はWindows上で無効化されているはずのInternet Explorerを通じて直接ファイルにアクセスし、実行することができました。このMHTMLの脆弱性は、個人ユーザや組織のシステムをマルウェアAtlantidaに感染させるために使用されました。
トレンドマイクロでは、本稿の最後に記載しているセキュリティソリューションにより、脆弱性「CVE-2024-38112」を悪用する脅威からユーザを保護しています。
攻撃経路として悪用されるInternet Explorer
Internet Explorer(IE)は2022年6月15日に正式にサポートが終了しました。さらに、Windows 10の後期バージョンやWindows 11のすべてのバージョンでは、IEは正式に無効化されています。しかし、「無効化」されたからといって、システムから完全に削除されたわけではありません。現代のWindowsシステムにはIEの名残が残っており、一般ユーザからは見えないようになっているだけです(図2参照)。
ユーザがIEの実行ファイル(iexplore.exe)を起動しようとすると、代わりにMicrosoft Edgeが開きます。IEを使用する必要がある場合に備えて、Microsoft社はMicrosoft EdgeにIEモードを用意しています(図3参照)。このIEモードにはIE特有の機能の一部が含まれていますが、Microsoft Edgeのサンドボックス内で動作するため、理論上はユーザにとってより安全な環境となっています。
今回の攻撃において、ZDIのスレットハンティングチームはこの脆弱性「CVE-2024-38112」を悪用する検体を発見・解析し、Microsoft社に報告しました。これらの検体では、MSHTMLを介して脆弱性「CVE-2024-38112」を悪用し、無効化されたはずのIEプロセスを通じてファイルやウェブサイトが実行されました。攻撃グループ「Void Banshee」は、MHTMLプロトコルハンドラーとx-usc!ディレクティブを含む特殊なURLファイルを使用することで、無効化されたIEプロセスを通じて直接HTMLアプリケーション(HTA)ファイルにアクセスし実行することができました。この攻撃手法は、以前にゼロデイ攻撃で使用されたMSHTMLの脆弱性「CVE-2021-40444」と似ています。無効化されたIEプロセスを経由してサイトやスクリプトにアクセスするこの方法は特に危険であるといえます。IEは以前から攻撃の標的になりやすかったにもかかわらず、現在では更新やセキュリティ修正が行われていないからです。
この脆弱性は2024年7月のセキュリティ更新プログラム(パッチチューズデー)で修正されました。この更新により、Microsoft社はInternet ExplorerからMHTMLハンドラーの登録を解除しました(図4参照)。
これにより、インターネットショートカットファイル内でMHTMLが使用できなくなり、この種の攻撃を防ぐことができるようになりました。
技術的分析
T1566.002: スピアフィッシングリンク
攻撃グループ「Void Banshee」は、PDF形式の書籍ファイルと、PDFに偽装した不正なファイルをZIPアーカイブに組み込んで攻撃に使用しました。これらは、スピアフィッシングリンク(T1566.002)の手口として、オンライン図書館、クラウドストレージサービス、Discord、そして多数の乗っ取られたウェブサイトで配布されました。
Void Bansheeの攻撃キャンペーンの分析中に発見したPDFの罠の中には、『Clinical Anatomy(臨床解剖学)』などの教科書や参考資料が含まれていました。これは、この攻撃キャンペーンが参考資料を頻繁に利用する高度な専門家や学生、そしてデジタル書籍が集まる場所を狙っていることを示唆しています(図5参照)。脆弱性「CVE-2024-38112」を悪用する際、Void Bansheeは、インターネットショートカットファイルのアイコンをPDFファイルのものに変更し、被害者がそれを開きたくなるよう仕掛けました。
ステージ1: 不正なインターネットショートカット(URL)ファイル
このゼロデイ攻撃は、脆弱性「CVE-2024-38112」の悪用が仕組まれたURLショートカットファイルを被害者が開くことから始まります。トレンドマイクロが確認した検体の1つ「Books_A0UJKO.pdf.url」は、一見すると書籍のPDFファイルのように作られています(図6参照)。このURLショートカットは、MHTMLプロトコルハンドラーとx-usc!ディレクティブを、インターネットショートカットのURLパラメータ内で巧妙に使用しています。この手法は、以前に確認されたMicrosoft Officeのリモートコード実行の脆弱性「CVE-2021-40444」の悪用方法と似ており、Windowsのプロトコルハンドラーが依然として攻撃に悪用されていることを示しています。
この攻撃では、CVE-2024-38112がゼロデイ脆弱性として悪用されています。システム上で無効化されているはずのInternet Explorerを起動し、不正なHTML Application(HTA)が仕掛けられた侵害済みのウェブサイトへ誘導します(図7参照)。
インターネットショートカットファイルのURLパラメータを見ると、Void BansheeがMHTMLプロトコルハンドラーとx-usc!ディレクティブを組み合わせて、この特殊なURL文字列を作り上げたことがわかります。この巧妙な文字列によって、プロセス「iexplore.exe」を通じて、本来は使用不可能なはずのInternet ExplorerでURLが開かれてしまいます。
ステージ2: HTMLファイルによるダウンロード
先述のとおり、CVE-2024-38112を悪用するインターネットショートカットファイルは、攻撃者が管理するドメインを指しています。このドメインには、感染フローの次の段階であるHTAファイルをダウンロードするためのHTMLファイルが置かれています(図8参照)。このHTMLファイルには、Internet Explorerのウィンドウサイズを制御する機能も組み込まれています。攻撃者はこれを利用して、ブラウザの情報を隠し、次の段階のファイルがダウンロードされていることを被害者に気づかれないようにしています。攻撃グループVoid Bansheeは、Internet Explorerのウィンドウサイズを巧妙に操作するため、このHTMLファイルを特別に作り込んでいます。
このURLにInternet Explorerでアクセスすると、不正なHTAファイルを開こうとし、HTMLアプリケーションを開くか保存するかの選択を求めるプロンプトが表示されます(図9参照)。これはInternet Explorer特有の動作で、HTAファイルがデフォルトで開かれてしまいます。一方、Microsoft EdgeやChromeなどの最新のブラウザでは、このような動作は起こりません。
攻撃者は不正なHTAファイル「Books_A0UJKO.pdf.hta」の拡張子の前に26文字分の空白を入れ、拡張子が画面外に押し出されるようにしています(図10参照)。ファイル名の後ろに省略記号(...)が表示され、追加の情報があることを示していますが、これをクリックしたり展開したりすることはできません。そのため、注意深くない被害者には、これが普通のPDFファイルのように見えてしまいます。
ステージ3: HTAファイルとVBSダウンローダ
このHTAファイルには、Visual Basic Script(VBScript)が仕込まれています。このスクリプトは、キー4を使ってXOR暗号化されたコンテンツを復号し、PowerShellを使ってそのコンテンツを実行します(図11参照)。具体的には、PowerShellを使って乗っ取られたウェブサーバから追加のスクリプトをダウンロードし、PowerShellのirm(Invoke-RestMethod)とiex(Invoke-Expression)というエイリアスコマンドを使って実行します。最後に、Win32_Process WMIクラスを使ってダウンロードしたスクリプトの新しいプロセスを起動します。
ステージ4: PowerShellトロイの木馬ダウンローダ
このスクリプトは、まず2つの重要な関数をインポートします:
- kernel32.dllからGetConsoleWindow:このプロセスのコンソールウィンドウのハンドルを取得します。
- user32.dllから"ShowWindow":指定されたウィンドウの表示・非表示を切り替えます。
次に、Add-Type cmdletを使って、$crop213で定義された型を現在のPowerShellセッションに追加します。これはcrumble542543という名前空間のculture6546という名称で登録されます。
そして、GetConsoleWindowメソッドでコンソールウィンドウのハンドルを取得し、$danger5646に保存します。ShowWindowをこのハンドルとパラメータ0で呼び出し、コンソールウィンドウを隠します。これは、マルウェアがユーザに気づかれずに動作するためによく使う手法です。
このスクリプトはまず、System.Net.WebClientという新しいオブジェクトを作ります。これを使って、不正なサーバからデータをダウンロードします。次に、ダウンロードしたデータを System.Reflection.AssemblyのLoadというメソッドで.NETアセンブリとして読み込みます。最後に、このダウンロードしたアセンブリの開始点を呼び出します。こうすることで、ダウンロードしたコードを実際に動かすことができるのです。
ステージ5: .NETトロイの木馬ローダ
復号したペイロードは、以下のプログラムに注入されます。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe
この注入過程は、以下の一般的な手順を踏んでいます:
- プロセス作成: Windows APIのCreateProcessを使ってRegAsm.exeを起動しますが、すぐに実行せずに一時停止状態にします。
- メモリ確保: VirtualAllocEx APIを使って、RegAsm.exeのプロセス内に新たなメモリ領域を確保します。
- ペイロード書き込み: WriteProcessMemory APIを使って、復号したペイロードを確保したメモリ領域に書き込みます。
- ペイロード実行: 最後に、CreateRemoteThread APIでRegAsm.exe内に新しいスレッドを作り、注入したペイロードを実行します。
LoadToBadXmlは、オープンソースのDonut LoaderプロジェクトのProgram.csにあるシェルコードインジェクターを改造したものです(図14参照)。
ステージ6: Donutローダ
ステージ7: 情報窃取型マルウェアAtlantidaの解析
この攻撃の最終段階で使用されるのは、Atlantidaと呼ばれる高機能な情報窃取型マルウェアです。このマルウェアは、NecroStealerとPredatorTheStealerというオープンソースの情報窃取ツールをベースに作られており、これらのプログラムの機能や構造の多くを取り入れています。Telegram、Steam、FileZilla、各種の暗号通貨ウォレット、ウェブブラウザなど、様々なアプリケーションから機密情報を狙います。主な標的は、パスワードやクッキーといった保存済みの機密データや価値のありそうな情報で、感染端末のデスクトップから特定の拡張子を持つファイルも収集します。さらに、被害者の画面を撮影し、システムの詳細情報も集めます。盗んだデータはZIPファイルにまとめられ、TCPを使って攻撃者に送信されます。
マルウェアが実行されると、まずZIPファイルを準備し、必要な設定を行い、ファイルをアーカイブに追加する処理を始めます。次に、「APPDATA」と「DESKTOP」のパスを取得し、グローバル変数に保存します。この変数は、Windows APIの以下をCSIDL値「0x1A」と「0x00」で呼び出し、これらの場所にアクセスするために使われます。
SHGetFolderPathA
その後、画面のスクリーンショットを撮影し、「screenshot.jpeg」として保存してZIPに追加します。この圧縮方法は、Necro StealerとPredatorTheStealer用のzip.cppで使われているものと似ています。
感染端末の位置情報(IPアドレス、国、郵便番号など)を取得するために、マルウェアは一般的なサービスを使わず、6666番ポートを通じて独自のコマンド&コントロール(C&C)サーバーに接続しサーバ5は、C&Cサーバからの応答例を示しています:
その後、マルウェアはこの情報を「Geo Information.txt」というファイルに保存し、ZIPアーカイブに追加します(図16参照)。
次に、このマルウェアはRAM、GPU、CPU、画面解像度などのシステム情報を集め始め、「User Information.txt」に保存します。そして、このファイルをメモリ上に作られたZIPアーカイブに追加します(図17参照)。さらに、マルウェアは様々なアプリケーションからパスワードや機密ファイルを収集します。例えばFileZillaの場合、以下にあるXMLファイルを探します。
C:\Users<ユーザ>\AppData\Roaming\FileZilla\recentservers.xml
このファイルには最近接続したサーバ情報が記録されており、通常、サーバの名前、ポート番号、ユーザ名、接続方法などのデータが含まれています。その他にも、このマルウェアは以下のデータを狙います:
- 感染端末のデスクトップにある全ての「.txt」ファイル
- C:\Users\ユーザ名\AppData\Roaming\Binance以下の全てのJSONファイル
- C:\Users\ユーザ名\AppData\Roaming\Telegram Desktop以下のTelegramデータ
- Steamの設定情報
- Google Chromeブラウザのデータ
- Mozilla FirefoxとMicrosoft Edgeのクッキーとパスワード
情報窃取型マルウェアのAtlantidaは、暗号資産関連のGoogle ChromeとMicrosoft Edge拡張機能からも情報を盗み出すことができます。各拡張機能には「Extension ID」という識別子があり、このマルウェアは、これらの情報を使って保存されているデータを探し出します。
拡張機能のデータは以下の場所に保存されています:
C:\Users<端末のユーザ名>\AppData\Local\Google\Chrome\UserData\Default\LocalExtensionSettings<ExtensionID>
利用される拡張機能およびExtension IDはこちらをご参照ください。
このマルウェアは集めたすべての情報をZIPファイルにまとめて圧縮し、攻撃者のコマンド&コントロール(C&C)サーバにTCPポート6655を使って送信します。
結論
今回の標的型サイバー攻撃(APT)キャンペーンから判明したことは、ユーザがInternet Explorer(IE)を直接使用できなくなった後も、攻撃者にとってはまだ有効な侵入経路となっているという点です。WindowsにはIEの一部機能や要素が残存しており、攻撃者はこれを悪用してセキュリティ対策をすり抜けることができます。そして、この手法を使ってランサムウェアやバックドアを仕掛けたり、他の種類のマルウェアを実行したりすることが可能です。つまり、表面上は無効化されたIEが、実際には新たな脆弱性となり、攻撃者に侵入や不正活動の足がかりを提供してしまっているのです。Void BansheeのようなAPT攻撃グループが、IEのような無効化されたサービスを悪用できることは、世界中の企業や組織にとって大きな脅威となります。IEのようなサービスは攻撃の対象になりやすく、もはや更新プログラムも提供されないため、Windowsユーザにとって深刻なセキュリティ上の懸念事項となっています。さらに、攻撃者がサポート終了で無効化されたシステムサービスにアクセスし、Microsoft EdgeのIEモードのような最新のウェブ保護機能を回避できることは、業界全体にとって深刻な問題です。
ソフトウェアをより安全にし、ゼロデイ攻撃からお客様を守るため、トレンドマイクロのZDIは、セキュリティリサーチャーやベンダーと協力して、APTグループが攻撃に使用する前にソフトウェアの脆弱性を修正し、責任を持って公開しています。ZDIのスレットハンティングチームも、業界を守るためにゼロデイ攻撃を積極的に探しています。ZDIプログラムは世界最大のベンダー中立のバグ報奨金プログラムであり、ベンダーへの脆弱性報告率は他の2.5倍です。
企業や組織はこのような攻撃から身を守るため、Trend Vision Oneを活用できます。これにより、セキュリティチームは既知・未知、管理・未管理を問わず、サイバー資産を含む攻撃対象領域を常に把握できます。Vision Oneは、企業や組織が潜在的リスク(脆弱性を含む)の優先順位付けと対処を支援します。起こりうる攻撃の可能性と影響など重要な要素を考慮し、様々な予防、検出、対応機能を提供します。これらは全て、高度なスレットリサーチ、情報分析、AI活用に支えられており、問題の検出、対応、修正にかかる時間を短縮します。結果として、Vision Oneは、ゼロデイ攻撃への対応を含め、企業や組織の全体的なセキュリティ対策と効果を向上させることができます。
不審な侵入、動作、挙動に気づいた場合、企業や組織はシステムが既に侵害されているという前提で、影響を受けたデータやツール群を直ちに隔離する作業を行うべきです。広い視野と迅速な対応により、企業や組織は、セキュリティ侵害に対処し、残りのシステムを守ることができます。特にTrend Micro Endpoint SecurityやTrend Micro Network Security、さらにはTrend Micro™ XDRといった包括的なセキュリティソリューションを使うことで、現代の脅威環境全体にわたる悪意のあるコンテンツを見つけ出し、検査し、ブロックすることができます。
トレンドマイクロの対策
以下のソリューションにより、ゼロデイ脆弱性「CVE-2024-38112(ZDI-CAN-24433)」およびマルウェアAtlantidaによる情報送出を阻止してトレンドマイクロの顧客を保護します。
Trend Vision One検出モデル
- Microsoft Windows Remote Code Execution Vulnerability (ZDI-CAN-24433)
- Svchost Executes Iexplorer
ネットワーク対策(Trend Micro Cloud One - Network Security & TippingPoint Filters)
- 44417 - ZDI-CAN-24433: Zero Day Initiative Vulnerability (Microsoft Windows)
- 44453 - Trojan.Win32.AtlantidaStealer.A Runtime Detection (Geo Information)
- 44454 - Trojan.Win32.AtlantidaStealer.A Runtime Detection (Exfil Data)
エンドポイント対策(Trend Vision One Endpoint Security, Trend Cloud One - Workload and Endpoint Security, Deep Security and Vulnerability Protection IPS Rules)
- 1012075 - Microsoft Windows Remote Code Execution Vulnerability Over SMB (ZDI-CAN-24433)
- 1012074 - Microsoft Windows Remote Code Execution Vulnerability (ZDI-CAN-24433)
MITRE ATT&CK techniques
詳細はこちらをご覧ください。
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)について、こちらで確認してください。
参考記事:
CVE-2024-38112: Void Banshee Targets Windows Users Through Zombie Internet Explorer in Zero-Day Attacks
By: Peter Girnus, Aliakbar Zahravi
翻訳:与那城 務(Core Technology Marketing, Trend Micro™ Research)