GlassWormが戻ってきました。またしても。10月にこのキャンペーンを初めて暴露して以来、2つの波、45,000人超の被害者、そして諦めない攻撃者を確認しています。
前回の公開後、数週間は静かでした。ところが11月22日、見覚えのあるSolanaウォレットが新しいトランザクションと新しいC2 IPで再び動き出しました。そして数日以内に、悪意のある拡張機能が再び出現し始めました。
しかし、この波は違います。
最初のレポートで暴いた不可視Unicodeの手法は? 完全に消えました。
代わりに、コンパイルされたRustバイナリを発見しました。不可視文字から解析したあらゆる機能――SolanaのC2参照、AES復号、ペイロードのステージング――が、もはや単純にデコードできないネイティブコードとしてコンパイルされています。何が起きているかを見るには、Rustバイナリをリバースエンジニアリングする必要があります。
今回はOpenVSXにとどまらず、Microsoft公式のVSCodeマーケットプレイスも標的に拡大し、まずクリーンな拡張機能を公開してから、更新でマルウェアを混入させています。
ウォレットと攻撃チェーンは同じままですが、ペイロードはネイティブバイナリの中に隠されるようになりました。
人気のvscode-icons themeになりすます拡張機能Iconesvscodeを見てみましょう:


バージョン12.15.0は? クリーンです。22,765行のJavaScriptからなる正当なアイコンテーマで、アイコンテーマが行うべきことをそのまま実行しています。
しかし、バージョン12.15.1と12.15.2が出ると、コードベース全体が次の内容に置き換えられました:

残ったのは33行だけ。アイコンテーマの機能はなく、OSを検出してネイティブバイナリを実行するバイナリローダーだけです。
これらの.nodeファイル――macOS向けのdarwin.node、Windows向けのos.node――はRustバイナリで、すべてがそこに含まれています。
バイナリの中身
各拡張機能には、これらのネイティブバイナリが同梱されています
構造:
- Rustベース(プロジェクト名は文字通り
rust_implant) - Windows(
os.node)とmacOS(darwin.node)で別ビルド - 各約2.4MB
- Node.jsアドオン形式
機能:
- Solanaブロックチェーンを照会してC2指示を取得
- ペイロードを取得して復号(Base64、AES-256-CBC)
- Googleカレンダーのフォールバックを内蔵
開発者の痕跡:
macOSバイナリには次のようなパスが含まれています:
/Users/davidioasd/Downloads/rust_implant/target/release/deps/librust_implant.dylib
/Users/davidioasd/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/http-body-util-0.1.3/src/combinators/collect.rs
このdavidioasdという文字列は、最初の波のバイナリで見たパターンと一致します。同じ開発者、同じキャンペーン、数週間の間隔です。
今後
拡張機能はすべて削除されました。
Solanaウォレットは依然として存在し、攻撃者のインフラも稼働したままです。そして彼らは、削除対応では長く止まらないことをすでに2回示しています。
私たちは監視を継続しています。このパターンからすると、これが最後の波ではないでしょう。
IOCs
拡張機能
OpenVSX:
- bphpburn.icons-vscode
- clangdcode.clangd-vscode
- csvmech.csv-sql-tsv-rainbow
- cweijamysq.sync-settings-vscode
- eamodas.shiny-vscode
- flutcode.flutter-extension
- iconkief.icon-theme-material
- msjsdreact.react-native-vscode
- saoudrizvsce.claude-dev
- saoudrizvsce.claude-devsce
- solblanco.svelte-vscode
- svltsweet.svetle-for-cursor
- tailwind-nuxt.tailwindcss-for-react
- vitalik.solidity
- yamlcode.yaml-vscode-extension
Microsoft VSCode:
- bphpburnsus.iconesvscode
- iconkieftwo.icon-theme-materiall
- clangdcode.clangd-vsce
- codevsce.codelldb-vscode
- csvmech.csvrainbow
- cweijamysq.sync-settings-vscode
- dart-vsc.code-dart
- flutcode.flutter-extension
- klustfix.kluster-code-verify
- lyywemhan.code-formatter-and-minifier-vscode
- msjsdreact.react-native-vsce
- prettier-vsc.vsce-prettier
- prisma-inc.prisma-studio-assistance
- redmat.vscode-quarkus-pro
- saoudrizvsce.claude-devsce
- solblanco.svetle-vsce
- vims-vsce.vscode-vim
- vsceue.volar-vscode
- yamlcode.yaml-vscode-extension
Rustインプラント(SHA-256)
darwin.node
- 026873b940176d103d45b41c9fba73f14cfcaca60e3117be81d2eadef85a4d17
- 9bd105ce732218f30719fd69d4555967b362d37f4f6aec04741c18aaa7411a73
- fb07743d139f72fca4616b01308f1f705f02fda72988027bc68e9316655eadda
os.node
- cbb3f830731fe2c9194f7fe5aa55479cffdae184039b0df078b1394209d7a49f
- 29875e74f033c819c1acab58ef08bc35646aab5f4a2747ee0933ca41150d7099
- 6ebeb188f3cc3b647c4460c0b8e41b75d057747c662f4cd7912d77deaccfd2f2
コマンド&コントロール:
- 217.69.13.229
- 45.76.45.151
- 45.32.151.157
- 107.191.62.170
- 104.238.191.54(持ち出しサーバー)
- 108.61.208.161(持ち出しサーバー)
翻訳元: https://www.koi.ai/blog/glassworm-goes-native-same-infrastructure-hardened-delivery