北朝鮮のNullReceiverマルウェア、ゼロ額のイーサリアム取引にC2 IPを隠蔽

研究者らは、通常のイーサリアム取引の中にコマンド&コントロール(C2)インフラを隠す、北朝鮮関連の新たなnpmマルウェア手法を特定しました。

NullReceiverと名付けられたこの手法は、正規のTailwind CSSプラグインを装った2つのトロイの木馬化されたnpmパッケージ、[email protected][email protected]で発見されました。

これらのパッケージは、北朝鮮による「Contagious Interview」キャンペーンと関連しています。マルウェアは悪意あるドメインやIPアドレスをコード内に直接埋め込む代わりに、実行時にイーサリアムのブロックチェーンからC2サーバーを取得します。

これにより攻撃者のインフラをブロックすることがより困難になり、運用者は強靭な公開デッドドロップの仕組みを手に入れることになります。

NullReceiverは、北朝鮮の活動と関連付けられている別のブロックチェーンベースのC2手法「EtherHiding」の進化形とみられています。

ただし、スマートコントラクトとのやり取り、取引ペイロード、固定の宛先アドレスなど、EtherHidingに対して用いられてきたいくつかの検知手段を無効化している点が特徴です。

NullReceiverはスマートコントラクトを使用せず、イーサリアム取引のcalldataにデータを保存することもありません。代わりに、ゼロ額のイーサリアム取引における受信者(「to」)アドレスにC2のIPアドレスをエンコードします。

文字列「A10-npm3!」は、関連コードを追跡する防御側にとっての検知シグネチャとして利用できます。

このマルウェアは、1rpc.ioやeth.drpc.orgを含む公開イーサリアムRPCエンドポイントに問い合わせ、攻撃者が管理するウォレットに関連する直近の活動を取得します。

復元された取引の値は0で、入力フィールドは空、すなわち「input」: 「0x」となっていました。つまり、一見すると通常のウォレット間の空の送金取引に見えるということです。

受信者アドレスは資金の受け取りを意図したものではなく、隠しデータを格納する入れ物として機能しています。観測された受信者アドレスは以下の通りです。

そのバイト列をデコードすると、C2のIPアドレス166.88.134.62が現れます。またアドレス末尾のバイトをデコードすると、ASCII文字列「helloipbot!!」が現れ、攻撃者を特定する追加の手がかりとなります。

この手法が注目される理由は、従来のブロックチェーンマルウェア検知が、不審なスマートコントラクト呼び出しや、空でないcalldata、既知の暗号資産アドレスとのやり取りに着目することが多い点にあります。NullReceiverはこれら3つのシグナルをいずれも回避します。

Google Threat Intelligenceが2025年に北朝鮮関連の活動として公に関連付けたEtherHidingは、イーサリアムのよく知られたバーンアドレス(一般に0x000…dEaDと表記される)宛ての取引のcalldataにC2データを隠します。

この手法はスクリプトや完全なURLを含む大容量のデータを運べる一方、宛先が固定されているため恒久的な検知ポイントを生み出してしまいます。

NullReceiverは秘密情報の保存場所を変えています。既知のバーンアドレスや識別可能なペイロードフィールドを使う代わりに、使い捨ての受信者アドレスの中に短いC2の値だけを保存する、とopensourcemalwareは述べています

NullReceiverの主な利点は、固定の宛先アドレスが存在しないことです。EtherHidingの取引は、公開されよく知られたバーンアドレスを監視することで検知できます。

これに対しNullReceiverは、分析者が攻撃者のウォレットを特定しデコード処理を解析するまでは意味を持たないように見える、新規の受信者アドレスを次々と使用します。

注: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため意図的にディフェンス表記([.]など)にしています。再度有効な表記に戻す作業は、MISP、VirusTotal、あるいは自組織のSIEMなど、管理された脅威インテリジェンス基盤内でのみ行ってください。

SOC調査の死角を減らし、ANY.RUNで脅威を早期に封じ込めることで、対応コストと業務への影響を抑えましょう。

翻訳元: https://cyberpress.org/nullreceiver-hides-ethereum-c2/

ソース: cyberpress.org