Projextorキャンペーンの背後にいる脅威アクターは、Electronベースの生産性向上アプリケーションを悪用し、完全に機能するドキュメント変換ツール、献立プランナー、レシピツール、PDFユーティリティの裏にマルウェアのような機能を隠しています。
これらのアプリケーションは謳い文句どおりの機能を提供する一方で、共有されたコードベースによってランタイムでのJavaScript実行やデスクトップキャプチャ機能へのアクセスも可能になっており、深刻な監視・侵害後リスクをもたらしています。
検索エンジン最適化されたウェブサイトと巧妙に作り込まれたダウンロードページは、特にPDF変換やドキュメント編集といった一般的な機能を謳う場合、不正なアプリケーションを正規のものに見せかけることができます。
同様の手口はTamperedChefキャンペーンでも確認されており、悪意あるPDF編集ソフトウェアが不正なウェブサイトを通じて宣伝され、おとりのインターフェースの裏でバックドアとして動作していました。
研究者らは、Kitchen Canvas、Food or Meal Formula、DocConvertWizardをはじめとする複数のPDF変換ユーティリティなど、関連するElectronアプリケーション群を特定しました。
名称や謳っている用途は異なるものの、これらのサンプルはmain.jsやpreload.jsを含むElectronフレームワークのコンポーネントがほぼ同一であり、共通の開発フレームワークないしキャンペーン用インフラに由来する可能性が高いことを示しています。
Projextorは、ドキュメント変換、レシピ管理、献立プランニングのアプリケーションを謳うウェブサイトを通じて配布されています。
確認されたドメインの一つdoceditorinc[.]comは、正規のオンラインドキュメント処理サービスdoceditor[.]inになりすますよう作られているとみられます。
このような類似インフラは、検索エンジンでの露出と組み合わさることで特に効果を発揮します。被害者が日常的なソフトウェアユーティリティを探して検索した結果、そのままアプリケーションをダウンロードしてしまう可能性があるためです。
第一段階のインストーラーは形式が様々で、NSIS、Squirrel Installer、Inno Setupを使ってパッケージ化されたサンプルが確認されています。パッケージ形式に関わらず、それぞれが第二段階のElectronアプリケーションをダウンロードする役割を担っています。
ダウンロードされるElectronパッケージには、アプリケーションの特権的な挙動を司る主要コンポーネントであるmain.jsとpreload.jsが含まれていました。
ElectronはChromiumとNode.jsを組み合わせたもので、HTML、CSS、JavaScriptで構築されたアプリケーションがネイティブなデスクトップリソースにアクセスできるようになっています。

G Dataの研究者らによると、このキャンペーンは攻撃者が無料の生産性向上ソフトウェアに対するユーザーの信頼を悪用するという、拡大しつつある手口を反映しているとのことです。preloadスクリプトの仕組みは本来、ブラウザのレンダラーコンテンツと特権的なNode.js機能とを選択的に橋渡しするためのものです。
Projextorの感染手法
Electronはこのブリッジを分離することを推奨しています。コンテキスト分離を行うことで、読み込まれたウェブコンテンツがElectronの内部機構や特権APIに直接アクセスすることを防げるためです。
ところがProjextorのコードは、あえて contextIsolation: false を使用しています。これは注目すべき危険信号です。コンテキスト分離はElectron 12以降デフォルトで有効になっており、ウェブコンテンツを読み込むアプリケーションにとって中核的なセキュリティ上の推奨事項となっているからです。
セキュリティ製品とサービス

この機能を無効化すると、レンダラー側のコンテンツがpreloadレイヤーによって公開されたAPIと直接やり取りできるようになり、侵害されたコンテンツや攻撃者が制御するウェブコンテンツによる影響範囲が大幅に拡大してしまいます。
このアプリケーションはさらに、disableOldBuildWarningによって旧バージョン向けの警告を抑制しており、ユーザーが古く安全性の低い可能性があるElectronバージョンを使用していることに気づかないようにしているとみられます。
さらに重要な点として、preloadレイヤーは専用のインジェクションディレクトリからJavaScriptモジュールを探し出して実行できる仕組みを備えています。
これにより、インストール後に主要なアプリケーション本体を差し替えることなく、運営者が新たな機能を追加できるモジュール式の実行機構が成立しています。
Projextorはこれに加えて、利用可能なデスクトップやアプリケーションウィンドウを列挙し、サムネイルを表示したうえで、Electronのプロセス間通信(IPC)を通じてキャプチャ対象を選択する独自の画面共有ピッカーも実装しています。
つまり、これらのアプリケーションは単純な偽ユーティリティではありません。PDF変換ツールや献立プランニングツールにユーザーが常識的に期待する範囲をはるかに超える挙動を可能にする、アーキテクチャ上の設計選択が組み込まれた、実際に機能するプログラムなのです。
ElectronのdesktopCapturer APIは本来、ブラウザのメディアAPIを通じてキャプチャ用のデスクトップメディアソースを取得するための正規機能です。
しかし今回のケースでは、デスクトップの列挙機能と動的なスクリプト実行が組み合わさることで、このアプリケーションのリスクは大幅に高まっています。
運営者は、被害者の画面上に表示された機密文書、認証プロンプト、ブラウザセッション、メールの内容、財務記録、あるいはコラボレーションプラットフォーム上の活動などを取得できる可能性があります。
組織は、確認されたインフラをブロックするとともに、提供されているハッシュ値を用いた探索を行い、コンテキスト分離を無効化していたり、リモートまたは注入されたJavaScriptを読み込んでいたり、明確な業務上の理由なくデスクトップキャプチャ機能を公開していたりするpreloadスクリプトを持つElectronアプリケーションを点検すべきです。
IOC(侵害指標)
| ハッシュ値 | G DATAによる検出名 |
| A799417BD79060D63E93682F339FBE2868DE3881F9C5865D9B583F5B715C70A9 FlipFormat_610220.exe |
Win32.Malware.Projextor.E |
| 71656539CC644513396F56100FFB56F9EF9EAA5B7A16B0773D6E5D370A912A88 PDFGrip_646990.exe |
Win32.Malware.Projextor.E |
| e7bc36c7345b3894bc1da3d18ff3dbf0a20713d17b93a585ac0da65776d29027 FoodFormula_822670.exe |
Win32.Malware.Projextor.E |
| 3C1DBC3F56E91CC79F0014850E773A7F12BBFEF06680F08F883B2BF12873ECCC KitchenCanvas_748343.exe |
Win32.Malware.Projextor.E |
| D50CA2FA212DF1C1FF69B5D26BA594BD39BFD86A71B068A650CC577E5DC9A94E Preload.js |
Script.Malware.Projextor.B |
注: IPアドレスおよびドメインは、誤ってアクセスされたりハイパーリンク化されたりすることを防ぐため、意図的にディフェング処理(例: [.])を施しています。再度有効な形式に戻す作業は、MISP、VirusTotal、あるいは自組織のSIEMなど、管理された脅威インテリジェンス基盤上でのみ行ってください。
【ライブウェビナー】Elastic社とUnderDefense社が主催するウェビナーにご参加ください。小規模なセキュリティチームがAIの可視性とエージェント型対応を一つの運用モデルへと統合する方法を解説します。 -> 今すぐ登録
翻訳元: https://gbhackers.com/projextor-infection-technique/