VSCode

VSCodeマーケットプレイスで、難読化されたPowerShellペイロードをダウンロードし、開発者や暗号通貨プロジェクトを標的としたサプライチェーン攻撃を行う悪質なVisual Studio Code拡張機能が発見された。

Reversing Labsのレポートでは、研究者は、悪意のある拡張機能が10月にVSCodeマーケットプレイスに最初に現れたと述べています。

「2024年10月を通して、RLリサーチチームは、ダウンローダー機能を含む悪意のあるVSCode拡張機能の新しい波を見ました。

「このキャンペーンは10月上旬にコミュニティに対して初めて通知され、それ以来、チームはこのキャンペーンを着実に追跡している。

暗号コミュニティとこのキャンペーンの一部を標的とした追加パッケージがNPMで発見された。

セキュリティ研究者のAmit Assaraf氏も本日、同じ活動を指摘する重複する調査結果のレポートを発表した。

悪意のあるVSCode拡張機能

このキャンペーンは、主に暗号通貨投資家とZoomのような生産性ツールを探している人々をターゲットにした18の悪意のある拡張機能で構成されています。

VSCode Marketplaceでは、以下の拡張機能が提出された:

  • EVM.Blockchain-Toolkit
  • VoiceMod.VoiceMod
  • ZoomVideoCommunications.Zoom
  • ZoomINC.Zoom-ワークプレイス
  • イーサリアム.SoliditySupport
  • ZoomWorkspace.Zoom(3つのバージョン)
  • ethereumorg.Solidity-Language-for-Ethereum
  • VitalikButerin.Solidity-Ethereum(2つのバージョン)
  • SolidityFoundation.Solidity-イーサリアム
  • EthereumFoundation.Solidity-Language-for-Ethereum(2つのバージョン)
  • SOLIDITY.Solidity-言語
  • GavinWood.SolidityLang(2つのバージョン)
  • EthereumFoundation.Solidity-for-Ethereum-Language(2つのバージョン

npm上で、脅威行為者はパッケージ’etherscancontacthandler’のバージョン1.0.0から4.0.0までの5つのバージョンをアップロードし、合わせて350回ダウンロードされました。

パッケージの見かけ上の正当性を高めるため、脅威行為者は偽のレビューを追加し、インストール数を膨らませて、より信頼できるように見せかけました。

Fake reviews and number of installs
偽のレビューとインストール数
Source:ReversingLabs

ReversingLabsによると、すべての拡張機能は同じ悪意のある機能を持ち、疑わしいドメインから難読化されたセカンドステージのペイロードをダウンロードするように設計されていました。

合法的に見えるように選ばれた悪意のあるドメインの2つは、’microsoft-visualstudiocode[.]com’と’captchacdn[.]com’であり、他のものは’.lat’や’.ru’のようなTLDを使用していました。

Malicious VSCode extension downloading secondary payload
セカンダリペイロードをダウンロードする悪意のあるVSCode拡張子
ソースはこちら:ReversingLabs

ReversingLabsもAssarafも第2段階のペイロードを分析していないため、その機能は不明だが、このペイロードにまつわる赤信号は豊富だ。

Comparison between the npm package and the VSCode extensions
npm パッケージと VSCode 拡張の比較
Source:ReversingLabs

は、これらの VSCode 拡張機能によってダウンロードされる二次ペイロードが、隠された PowerShell コマンドを起動する、高度に難読化された Windows CMD ファイルであることを発見しました。

隠されたPowerShellコマンドは、追加のCMDファイル内のAES暗号化された文字列を復号化し、侵害されたシステム上にさらなるペイロードをドロップして実行します。

PowerShell command to decrypt malicious payloads
悪意のあるペイロードを復号化するPowerShellコマンド
ソース

のテストでドロップされたペイロードの1つは%temp%MLANG.DLLファイルで、これはVirusTotalによって27/71のアンチウイルスエンジンで悪意のあるものとして検出されています。

研究者は、サプライチェーンの侵害を特定し、軽減するために、悪意のあるパッケージとVSCode拡張子の詳細なリストとそのSHA1ハッシュをレポートの末尾に提供しています。

ソフトウェアプロジェクトの構成要素をダウンロードする際には、コードの安全性と正当性を確認し、人気のあるプラグインや依存関係のクローンではないことを確認してください。

残念なことに、悪意のある npm パッケージが サプライチェーンの侵害を引き起こしたり、VSCode の拡張機能がユーザーのパスワードを標的にしたり、ホスト・システム上でリモート・シェルを開いたりするという、非常に有害な事例が最近複数発生しています。