ChainVeilが再びViteエコシステムを狙う
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
ViteVenomとして知られる新たに識別された悪意のあるnpmクラスターが、Viteビルドツールエコシステムを標的にしています。このキャンペーンは、正当なツールを装って、慎重に作成されたスコープ付きパッケージ名を使用し、77 KBのリモートアクセス型トロイの木馬を配信します。また、Tron、Aptos、Binance Smart Chainにまたがる、4層にわたるブロックチェーンベースの指揮・制御アーキテクチャに依存しています。
調査
研究者たちは、ChainVeilキャンペーンで以前に見られた同じXOR復号鍵とティア2ブロックチェーンウォレットアドレスを共有する7つの悪意のあるnpmパッケージを特定しました。彼らの調査により、ペイロードの場所がブロックチェーントランザクションを通じて解決され、従来のドメインテイクダウンを回避するオペレーターを支援する多段階の実行チェーンが明らかになりました。マルウェアはまた、スタティック分析を複雑にするために配列索引の文字列シャッフリングを使用しています。
緩和策
組織は、次のような疑わしいスコープ付きパッケージの依存関係を確認すべきです。 @vite-pro/*, @vitets/*、および @vite-ts/*。即時的な緩和策には、特定された悪意のあるパッケージの削除、SSHキー、npmトークン、APIキーなどの公開された資格情報の全ての回転、およびネットワーク層で関連する指揮・制御IPアドレスのブロックが含まれます。開発者はまた、Viteの依存関係が公式の @vitejs/* ネームスペースに由来することを確認する必要があります。
対応
この活動が検出された場合、直ちに特定された悪意のあるパッケージを削除し、次を含むロックファイルの徹底的なレビューを実施してください。 package-lock.json, pnpm-lock.yaml、および yarn.lock。セキュリティチームは、いかなる孤立した node -e のプロセスが切り離された子プロセスとして実行されているか終了させる必要があります。影響を受けたシステムによってアクセスされたすべての環境について完全な資格情報の回転を行い、次のようなシェル構成ファイルを検査して永続的なコードが注入されていないか確認してください。 .bashrc and .zshrc 。
攻撃フロー
検出
可能なPublicnode EthereumのC2チャネルとしての不正使用の試み(dns_query経由)
表示
検出するためのIOC(HashMd5):ChainVeil npm マルウェアの続編がViteエコシステムを標的にします
表示
検出するためのIOC(SourceIP):ChainVeil npm マルウェアの続編がViteエコシステムを標的にします
表示
検出するためのIOC(DestinationIP):ChainVeil npm マルウェアの続編がViteエコシステムを標的にします
表示
ViteVenomおよびChainVeilキャンペーンのIPブロッキングの検出 [ファイアウォール]
表示
ViteVenomマルウェアのネットワーク活動の検出 [Windowsネットワーク接続]
表示
シミュレーション実行
前提条件:テレメトリー&ベースラインの事前チェックは通過している必要があります。
理由:このセクションでは、検出ルールを引き起こすために設計された敵対者技術(TTP)の正確な実行を詳述します。コマンドおよびストーリーは、識別されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目指さなければなりません。抽象的または無関係な例は誤診を招きます。
-
攻撃のストーリーとコマンド: 敵対者は、ハートビート/C2接続を指揮サーバーに確立しようとするマルウェア(ViteVenomキャンペーンをシミュレート)を展開しました。マルウェアはハードコードされたIP
43.249.154.132に接続を試みます。このIPはすでに企業ファイアウォールでブラックリストに登録されているため、ファイアウォールはパケットをドロップし、「ブロック」イベントを生成します。このシミュレーションはcurlを使用して検出ロジックで特定された特定のIPへの接続を試み、アラートを引き起こします。 -
回帰テストスクリプト: [Provide the exact, self-contained, and executable code snippet for the simulation.]
#!/bin/bash # 既知のChainVeil C2 IPへの接続を試みる敵対者のシミュレーション # ターゲットIP: 43.249.154.132(検出ロジックから) TARGET_IP="43.249.154.132" echo "[*] $TARGET_IPへの接続試みをシミュレート中..." # curlを使用して接続を試みます。 # ファイアウォールはこれをインターセプトし、「ブロック」アクションを記録するはずです。 curl -m 5 http://$TARGET_IP/ping > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "[+] 期待通り接続に失敗しました(ファイアウォールがブロックしたはずです)。" else echo "[!] 警告: 接続に成功しました。ファイアウォールがIPをブロックしませんでした。" fi -
クリーンアップコマンド:
# システムに永続的な変更は行いません。 # 作成された場合、任意の一時的なテストファイルを削除するだけで済みます。 rm -f /tmp/sim_test_result.txt