NPM に悪意のパッケージ:開発者を騙して盗んだ SSH Key を GitHub に隠して保存

Malicious NPM Packages Exfiltrate Hundreds of Developer SSH Keys via GitHub

2024/01/23 TheHackerNews — npm パッケージ・レジストリで発見された2つの悪意のパッケージは、開発者システムにインストールされた後に、Base64 暗号化された SSH キーを盗み出し、GitHub に保存するものだったと判明した。2024年1月初旬に公開された、warbeast2000 と kodiak2k という名のモジュールは、npm のメンテナンスにより削除されるまでに、それぞれ 412回と 1,281回のダウンロードを記録している。また、最新のダウンロードは 2024年1月21日に行われているという。

このアイクのパッケージを発見した ReversingLabs によると、warbeast2000 には 8種類のバージョンがあり、kodiak2k には 30種類以上のバージョンがあったという。

どちらのモジュールも、インストール後にポスト・インストール・スクリプトを実行するように設計されており、それぞれが異なる JavaScript ファイルを取得/実行していた。

warbeast2000 が SSH の秘密鍵にアクセスしようとするのに対して、kodiak2k は “meow” という名前のキーを探すように設計されている。つまり、脅威アクターが開発の初期段階で、プレース・ホルダーの名前を使用した可能性が高い。

ReversingLabs のセキュリティ研究者である Lucija Valenti は、「warbeast2000 の第2段階のスクリプトは、”/.ssh” ディレクトリに存在する “id_rsa” ファイルに保存されている SSH 秘密キーを読み取る。続いて、Base64 エンコードされたキーを、攻撃者が管理する GitHub リポジトリにアップロードする」と述べている。

また、kodiak2k の後期のバージョンは、Empire ポスト・エクスプロイト・フレームワークをホストしている、アーカイブされた GitHub プロジェクトで見つかったスクリプトを実行することが判明した。このスクリプトは、プロセス・メモリから認証情報をダンプする、ハッキング・ツール Mimikatz を起動できるという。

Lucija Valenti は、「このキャンペーンは、サイバー犯罪者や脅威アクターが、オープンソースのパッケージ・マネージャーや関連インフラを利用して、開発組織やエンドユーザー組織をターゲットにする、悪意のソフトウェア・サプライチェーン・キャンペーンを支援する最新の事例である」と述べている。