GlassWormがネイティブ化へ: 同じインフラ、強化された配信

GlassWormが帰ってきた。また。10月に最初にこのキャンペーンを暴露して以来、2つの波、45,000人以上の被害者、そして決して止められない1人の攻撃者を見てきました。

前回の開示後、数週間静かでした。その後、11月22日に、見覚えのあるSolanaウォレットが新しいトランザクションと新しいC2 IPで目覚めました。そして数日以内に、悪質な拡張機能が再び現れ始めました。

しかし、この波は異なります。

最初のレポートで暴露した目に見えないUnicode技術?完全に消えました。

代わりに、コンパイルされたRustバイナリが見つかりました。それらの目に見えない文字からデコードした全ての機能 – Solana C2ルックアップ、AES復号化、ペイロードステージング – は、もはやデコードできないネイティブコードにコンパイルされています。何が起こっているのかを見るには、Rustバイナリをリバースエンジニアリングする必要があります。

今回は、OpenVSXを超えて拡大し、MicrosoftのオフィシャルVSCodeマーケットプレイスもターゲットにして、最初はクリーンな拡張機能を公開してから、マルウェアで更新しました。

ウォレットと攻撃チェーンは同じですが、ペイロードはネイティブバイナリ内に隠されています。

Iconesvscodeを見てみましょう。これは人気のあるvscode-icons themeを装う拡張機能です:

Image

Image

バージョン12.15.0?クリーンです。22,765行のJavaScriptを持つ正当なアイコンテーマで、アイコンテーマがすべきことを正確に行っています。

しかし、バージョン12.15.1と12.15.2がリリースされたとき、コードベース全体がこれで置き換えられました:

Image

33行だけが残され、アイコンテーマの機能がなく、単にあなたのオペレーティングシステムを検出してネイティブバイナリを実行するバイナリローダーがあります。

それらの.nodeファイル – macOSのdarwin.node、Windowsのos.node – はRustバイナリであり、すべてを含んでいます。

バイナリの中身は何か

各拡張機能はこれらのネイティブバイナリで詰められています 

構造:

  • Rustベース(プロジェクトは文字通りrust_implantという名前です)
  • Windows(os.node)とmacOS(darwin.node)の別のビルド
  • 各々約2.4 MB
  • Node.jsアドオン形式

機能:

  • C2命令のためにSolanaブロックチェーンにクエリを実行
  • ペイロードを取得して復号化(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ウォレットはまだあり、攻撃者のインフラはまだ稼働しており、彼らは削除が彼らを長時間止めないことを二度示しています。

引き続き監視しています。パターンに基づくと、これはおそらく最後の波ではありません。

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.codelddb-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

ソース: koi.ai