
ハッカーは、npmを対象とした新しいサプライチェーン攻撃の中で、人気のあるプロセス間通信パッケージであるnode-ipcの新たに発行されたバージョンに認証情報を盗むマルウェアを注入しました。
node-ipcパッケージは、Unix、Windows、UDP、TLS、およびTCPを含むあらゆる形式のソケットを通じてさまざまなプロセスが通信できるようにするNode.jsモジュールです。
メンテナーが2022年3月に公開したにもかかわらず、
最近のサプライチェーン攻撃は、Socket、Ox Security、およびUpwindを含む複数のアプリケーションセキュリティ企業によって検出され、次の3つのバージョンが悪意のあるものであることが確認されました:
悪意のあるコードはCommonJSエントリーポイント(node-ipc.cjs)内に隠れており、アプリケーションが読み込まれるたびに自動的に実行されます。
マルウェアは高度に難読化されており、感染したシステムをフィンガープリント処理し、環境変数と機密ローカルファイルを収集し、盗まれたデータをアーカイブに圧縮し、DNS TXTクエリを通じて流出させます。
最新の侵害は、「atiertant」という名前の非アクティブなメンテナーのアカウントを侵害した外部の攻撃者による仕業のようです。
研究者によると、新しいnode-ipcバージョンに注入されたinfostealerは、侵害されたシステムから次のタイプの情報を収集します:
- AWS、Azure、GCP、OCI、DigitalOcean、その他からのクラウド認証情報
- SSHキーとSSH設定
- Kubernetes、Docker、HelmおよびTerraform認証情報
- npm、GitHub、GitLabおよびGit CLIトークン
- .envファイルとデータベース認証情報
- シェル履歴とCI/CDシークレット
- macOS Keychainファイルとキーリング
- Firefoxプロファイルとキーデータベースファイル(macOS上)
- Microsoft TeamsローカルストレージおよびIndexedDBパス
マルウェアは4 MiBより大きいファイルをスキップし、効率を上げてホスト上の運用ノイズを減らすために.gitおよびnode_modulesディレクトリのスキャンを避けます。

注目すべき運用上の特性は、データの流出のための従来のHTTPベースのコマンドアンドコントロール(C2)トラフィックの代わりにDNS TXTクエリを使用することです。攻撃者は、フェイクのAzureテーマのドメイン(sh[.]azurestaticprovider[.]net:443)をブートストラップリゾルバーとして使用し、xh、xd、xfなどのクエリプレフィックスで「bt[.]node[.]js」にデータを送信します。
Socketによると、500 KBの圧縮アーカイブを流出させると、約29,400のDNS TXTリクエストが生成される可能性があり、トラフィックが通常のDNS活動に混ぜるのに役立ちます。
送信前に、マルウェアは収集されたデータを一時的な圧縮tar.gzアーカイブに保存します。これらは流出後に削除され、フォレンジック痕跡を減らします。
マルウェアは永続性を確立したり、二次ペイロードをダウンロードしたりしないため、この操作は迅速な認証情報の盗難と流出に焦点を当てているようです。
潜在的に影響を受ける開発者は、すぐに影響を受けるバージョンを削除し、公開されたシークレットと認証情報をローテーションし、ロックファイルとnpmキャッシュを調査する必要があります。
検証ギャップ:自動化ペネトレーションテストは1つの質問に答えます。あなたは6つが必要です。
自動化ペネトレーションテストツールは実際の価値を提供しますが、攻撃者がネットワークを通じて移動できるかという1つの質問に答えるために構築されました。それらは、あなたのコントロールが脅威をブロックしているか、検出ルールが発火しているか、またはあなたのクラウド設定が保持されているかをテストするために構築されていません。
このガイドでは、実際に検証する必要がある6つのサーフェスについて説明します。