悪意あるNuGetパッケージがNethereumを装い、仮想通貨ウォレットの秘密鍵を窃取

概要:巧妙なサプライチェーン攻撃

Socketの脅威調査チームは、NuGetパッケージレジストリを介して仮想通貨開発者を標的とした巧妙なサプライチェーン攻撃を発見しました。この悪意あるパッケージは、秘密鍵やニーモニックを含む機密性の高いウォレットデータを外部に送信し、パッケージレジストリのセキュリティ慣行における重大な脆弱性を浮き彫りにしています。

攻撃の中心は「Netherеum.All」というパッケージで、一見すると正規のNethereumライブラリと区別がつきません。しかし、決定的な違いは、パッケージ名にラテン文字の「e」ではなくキリル文字の「е」(U+0435)が使用されている点にあります。これにより、注意を払わないと正規のパッケージと見分けがつきにくくなっています。

このホモグラフ攻撃は、他の主要なパッケージレジストリとは異なり、識別子をASCII文字に制限していないNuGetの寛容なUnicode命名規則を悪用したものです。攻撃者は、Nethereumを装った悪意あるパッケージを公開し、ホモグラフタイポスクワッティングという手法を用いて、開発者を騙して不正なコードをインストールさせました。

悪意あるパッケージは2025年10月16日に初めて公開され、Socketの調査チームは10月18日にNuGetに報告しました。NuGetは迅速に対応し、10月20日にはパッケージを削除し、関連する発行元アカウント(nethereumgroup)を停止しましたが、公開から削除までの4日間で潜在的な侵害が発生する可能性がありました。

偽装された信頼性:ダウンロード数の水増し

攻撃者は、悪意あるパッケージを正規で人気があるように見せかけるため、ダウンロード数を人為的に水増しするという第二の欺瞞戦略を用いました。公開から数日以内に、Netherеum.Allは合計1,160万ダウンロードを記録しましたが、これは新規パッケージとしては不自然に高い数字です。

研究者たちは、これを複数のパッケージバージョンを循環させ、IPアドレスをローテーションし、ユーザーエージェントを操作してCDNキャッシュを回避する自動ダウンロード水増しスクリプトによるものと見ています。この人為的な人気向上は、検索ランキングアルゴリズムに大きな影響を与え、パッケージに誤った信頼性を与え、Nethereumを探している開発者が悪意あるバージョンに遭遇する可能性を高めました。

マルウェアの機能:ステルスなデータ窃取

マルウェアの核となる機能は、「EIP70221TransactionService.Shuffle」というメソッドにあります。このメソッドは、実行時までコマンド&コントロール(C2)エンドポイントを隠蔽するためにXOR暗号化を使用しています。マルウェアは、44バイトの位置ベースXORマスクを使用してハードコードされたシード文字列をデコードし、真のC2エンドポイントである「solananetworkinstance[.]info/api/gads」を明らかにします。

このコードが呼び出されると、呼び出し元から提供された機密データ(ニーモニック、秘密鍵、キーストアJSONファイル、署名済みトランザクションデータなど)を含む「message」というフォームフィールドを持つHTTPS POSTリクエストが送信されます。

この攻撃の巧妙さは、そのステルス性にあります。悪意あるパッケージには、正規のNethereumライブラリ(Nethereum.Hex、Nethereum.Signer、Nethereum.Util、Nethereum.RPC)への正当な参照が含まれており、感染したアプリケーションが正常にコンパイルされ、期待通りに機能することを保証します。Shuffleメソッドは、開発者がトランザクションヘルパーやアカウント初期化関数を呼び出す際にのみ実行されます。これは、開発者が信頼する日常的な暗号操作中に発生します。開発者の視点からは、アプリケーションは完全に機能しているように見えますが、その裏で機密性の高いウォレットデータが攻撃者制御のサーバーに密かに外部送信されています。

継続的な攻撃のパターンと推奨事項

このキャンペーンは、NuGetのEthereumエコシステムに対する協調的な攻撃の第二弾です。研究者たちは、Netherеum.Allを以前のタイポスクワットである「NethereumNet」と関連付けました。NethereumNetも同一の外部送信手法を使用し、同じマルウェアコードベースを共有していました。

両パッケージは、異なるNuGetエイリアス(nethereumgroupとNethereumCsharp)を使用する同じ脅威アクターによって公開されており、個別の削除にもかかわらず、永続性を維持するための意図的な戦略を示しています。NethereumNetはこの調査以前にすでに削除されていましたが、アクターがわずかな変更で迅速に再展開できる能力は、仮想通貨開発者を侵害しようとする継続的な決意を示しています。

開発者と組織への推奨事項:

  • 悪意あるパッケージをインストールした開発者は、ウォレット操作で扱われたすべての秘密が侵害されたとみなし、直ちに秘密鍵、ニーモニック、キーストアのパスワードをローテーションする必要があります。
  • 組織は、発行元の身元確認、マージ前の依存関係スキャン、不審なネットワーク活動の異常検出など、より厳格な依存関係衛生管理を導入すべきです。
  • レジストリの管理者は、ホモグラフ攻撃ベクトルを排除するためにASCIIのみの命名規則の採用を検討する必要があります。
  • 開発者は、パッケージが本番環境に到達する前に、ホモグラフ、異常なダウンロードパターン、不審なランタイム動作を検出するセキュリティツールを活用すべきです。

元記事: https://gbhackers.com/nuget-packages/