- 金融・暗号資産業界の関係者を狙い、Obsidianノートアプリの共有Vault機能を武器化し、これまで文書化されていなかった新種のリモートアクセス型トロイの木馬(RAT)を配布する高度に標的化されたキャンペーンが確認された
- 攻撃者はLinkedInとTelegramでベンチャーキャピタリストを装い、信頼関係を築いた後、悪意あるObsidian共有Vaultへ被害者を誘導
- 被害者がコミュニティプラグインの同期を手動で承認すると悪性コードが実行され、WindowsではPowerShell、macOSではAppleScriptを通じてPHANTOMPULLローダーがドロップされる
- PHANTOMPULSE RATはC2サーバーのアドレスをEthereumブロックチェーンのトランザクションデータから動的に抽出し、従来のテイクダウン手法に対する高い耐性を確保
- WindowsとmacOSの両方に対応するクロスプラットフォーム攻撃で、キー入力のキャプチャ、スクリーンショット、ファイル流出、任意コマンド実行など包括的なリモート制御が可能
脅威の概要
- REF6598に指定されたこの攻撃は、多段階のソーシャルエンジニアリングキャンペーン
- 脅威アクターがプロフェッショナル向けネットワーキングサイトでベンチャーキャピタリストを装って標的に接触し、その後、非公開のTelegramグループへ会話を移す
- 主なおとりは、クラウドホストされたObsidian共有Vaultを通じた共同作業への招待
- 被害者が共有Vaultを開くと、"Installed community plugins"の同期機能を有効化するよう誘導される
- この承認は手動で行う必要があり、これが感染の中核トリガー
- 有効化すると、共有Vaultに含まれる正規プラグインの悪意ある改変版('Shell Commands'、'Hider')が実行される
技術分析
- 攻撃チェーンはWindowsとmacOSで若干異なるが、同じ原理に従う
- 初期アクセス (T1566.002): LinkedIn/Telegramでのソーシャルエンジニアリングにより、悪意あるObsidian共有Vaultを開かせる
- 実行 (T1204.002): ユーザーを操作してObsidian内でコミュニティプラグインを有効化させ、改変された'Shell Commands'プラグイン経由で悪性スクリプトを実行
- ステージング: WindowsではPowerShellスクリプトが実行されてPHANTOMPULLというローダーをドロップし、macOSではAppleScriptを通じて類似のプロセスが進行
- ペイロード配信: PHANTOMPULLローダーが最終ペイロードであるPHANTOMPULSE RATをメモリに直接ロードし、ファイルベース検知を回避する(T1055 プロセスインジェクション)
- C2通信 (T1102.002): PHANTOMPULSEはハードコードされたウォレットアドレスの最新トランザクションをEthereumブロックチェーン上で照会し、C2サーバーのIPアドレスを抽出
- トランザクションデータにIPアドレスが埋め込まれており、分散型で検閲耐性のあるC2通信を実現
- 有効化されたPHANTOMPULSEは、キー入力のキャプチャ、スクリーンショット取得、ファイル流出、任意コマンド実行が可能
影響評価
- 侵害に成功した場合、攻撃者は被害者システムへの完全なアクセス権を取得
- 金融・暗号資産業界の関係者では、機密性の高い企業データ、知的財産、トレーディング戦略、暗号資産ウォレットの鍵および取引所認証情報が窃取されるリスク
- クロスプラットフォームという特性により、潜在的な被害範囲が拡大
- ブロックチェーンベースのC2は高い高度化を示しており、脅威インフラの遮断が非常に困難
検知用サイバー観測指標
- プロセス監視:
Obsidian.exeがpowershell.exe、cmd.exe、osascriptなどの子プロセスを生成していないか監視
- コマンドラインパターン:
powershell -ExecutionPolicy Bypass — Obsidianのような非標準アプリケーションから開始された不審なPowerShell実行を検知
- ネットワークトラフィック: 想定外のプロセスからEthereumブロックチェーンノードまたはゲートウェイへのアウトバウンド接続を監視(PHANTOMPULSEによるC2アドレス確認の可能性)
- ファイルパス:
[Vault]/.obsidian/plugins/ディレクトリ内のファイル作成または変更を監視し、特に公式プラグインマーケットプレイス外からの変更に注意
検知と対応
- プロセス分析 (D3-PA): Obsidianプロセスがコマンドラインインタープリタ(
powershell.exe、cmd.exe、bash、osascript)を生成した際に検知・警告するEDRルールを実装 — これは極めて異例な挙動
- ユーザー教育: 高リスク業界の従事者に対し、ソーシャルエンジニアリングの危険性と共有Vault・プラグイン機能の悪用という戦術について教育
- アプリケーション制御 (D3-EAL): 可能であれば、Obsidianのようなアプリケーションで未承認のコミュニティプラグインのインストール・実行を制限するアプリケーション制御ポリシーを適用
- ネットワーク監視 (D3-NTA): ブロックチェーンサービスに関連する異常なDNSクエリや、直接IP接続が想定されないエンドポイントで発生する通信を監視
緩和策
- コミュニティプラグインの検証: すべてのアプリケーションでサードパーティまたはコミュニティ開発プラグインを有効化する際は最大限の注意が必要であり、公式マーケットプレイスの信頼できるプラグインのみをインストールし、権限を必ず確認すること
- 信頼できないVaultの自動同期を無効化: 不明または信頼できないソースのObsidian Vaultに接続する際は、プラグイン同期を有効にしないこと
- 最小権限の原則: Obsidianのようなアプリケーションは管理者権限ではなく標準ユーザーとして実行し、侵害時の影響範囲を制限
- エンドポイントセキュリティ: 最新のEDRおよびアンチウイルスソリューションを導入し、不審なスクリプト実行とプロセスインジェクション技法を検知・遮断
1件のコメント
Hacker Newsのコメント
ObsidianのCEOです。プラグインのセキュリティに関する大規模なアップデートがまもなく出ます。このスレッドで出た懸念の多くを解消できるはずです。
難しい問題ですが、取り組んでいます。ただし、この見出しは誤解を招きます。この記事は、ユーザーがObsidianの複数の安全警告を自ら拒否しなければならないソーシャルエンジニアリング攻撃についてのもので、私の知る限り概念実証レベルであり、実被害の報告は見ていません
プラグインや拡張機能は、基本的に実行までのハードルをもう少し高くすべきだと思います。プラグイン利用前の追加障壁がユーザー摩擦を生むのは理解しますが、サンドボックスや他の制限なしに未審査の任意コードを安全に実行する方法は、実際には存在しないと思います
これは誤解を招く見出しです。まるで正規プラグインが乗っ取られてマルウェアを配布した別のサプライチェーン攻撃のように見えます。
実際には、被害者が同期されたvaultでの共同作業に招待され、そのvault内にRATを配布する非公式プラグインがあらかじめ入っているという話です。まったく別の話です
「Novel Campaign Abuses Obsidian Note-Taking App to Target Finance and Crypto Professionals with PHANTOMPULSE RAT」と書かれています。新しい攻撃であり、Obsidianを悪用し、特定の集団を狙っており、RATがvault内にあるという意味なので、妥当な表現に見えます
Obsidianは本当に気に入っていて毎日使っていますが、コミュニティプラグインは権限体系が十分でないので使っていません。
いずれプラグインが必要な権限を宣言し、それがユーザーに表示される日が来ることを期待しています。Obsidianチームはこの問題に真剣に対応すると思っていますし、何を出してくるのか楽しみです。信頼はしていますが、そもそもより良い権限体系やサンドボックスなしで設計されたという点には驚きます
「被害者は『Installed community plugins』の同期機能を有効にするよう求められる」
Obsidianにはこの種の攻撃を防ぐための保護策があり、被害者はそれを無視するよう説得されたのです。成功したソーシャルエンジニアリング事案にすぎません。この攻撃はObsidianやプラグインシステムの脆弱性を悪用したものではないので、こういう見出しのせいでObsidianが引きずり下ろされるのは見たくありません
「技術的な制約により、Obsidianはプラグインを特定の権限やアクセスレベルに安定して制限することができません。したがって、プラグインはObsidianのアクセスレベルを継承します。」
コミュニティプラグインはコンピュータ上のファイルにアクセスでき、インターネットに接続でき、追加のプログラムまでインストールできます。Obsidianには保護策など何もなく、プラグインのインストールはすなわちコンピュータへの全面的なアクセス権を与えることです。こうなるのは時間の問題で、2010年ごろ以降にこういうプラグインシステムを出したこと自体、弁解の余地なく不注意だったと思います
あまり詳しくないユーザーは「ただのMarkdownファイルの集まりでしょ。マルウェアをそんなに心配しなくていいだろう」と考えるかもしれません
どうしてほとんどすべてのプラグインシステムはこんなに杜撰に設計されるのでしょうか? ちゃんとした隔離や権限管理を提供する優れたプラグイン開発フレームワークがなくて工数が大きすぎるのか、それとも必要なことが広く理解されていないため、自分たちのシステムが悪用されてからようやく学ぶのか気になります。両方でしょうか、それとも別の理由がありますか?
もうひとつの問題は、セキュリティは難しく、広範なアクセス権を与えて基本的なガードを少し足すのは簡単だということです
その部分を丸ごと飛ばすほうがずっと簡単です。つまり工数が大きいのは事実で、正確には、その作業量は多いが正しいことだと理解するセキュリティ重視のリーダーシップが必要なのです
意図して設計するには抽象化レイヤーを下げ、そのフレームワークのカスタムforkを維持しなければならないかもしれません。だから、おそらくアプリが使うコンテキストの一部を渡してライブラリをインスタンス化するような感覚でプラグインを設計したのでしょう。結局、それが動く最も単純な方法です。公開されたハッキング内容は特定の「脆弱性」について語っているわけではありませんが、Obsidianプラグインは常に神モードであり、攻撃者は人をだましてそれを使わせただけです。ポップアップをいくつか越えた先に実質的なリモートコード実行が待っていて、最終的にユーザーのせいにするのは滑稽です。開発者は恥じるべきです
アプリの中にApp Storeを作るようなものです。Apple App Storeは、誰が何を公開できるかを非常に厳しく制限し、有料の障壁も設けることで悪意あるアプリを減らしています
ソーシャルエンジニアリングだとしても、こういうことを許してしまうプラグインシステム設計なら、このプラットフォームは共有ツールとしては完全に使えません。
知っておいてよかったですが、私にとっては「共有Obsidian vaultを使うならこの設定を正しく維持しよう」ではなく、「共有Obsidian vaultは絶対に受け取らず、プレーンテキストでのエクスポートを要求しよう」に近いです
Obsidianを使い始めたころに見たYouTube動画では、コミュニティプラグインの利用が勧められていました。こういう警告があっても、おそらく私はコミュニティプラグインを有効にしていたと思います。
最初は善意だったプラグイン開発者が後から悪意を持つようになることもあり得ますし、ユーザーには分かりません。私は開発者でこうしたリスクも知っていますが、それでもコミュニティプラグインのオプションを有効にしていたと思うので、自分のリスク許容度が高いだけかもしれません。自分が少数派で、ほとんどのユーザーの行動ではないことを願います
こういうものは少し流行病のように広がっています。あらゆる攻撃やエクスプロイト、とくにソーシャルエンジニアリング攻撃に、Metal Gear風の名前や専用サイトが必要なわけではありません
内容を読めば、問題はObsidianストアのプラグインから始まったのではなく、開かせるよう誘導した悪意あるvaultから始まっています
Obsidianは制限付き権限で実行しています。ネットワークアクセスなし、自身のディレクトリ外のファイルシステムアクセスなしです。
プラグインやテーマを更新するときだけネットワークアクセスを有効にしています。信頼できないコードを実行しうる他のアプリケーションも同じやり方で動かしています