ハッカーがEdgeUpdateとGoogleUpdaterを悪用し、情報窃取マルウェア「TimbreStealer」を展開

正規のアップデーターバイナリであるEdgeUpdate(msedgeupdate)とGoogleUpdater(goopdate)をDLLサイドローディングによって悪用し、情報窃取マルウェア「TimbreStealer」を展開する標的型キャンペーンが確認されました。

研究者のEuler Neto氏とCristóbal Tárraga氏は、この侵入活動を、DigitalOceanのIPでホストされたZIPアーカイブを配布するフィッシングの誘導手口にまで追跡しました。標的は主にメキシコの企業で、信ぴょう性を高めるために請求書関連の名称(CONTENIDO、COMPROBANTES、CFDI)が使われています。

フィッシングメッセージは、IPで直接ホストされたZIP(例: hxxps://68[.]183[.]155[.]111)へのリンクを含んでいます。アーカイブには正規に見えるアップデーターの実行ファイルが含まれており、msedgeupdate.dllまたはgoopdate.dllという名前の悪意あるDLLが同梱されています。

アナリストは、正規のアップデーターが500KB未満であるのに対し、このDLLは約45~50MBという異常に大きなサイズであること、そして27個のセクションのうち多くがゼロで埋められ、4バイトの16進数値で命名されているという通常とは異なるPE構造を指摘しています。

このマルウェアは動的に生成されたコンテンツをエントロピーゼロのセクションに格納し、実行時に実行アーティファクトを構築することで、静的検知を回避します。

悪意あるDLLは独自のAPI解決処理を実装しており、PEBやエクスポートテーブルを解析することで標準的なインポートの使用を回避しています。セクション4には2つのRC4ベースの復号ルーチン(Decrypt 01およびDecrypt 02と呼ばれる)が存在し、頻繁に利用されています。

Decrypt 01は「Zw」や「ntdll.dll」といった文字列を出力しており、直接システムコールやntdllのエクスポート関数を利用することで、インポートベースの解析をさらに回避していることがうかがえます。

256バイトの鍵生成器が、セクション3にある0x3A7C00バイトという大きなブロブを復号するための材料を用意します。復号後の出力にはPEに似たペイロードが含まれていますが、識別を妨げるため「PE」を示す署名バイトが意図的にヌル化されています。

WatchGuardがCyberpressと共有したレポートで述べたところによると、今回のキャンペーンは2024年にCisco Talosが報告した手法を踏襲しつつも、隠密性を高め解析を困難にする重要な新機軸を導入しているといいます。

エクスポート関数はランダムな名前を持ち、そのほとんどが同じコードを共有しています。マルウェアの動作はすべてDLLEntry関数上で発生します。

実行時のチェックには、ジオフェンシングと分析回避ロジックが組み込まれています。マルウェアはUI言語を確認し(ロシア語ロケールは拒否)、GetTimeZoneInformationを呼び出してUTC-5からUTC-8(メキシコ)に相当するタイムゾーンかどうかを確認するほか、デスクトップウィンドウの所有権を検証してサンドボックス環境を回避します。

条件付き実行と可変の復号鍵により、埋め込まれたペイロードを明らかにするには正確な操作手順が必要となり、リバースエンジニアリングに要する労力が増大しています。

動作を開始すると、TimbreStealerは広範なデータ窃取、特にブラウザやメールに関連するアーティファクトに焦点を当てます。ChromeとEdgeのユーザーデータパス(Beta、Dev、SxSの各バリアントを含む)、Firefoxのプロファイル、ThunderbirdおよびPostboxのメールストア、さらにOneDriveやDropboxといったクラウド同期フォルダを標的とします。

マルウェアはブラウザのSQLiteファイル(History、Urls、Visitsなど)に対してSQLクエリを発行し、収集用ファイルを生成するために一時的にデータベースを書き込み、VACUUM処理を行うほか、ファイルシステム上のディレクトリ(デスクトップ、ドキュメント、ダウンロード、AppData)からも情報を収集します。

ペイロードに含まれるアイコンは、Cisco Talosのレポートで確認された手法を反映しており、最終的なペイロードのコンポーネントを抽出・組み立てるために使用されます。違いとして、このフォーマットは「50 45 00 00」で始まっており、ASCIIに変換すると「PE」を意味します。

権限昇格の試みは日和見的で、ローダーはShellExecuteExW経由でrunasを呼び出したり、FindWindowW/SwitchToThisWindowを使ってウィンドウを操作したり、CoCreateInstanceでCOMオブジェクトをインスタンス化したりする場合があります。

カモフラージュとして、アクセス元がメキシコ発でないと判断された場合、フィッシングページが空白のPDFを表示することがあります。また別のケースでは、マルウェアがCryptGenRandomを使ってランダムな末尾バイトを付加した一時的なPDFを作成し、アーティファクトに変化を持たせています。

防御側は、このキャンペーンをメキシコを拠点とする組織にとって高リスクなものとして扱うべきです。主要な兆候としては、アップデーター名を装った異常に大きなDLL、クラウドプロバイダーのIP上でホストされCFDI関連のファイル名を持つZIP、通常とは異なるPEB/エクスポート解析の挙動、そして不審なブラウザのSQLite活動やVACUUM操作が挙げられます。

翻訳元: https://cyberpress.org/timbrestealer-infostealer-attack/

ソース: cyberpress.org