タイプミスハッカーがクロスプラットフォーム認証情報窃取マルウェアを10個のnpmパッケージに仕込む

タイポスクワットされたパッケージはインストール時に自動実行され、被害者をIPでフィンガープリントし、PyInstallerバイナリを展開してブラウザ、SSHキー、APIトークン、クラウド設定ファイルから認証情報を収集します。

新たに明らかになった多段階サプライチェーン攻撃キャンペーンで、脅威アクターが人気ライブラリを模倣した10個のタイポスクワットnpmパッケージを公開し、クロスプラットフォームの認証情報窃取マルウェアを展開しました。

Socketの分析によると、これらのパッケージは7月4日に公開され、削除対象としてマークされるまでの4か月間で合計約1万回ダウンロードされていました。

「各パッケージはnpmのpostinstallフックを利用してインストール時に即座に実行され、インストールプロセス中の検出を回避するため新しいターミナルウィンドウで起動します」とSocketの研究者はブログ投稿で指摘しています。

インストールされると、これらのパッケージは自動的に偽のCAPTCHAプロンプトを表示し、開発者に正規のインストールプロセスの一部だと信じ込ませます。同時に、攻撃チェーンは被害者のIPアドレスをフィンガープリントし、キーチェーン、ブラウザ、SSHキー、APIトークン、クラウド設定ファイルから認証情報を収集するために設計されたPyInstallerパック済みバイナリを取得します。

難読化されたnpm postinstallスクリプト

悪意あるパッケージはnpmの組み込みライフサイクルであるpostinstallスクリプトを悪用し、追加のユーザー操作なしで攻撃を開始します。Socketは、これらのパッケージが実行されているオペレーティングシステムを検出し、自動的に新しいターミナルウィンドウを開いて隠されたマルウェアスクリプトを起動するよう設計されていたことを突き止めました。

ペイロードを別ウィンドウで実行することで、アクターはインストールログから活動を隠蔽していると研究者は指摘しています。

さらに、JavaScriptペイロードはNodeのreadlineを使って偽のCAPTCHAを表示し、「discord.jsパッケージをインストール中…」のようなリアルなバージョン番号やコントリビューター数を含む説得力のあるメッセージを出力します。このソーシャルエンジニアリングのステップは、npmインストールとの明白な関連を遅らせるだけでなく、開発者や自動防御システムをパッケージが無害なセットアップ作業をしていると誤認させることができます。

Socketの分析では、JavaScript自体も4つの異なるレイヤーで深く難読化されていることが示されました――IIFEセルフデコーダ、デコーダソースからキーを得るXOR暗号、URIエンコードされたペイロードテキスト、混合数値基数による制御フロー難読化――これにより静的検出やカジュアルなコードレビューが著しく困難になっています。

「このマルウェアはnpmサプライチェーン攻撃でめったに見られない高度な技術を複数組み合わせています」と研究者は述べています。「このキャンペーンは4層の難読化、偽CAPTCHAや偽正規パッケージインストールによるソーシャルエンジニアリング、偽CAPTCHAプロンプト後の追加ユーザー操作なしの自動実行を組み合わせています。」

IPフィンガープリントと認証情報窃取のためのペイロード

偽CAPTCHA操作が行われると、インストーラーは被害者のIPアドレスを攻撃者のサーバーに送信します。このステップにより、追跡、ジオフェンシング、不必要なターゲットの除外が可能になります。

その後、同じホストからペイロードをダウンロードします。これは24MBのPyinstallerパック済みアプリケーションで、数十万の文字列と複数のバイナリを含み、機能豊富な情報窃取ツールであることを示しています。

Socketはさらにバイナリを分析し、ファイルシステムや認証情報を積極的に収集することを確認しました。ターゲットはブラウザのパスワードストアやクッキー、SSHキー、OSのキーチェーン(Windows Credential Manager、macOSキーチェーン、Linux SecretService)、クラウド設定ファイル、SDKトークン、その他コードリポジトリやクラウドコンソール、企業リソースへの「長期アクセス」につながるアーティファクトです。流出したデータは脅威アクターのホストに転送され、収集した秘密情報の集中管理ポイントとなります。Socketは、10個の悪意あるパッケージ名、ハッシュ値、攻撃者の関連メールアドレスの完全リストを公開し、開発者や防御者が潜在的な侵害を特定できるようにしています。

このキャンペーンでタイポスクワットされた人気ライブラリには、TypeScript、discord.js、ethers.js、nodemon、react-router-dom、zustandなどがあります。npmの人気は偽装パッケージの標的としての地位を高めており、最近では大規模なスパイ活動サプライチェーン攻撃が相次いでいます。

翻訳元: https://www.csoonline.com/article/4081790/typo-hackers-sneak-cross-platform-credential-stealer-into-10-npm-packages.html

ソース: csoonline.com