GlassWorm Macへの進出:新しいインフラと新たなトリック
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
GlassWormの背後にいる脅威アクターは、Windowsに焦点を当てた活動からmacOSに転換し、悪意のあるVS Code拡張機能を配布して、Solanaブロックチェーン由来のC2ポインタを通じて暗号化されたJavaScriptペイロードを取得しています。この動きは、ハードウェアウォレットのトロイ化を追加することで機能を拡張し、ブラウザ、開発者ツール、macOSキーチェーン全体での広範なクレデンシャル盗難を継続しています。このインフラストラクチャには、Solanaウォレットアドレスと先のGlassWorm操作から再利用されたIPが含まれており、オペレーターツーリングとホスティングの継続性を示唆しています。拡張機能が削除される前に50,000以上のダウンロードが観察され、開発者環境全体での意味のある露出を示しています。
調査
Koi SecurityはOpen VSXマーケットプレイスで3つの悪意のあるVS Code拡張機能を特定し、それらのコマンド・アンド・コントロールワークフローを、以前GlassWormと関連していたSolanaウォレットと共有IPアドレスにリンクしました。このインプラントは15分の実行遅延を組み込んでおり、その後AES-256-CBC JavaScriptペイロードを復号化して実行します。macOS上では、LaunchAgentsを介して永続性が確立されます。収集対象にはブラウザウォレットとデスクトップウォレットデータ、開発者アクセスのトークン、SSHキー、そしてmacOSキーチェーンの素材が含まれます。マルウェアは盗まれたデータを/tmp/ijewf/に配置し、/p2pに似たサーバーパスに送信する前に外部へ持ち出そうとします。また、Ledger LiveやTrezor Suiteなどの正規のハードウェアウォレットのコンパニオンアプリをトロイ化された類似アプリに置き換え、高価値の秘密とトランザクションを捕捉しようとします。
緩和
開発者ツールに対する制御を強化し、拡張機能の許可リストの適用と、特にオープンマーケットプレイスからのVS Code拡張機能のセキュリティ審査を要求します。遅延実行パターンやLaunchAgentsの疑わしい作成または変更に対するランタイム検出をデプロイします。Solana由来のC2検索に関連する疑わしいアウトバウンド活動を監視およびブロックし、識別された再利用IPへの異常な接続に対するネットワーク検出を追加します。開発者とクラウドアカウントに対しMFAを要求し、ハードウェアウォレットの整合性チェック(発行者の検証、公認/署名の検証、および制御されたソフトウェア更新チャンネル)を実施します。
対応
新規または変更されたLaunchAgents、キーチェーンストアへの異常なアクセス、およびSolanaを参照するC2エンドポイントからの取得試行に対してアラートを発する。悪意のVS Code拡張機能を隔離し、削除し、関連するLaunchAgent永続性を根絶します。/tmp/ijewf/で対象を絞ったフォレンジックスを実行し、クレデンシャルの配備を特定し、収集したデータを確認します。ハードウェアウォレットアプリケーション(Ledger Live、Trezor Suite)の整合性を検証し、改ざんが疑われる場合は信頼できるソースから再インストールします。影響を受けたクレデンシャルをリセットし、SSHキーと開発者トークンをローテーションし、セッションを無効化し、同じ拡張ID、ファイルパス、永続化アーティファクトの探索をエンドポイント全体で拡大します。
“graph TB %% クラス定義 classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef operator fill:#ff9900 classDef tool fill:#cccccc %% ノード action_initial_access[“<b>アクション</b> – 初期アクセス”] class action_initial_access action technique_vs_code_ext[“<b>テクニック</b> – T1176.002: 悪意のある VS Code IDE 拡張機能<br /><b>説明</b>: 対象システムでコードを実行する悪意のある Visual Studio Code の拡張機能を攻撃者が配信します。”] class technique_vs_code_ext technique technique_delay[“<b>テクニック</b> – T1497.003: 実行遅延<br /><b>説明</b>: マルウェアはそのペイロードを実行する前に(例: 15 分間)待機し、分析を回避します。”] class technique_delay technique technique_decrypt[“<b>テクニック</b> – T1027.009 / T1027.004: AES-256-CBC ペイロードを復号化<br /><b>説明</b>: 暗号化されたペイロードは、256ビットキーのAES-CBCを使用してメモリ内で復号化されます。”] class technique_decrypt technique technique_c2_retrieve[“<b>テクニック</b> – T1573.001: Solanaブロックチェーンからエンドポイントを取得<br /><b>説明</b>: C2サーバーのアドレスがパブリック・ブロックチェーンに保存され、マルウェアによって取得されます。”] class technique_c2_retrieve technique technique_c2_fetch[“<b>テクニック</b> – T1048.003: 暗号化されていないプロトコルデータ転送<br /><b>説明</b>: マルウェアは暗号化されていないプロトコル (例: HTTP) を使用して C2 エンドポイントに接触します。”] class technique_c2_fetch technique technique_persistence_agent[“<b>テクニック</b> – T1543.001: LaunchAgent のインストール<br /><b>説明</b>: ユーザーの LaunchAgents ディレクトリに LaunchAgent のplistが配置され、持続性を確保します。”] class technique_persistence_agent technique technique_persistence_daemon[“<b>テクニック</b> – T1543.004: LaunchDaemon のインストール<br /><b>説明</b>: システムの LaunchDaemons ディレクトリに LaunchDaemon のplistが配置され、持続性を確保します。”] class technique_persistence_daemon technique technique_modify_plist[“<b>テクニック</b> – T1647: PLIST ファイルの変更<br /><b>説明</b>: 攻撃者がプラットファイルを編集して起動動作を変更したり、悪意のあるコマンドを追加します。”] class technique_modify_plist technique technique_dump_keychain[“<b>テクニック</b> – T1555.001 / T1555.002: キーチェーンのダンプ<br /><b>説明</b>: macOS キーチェーンからの資格証明が抽出されます。”] class technique_dump_keychain technique technique_steal_keys[“<b>テクニック</b> – T1552.001 / T1552.004: 秘密鍵とトークンの窃盗<br /><b>説明</b>: プライベート暗号通貨の鍵と認証トークンが収集されます。”] class technique_steal_keys technique technique_stage_data[“<b>テクニック</b> – T1074: データステージング<br /><b>説明</b>: 収集されたファイルは後で流出するために /tmp/ijewf にコピーされます。”] class technique_stage_data technique technique_archive[“<b>テクニック</b> – T1560.001 / T1560.003: 収集データのアーカイブ<br /><b>説明</b>: データがアーカイブ形式 (例: zip) に圧縮されます。”] class technique_archive technique technique_exfil[“<b>テクニック</b> – T1048.003: 非C2 チャンネルを介した暗号化されていない情報流出<br /><b>説明</b>: ステージされたアーカイブが主要な C2 に結びついていない暗号化されていないチャンネルを通じて送信されます。”] class technique_exfil technique technique_priv_esc[“<b>テクニック</b> – T1548.006: TCC 操作<br /><b>説明</b>: macOS の Transparency, Consent, and Control データベースが変更され、より高い権限を取得します。”] class technique_priv_esc technique technique_impact[“<b>テクニック</b> – T1496.002: Ledger Live / Trezor Suite の置換<br /><b>説明</b>: 正当な暗号通貨ウォレットアプリケーションがユーザーの資産を捕らえるためにトロイの木馬版に置換されます。”] class technique_impact technique %% 接続 action_initial_access u002du002d>|使用| technique_vs_code_ext technique_vs_code_ext u002du002d>|トリガー| technique_delay technique_delay u002du002d>|につながる| technique_decrypt technique_decrypt u002du002d>|確立| technique_c2_retrieve technique_c2_retrieve u002du002d>|連絡先| technique_c2_fetch technique_c2_fetch u002du002d>|インストール| technique_persistence_agent technique_c2_fetch u002du002d>|インストール| technique_persistence_daemon technique_persistence_agent u002du002d>|変更| technique_modify_plist technique_persistence_daemon u002du002d>|変更| technique_modify_plist technique_modify_plist u002du002d>|有効にする| technique_dump_keychain technique_dump_keychain u002du002d>|有効にする| technique_steal_keys technique_steal_keys u002du002d>|に格納| technique_stage_data technique_stage_data u002du002d>|アーカイブ| technique_archive technique_archive u002du002d>|経由で抜き取る| technique_exfil technique_exfil u002du002d>|容易にする| technique_priv_esc technique_priv_esc u002du002d>|有効にする| technique_impact “
攻撃フロー
検出
MacOSブラウザーパスワードを発見する可能性のある試み (cmdline経由)
表示
検出するためのIOCs (SourceIP): GlassWorm Goes Mac: 新しいインフラストラクチャ、新しいトリック
表示
検出するためのIOCs (DestinationIP): GlassWorm Goes Mac: 新しいインフラストラクチャ、新しいトリック
表示
検出するためのIOCs (Emails): GlassWorm Goes Mac: 新しいインフラストラクチャ、新しいトリック
表示
GlassWorm macOSキーチェーンアクセス検出 [Linuxプロセス作成]
表示
macOSでキーチェーンアクセスのためのAppleScript実行の可能性 [Linuxプロセス作成]
表示
GlassWormによるSolanaブロックチェーンC2通信の検出 [プロキシ]
表示
シミュレーション実行
前提条件: テレメトリ & ベースラインの事前チェックが合格している必要があります。
論理的根拠: このセクションは、検出ルールをトリガーするように設計された敵対者手法(TTP)の正確な実行を詳述します。コマンドとナラティブは、直接TTPを反映し、検出ロジックが期待する正確なテレメトリを生成することを目的とします。抽象的または無関係な例では誤診を招きます。
-
攻撃のシナリオ&コマンド:
既に低特権のmacOSユーザーアカウントを妥協している攻撃者は、ラベル下に格納されているサービスアカウントパスワードを収集しようとしますpass_users_for_script。別のバイナリをドロップすることを避けるために、攻撃者は組み込みのセキュリティツールを通じてdo shell scriptを呼び出すワンライナーのAppleScriptを作成します。このスクリプトはユーザーのセッションで直接実行され、Sigmaルールが一致する正確なコマンドラインでプロセス作成イベントを生成します。# テスト用キーチェーンアイテムの作成(デモ目的のみ;実際の攻撃者は既存アイテムを対象とします) security add-generic-password -a attacker -s pass_users_for_script -w SuperSecret123 # キーチェーンのパスワードを読み取るAppleScriptの実行 oascript -e 'do shell script "security find-generic-password -s '''pass_users_for_script''' -w"' -
リグレッションテストスクリプト:
#!/usr/bin/env bash set -euo pipefail # ステップ1: 対象キーチェーンエントリの存在確認(冪等) if ! security find-generic-password -s pass_users_for_script -w >/dev/null 2>&1; then security add-generic-password -a attacker -s pass_users_for_script -w SuperSecret123 fi # ステップ2: 検出ルールをトリガーするAppleScriptの実行 echo "[+] キーチェーンエントリを読み取るAppleScriptを実行しています..." oascript -e 'do shell script "security find-generic-password -s '''pass_users_for_script''' -w"' -
クリーンアップコマンド:
# システムをクリーンに保つためにテストキーチェーン項目を削除 security delete-generic-password -s pass_users_for_script echo "[+] クリーンアップ完了:テストキーチェーンエントリを削除しました。"