npm に新たな悪意のパッケージ:開発者たちをサプライチェーン攻撃に組み込む

Malicious npm Packages Found Exfiltrating Sensitive Data from Developers

2023/08/04 TheHackerNews — npm パッケージ・レジストリ上に展開され、機密性の高い開発者情報を流出させる悪意のパッケージ群を、サイバー・セキュリティの研究者たちが発見した。2023年7月31日に、ソフトウェア・サプライチェーン企業である Phylum が発見した “test” パッケージは、その機能が向上し、洗練されていることが確認されている。Phylum の研究者たちは、「このプロジェクトの最終目的は明らかではないが、”rocketrefer” や “binarium” といったモジュールが言及されていることから、暗号通貨セクターを狙った高度な標的型キャンペーンであることが疑われている」と述べている。


一連の悪意のパッケージは、npm ユーザーである malikrukd4732 により公開されたものだ。すべてのモジュールに共通する特徴は、リモート・サーバに重要な情報を流出させるために JavaScript (“index.js”) を起動する機能である。

この “index.js” コードは、”preinstall.js” ファイルにより子プロセスで生成される。また、そのアクションは、パッケージのインストール時に実行される “package.json” ファイルで定義された “postinstall” フックにより促される。

最初のステップでは、その時点における OS のユーザー名と、作業ディレクトリが収集され、その後に、収集されたデータを含む GET リクエストが “185.62.57[.]60:8000/http” に送信される。この動作の背後にある動機については不明だが、「目に見えないサーバ側の動作」を引き起こすために、それらの情報が悪用される可能性があるだろう。

その後に、このスクリプトは、以下の拡張子に一致するファイルやディレクトリを探しだす:.env/.svn/.gitlab/.hg/.idea/.yarn/.docker/.vagrant/.yarn/.docker/.vagrant/.github/.asp/.js/.php/.aspx/.jspx/.jhtml/.py/.rb/.pl/.cfm/.cgi/.ssjs/.shtml/.env/.ini/.conf/.properties/.yml/.cfg

収穫されたデータは、最終的に ZIP・アーカイブ・ファイルの形でサーバに送信されるが、そこには認証情報や貴重な知的財産などが含まれる可能性がある。しかし、研究者たちは、「これらのディレクトリには機密情報が含まれている可能性があるが、どこにでもある標準的なアプリケーション・ファイルが多く含まれている可能性が高く、攻撃者にとって、それほど価値のあるものではないだろう」と述べている。

ReversingLabs と Sonatype が特定した PyPI キャンペーンは、VMConnect/quantiumbase/ethter などの不審な Python パッケージを使用して C2 サーバに接続し、追加のコマンドを含む不特定の Base64 エンコード文字列をダウンロードしようとするものだ。

セキュリティ研究者である Karlo Zanki は、「コマンドの取得は無限ループで実行される。したがって、C2 サーバのオペレータがコマンドをアップロードするのは、感染したマシンが脅威行為者にとって興味深いものだと、判断された後になる可能性がある。あるいは、C2 サーバが、何らかのリクエスト・フィルタリングを行っている可能性もある。たとえば、特定の国のターゲットへの感染を避けるために、感染したマシンの IP アドレスをフィルタリングするケースなどが考えられる」と述べている。

2023年7月の上旬には ReversingLabs も、Operation Brainleeches と名付けられた斬新なキャンペーンの一環として、まとめて約1,000回もダウンロードされた、13個の不正な npm モジュールのバッチを公開した。

この活動が際立っているのは、JavaScript の電子メール添付ファイルから起動される偽の Microsoft 365 ログインフォームおよび、npm 上でホストされているパッケージの CDN である jsDelivr から、次の段階のペイロードをフェッチする JavaScript ファイルを通じて、クレデンシャル・ハーベスティングを促進するパッケージが使用されていることだ。

言い換えると、この公開された npm モジュールは、電子メール・フィッシング攻撃で使用されるファイルを、ホスティングするためのサポート・インフラとして機能するだけではなく、開発者に向けられたサプライチェーン攻撃を実行するものとなる。

後者は、不正な npm パッケージを誤って組み込んでしまったアプリケーションに、クレデンシャル・ハーベスティング・スクリプトを埋め込むことで達成される。このライブラリは、2023年5月11日〜6月13日に npm へと投稿されている。

このキャンペーンを追跡してきた Check Point は、「jsDelivr の主な利点の1つは、ファイルへの直接リンクである。 npm を介して悪意のパッケージをインストールさせ、ローカルでの参照を装いながら、jsDelivr の CDN でホストされているファイルに対して、ダイレクトにリンクさせることが可能だ。つまり、jsDelivr CDN のような合法的なサービスであっても、悪用される可能性があるということだ」と述べている。