パッケージ@openclaw-ai/openclawaiはOpenClawインストーラーユーティリティを装っていますが、実際には多段階のマルウェア操作を開始します。
実行されると、認証情報、暗号通貨ウォレット、SSHキー、ブラウザデータ、開発者トークンの盗難を試みます。
「この攻撃は、広範なデータ収集、被害者のシステムパスワードを収集するためのソーシャルエンジニアリングの使用、そして永続化とC2インフラストラクチャの洗練さが特筆される」と、述べたJFrogの研究者らは述べています。
GhostClaw攻撃チェーンの分析
悪意あるパッケージは、正当な開発者ユーティリティに似たものになるように慎重に設計されました。
そのpackage.json設定は通常のように見え、公開されたソースコードはパッケージをカジュアルに確認する人を安心させるための無害な関数が含まれています。
悪意あるコードはセットアップ中に自動的に実行されるインストールスクリプトに組み込まれており、攻撃者が即座に疑いを招くことなく足がかりを確立することができます。
インストール中、postinstallスクリプトは被害者のシステム上にグローバルにパッケージを静かに再インストールし、悪意あるバイナリがシステムのPATHに追加されるようにします。
偽インストーラーと認証情報フィッシングの段階
ユーザーが後でopenclawコマンドを実行すると、システムはマルウェアの最初の段階として機能する難読化されたセットアップスクリプトを起動します。
スクリプトは説得力のある偽のコマンドラインインストーラーインターフェースを表示し、アニメーション付きプログレスバー、ローディングスピナー、および正当なソフトウェアインストール出力を模倣することを目的としたシステムログメッセージが完備されています。
偽のインストールが完了したように見えると、プログラムは詐欺的なKeychain認可プロンプトを表示し、ユーザーのシステムパスワードを要求し、ツールを安全に初期化するには管理者権限が必要であると主張します。
典型的なフィッシングプロンプトとは異なり、マルウェアはオペレーティングシステムの実際の認証メカニズムを使用してパスワード試行を検証します。
これにより、プロンプトは本物のシステム要求のように動作し、欺瞞をより説得力のあるものにします。
被害者が認証を試みている間に、スクリプトは攻撃者が管理するインフラストラクチャから暗号化された第2段階のペイロードを同時に取得します。
ペイロードは暗号化されたリクエストを通じて配信され、AES-256-GCMを使用してローカルで復号化されます。
復号化されたら、コードは一時ファイルに書き込まれ、バックグラウンドプロセスとして実行され、インストールが正常に完了しているように見える間にマルウェアが実行されるようになります。
GhostLoaderが永続性をインストール
攻撃の第2段階(内部的にGhostLoaderと呼ばれる)は、情報盗聴ツールと永続的なRATの両方として機能する大規模JavaScriptバンドルです。
実行後、マルウェアは正当なnpmテレメトリサービスに似ているように設計された隠されたディレクトリに自身をインストールし、通常の開発者システムアクティビティに溶け込むのを助けます。
永続性を保つために、マルウェアは.zshrc、.bashrc、および関連するプロファイルなどのシェル設定ファイルを変更します。
これらの変更により、新しいターミナルセッションが開かれるたびにマルウェアが自動的に起動されることが保証されます。Linuxシステムでは、マルウェアはシステムの再起動後に再度実行されることを保証するためにcronジョブを作成することもあります。
マルウェアが開発者認証情報と機密データを盗む
最初の実行中に、マルウェアは開発者システムに一般的に保存されている幅広い機密情報を収集します。
これには、macOS KeychainとiCloud Keychain、ブラウザ認証情報と保存済み決済データ、暗号通貨ウォレットと復旧シードフレーズ、SSH秘密鍵、AWS、Azure、GCPのクラウドプロバイダー認証情報、およびGitHub CLI認証情報やnpm設定ファイルなどの開発者トークンが含まれます。
ユーザーがmacOS Full Disk Accessを許可した場合、マルウェアは収集機能をさらに拡張します。その場合、Apple Notes、iMessageチャット履歴、Safari閲覧データ、Apple Mailアカウント設定情報を収集できます。
収集されたら、盗まれたデータはアーカイブに圧縮され、複数のチャネルを通じて攻撃者のインフラストラクチャに流出されます。
これらには、C2サーバーへの直接アップロードおよびTelegramボットやクラウドファイル共有プラットフォームなどのセカンダリチャネルが含まれ、1つの流出パスが失敗した場合の冗長性を提供します。
永続的なアクセスとブラウザセッションハイジャッキング
初期のデータ盗難段階を完了した後、マルウェアは永続的な監視モードに移行します。
感染したシステムは定期的に攻撃者のC2サーバーと通信して、指示を受け取り、継続的なアクセスを維持します。
そこから、攻撃者は任意のシェルコマンドを実行するコマンドを発行し、システムからファイルを取得し、更新されたマルウェアペイロードをデプロイするか、侵害されたマシンが追加のネットワークアクティビティのリレーとして使用されることを可能にするSOCKS5プロキシを有効にすることができます。
注目すべき機能の1つは、ブラウザセッションクローニングです。
マルウェアは被害者のブラウザプロファイルをコピーし、Chrome DevTools Protocolを通じて攻撃者に接続されたヘッドレスブラウザを起動し、攻撃者に被害者としてWebサイトとサービスにアクセスすることを可能にする認証されたセッションを与えます。
セッションが既存の認証トークンとクッキーを再利用するため、攻撃者はパスワードを必要とせずに、または多要素認証(MFA)をバイパスすることなく、アカウントにアクセスできることがよくあります。
悪意のある依存関係からのリスクを軽減する方法
以下の対策は、悪意のある依存関係が開発システムを侵害し、機密認証情報を公開するリスクを軽減するのに役立ちます。
- 新しい依存関係をインストールする前にパッケージの真正性を確認する、特に正当なプロジェクトと同じような名前のもの、および検証済みの発行者またはカテゴリーの信頼できる内部レジストリからパッケージをインストールします。
- DevSecOpsツールを使用する(依存関係スキャンとSCAを含む)で、悪意あるパッケージ、疑わしいインストール動作、および脆弱な依存関係が開発パイプラインに到達する前に検出します。
- npm postinstallスクリプトとグローバルパッケージのインストールを制限または無効にする可能な限り、パッケージが隠されたインストールロジックを実行したり、悪意あるバイナリをシステムのPATHに配置したりするのを防ぎます。
- 開発者エンドポイントを監視する疑わしいアクティビティがないか、予期しないNode.jsプロセス、切り離されたチャイルドプロセス、異常なネットワーク接続、またはシェル設定ファイルへの不正な変更など。
- 強力な認証と安全なストレージプラクティスを実装する、そして露出が疑われる場合はシステムパスワード、SSHキー、APIトークン、クラウド認証情報をすぐにローテーションします。
- ネットワーク監視とエグレス制御を実装する、異常な送信接続、大規模なデータ流出試行、またはTelegram APIや不明なドメインなどの疑わしいインフラストラクチャとの通信を検出またはブロックします。
- 定期的にテストするインシデント対応計画ソフトウェアサプライチェーン侵害シナリオに関する机上演習を通じて。
まとめて、これらの対策は、組織がサプライチェーンの脅威に対する回復力を強化するのに役立ちながら、悪意のある依存関係が開発環境に導入された場合の潜在的な被害範囲を制限します。
オープンソース依存関係の上昇するリスク
GhostClawキャンペーンは、攻撃者が開発者エコシステムとオープンソースパッケージレジストリをエンタープライズ環境への入口としてターゲットにする成長傾向を強調しています。
マルウェアを正当な開発ツールとして偽装することにより、これらの脅威は従来のセキュリティチェックを回避し、機密認証情報、クラウドリソース、内部システムにアクセスできます。
この傾向は、ソフトウェアサプライチェーンセキュリティのより広い重要性を強調しており、組織は開発パイプラインと依存関係を悪意あるコードから保護するために取り組んでいます。
翻訳元: https://www.esecurityplanet.com/threats/fake-openclaw-npm-package-installs-ghostclaw-malware/