概要
Microsoftは、脅威アクターがNext.jsリポジトリを悪用し、開発者が正当なプロジェクトや技術評価と見做される攻撃を行うことを警告しました。これらの攻撃は、Visual Studio CodeやNode.jsの通常のワークフローを利用して、従来のマルウェアインストーラーを使用せずにコマンド&コントロール(C2)バックドアに到達します。
脅威の詳細
Microsoft Defender Expertsによると、この活動はジョブテーマを用いた開発者向けの一貫した攻撃キャンペーンの一部であり、通常のコーディングタスクの中に溶け込むように設計されています。
調査結果
Node.jsプロセスがHTTPポート3000を介して攻撃者のインフラストラクチャに不審な接続を行うことを追跡し、Bitbucketホストのリポジトリ(例:採用評価としてフレームされたものやCryptan-Platform-MVP1という名前のパターンを持つもの)が特定されました。
攻撃手法
このキャンペーンは、Visual Studio Codeワークスペース自動化を悪用するか、npm run devやNext.jsサーバーの起動時にtrojanizedされたjquery.min.jsファイルを使用してJavaScriptローダースクリプトを取得します。これらの手法はすべて、攻撃者が制御するJavaScriptの実行に結びつきます。
ステージ1とステージ2
攻撃者は最初にStage 1スクリプトを使用して登録を行い、その後Stage 2へと進化させます。Stage 2は長期間のコントローラーとして機能し、別々のC2 IPやAPIと通信します。
対策
- Visual Studio Code Workspace TrustとRestricted Modeを有効にすること:未知のプロジェクトに対してデフォルトで利用するべきです。
- next.config.jsやワークスペースローダーの評価:これらのファイルがevalまたはnew Functionを使用していないことを確認します。
- 攻撃表面を制限すること:Windowsエンドポイントでは、Microsoft Defender for Endpointで攻撃表面の縮小ルールを有効にし、悪意のあるダウンロードやインフラストラクチャをブロックします。
検出と調査
組織はAdvanced Huntingテーブルを使用してNode.jsがvercel.app配信ドメインやC2パス(例:/api/errorMessage、/api/handleErrors)に繰り返し接続する場合を監視します。
