北朝鮮のハッカー、イーサリアムにC2サーバーを隠蔽

北朝鮮のサイバー犯罪集団は、これまで長らく指令サーバーを隠す手法を模索してきました。追跡不可能かつ遮断されない状態にしたいと考えていたのです。現在、彼らは一見何の変哲もない暗号資産の送金を利用しています。この送金は、一見すると完全に空っぽに見えます。送金額はゼロです。さらに、付随するデータも一切ありません。この種の取引において唯一意味を持つ要素は、受取アドレスです。実はこのアドレスの中に、指令サーバーのIPアドレスがひそかに埋め込まれています。

NullReceiverの発見

ポール・マッカーシー氏は最近、この手法をイーサリアムのブロックチェーン上で明らかにしました。同氏は6mileという名義で発表しています。研究者たちはこの手法をNullReceiverと名付けました。これは、bianira-uiとfluid-type-uiという2つの悪意あるnpmパッケージに組み込まれています。これらのパッケージは、正規のTailwind CSSプラグインを装っています。両パッケージは、北朝鮮による「Contagious Interview」キャンペーンと直接関連しています。このキャンペーンは、偽の採用試験を通じて開発者を狙うことで知られています。

EtherHidingからの進化

これまで、この脅威アクターはEtherHidingと呼ばれる類似の手口を用いてきました。この手法では、攻撃者はよく知られたトークンの「バーンアドレス」に対して取引を送信していました。その一方で、指令サーバーのアドレスを取引のデータフィールド内に隠していました。時には、悪意あるスクリプト全体をそこに隠すこともありました。しかし、この手口の本質的な弱点は、送信先アドレスが固定されている点にありました。サイバーセキュリティの専門家たちは、まさにこのアドレスを徹底的に文書化し、監視していたのです。

NullReceiver手法の仕組み

NullReceiverは、この特定の脆弱性を効果的に解消しています。まず、悪意あるコードがあらかじめ用意された攻撃者のウォレットに問い合わせます。次に、直近の送金取引を特定します。最後に、コードが受取アドレスを抽出します。このアドレスは、実際には資金を受け取ることを意図していません。むしろ、開発者たちが特定の目的のために人為的に作り出したものです。復号すると、そのバイト列は指令サーバーのIPアドレスとして現れます。今回発見された検体では、受取アドレスがIPアドレス166.88.134.62に解決されました。さらに、末尾には「helloipbot!!」という文字列が付いていました。この文字列は、開発者たちが残した独自の署名と見られています。

検知における課題

この手法には、追跡可能な固定アドレスが存在しないという特徴があります。さらに、この取引には、既存のヒューリスティックで識別できるデータも含まれていません。送金自体は、ネットワーク手数料が最小限に抑えられています。そのため、自動検知による早期発見はほぼ不可能です。セキュリティチームは、パッケージを発見し分析して初めて、悪意ある活動を疑うことができます。

攻撃者ウォレットの追跡

一方で、これらの送金を統括する攻撃者ウォレットは、頻繁に使い回されています。攻撃者はこれを、多岐にわたる複数のキャンペーンにまたがって利用しています。そのため、防御側は初回検知の時点から、このウォレットを継続的に監視することが可能です。このプロセスは、EtherHiding全盛期にアナリストがバーンアドレスを監視していた手法と非常によく似ています。マッカーシー氏は、北朝鮮の攻撃者たちが手口を公開レポートで暴かれるたびに、即座に手法を高度化させていくのが常だと指摘しています。

今後の見通しと対策

同氏は、近いうちに戦術の大きな転換が起きると予測しています。NullReceiver手法は、EtherHidingに完全に取って代わる可能性が高いとされています。そして、npmを悪用したキャンペーンにおける秘密裏の指令制御手法として、最も重要な位置を占めるようになるでしょう。組織は、パッケージの出所を厳格に検証することで、こうした危険を軽減できます。npmパッケージをインストールする前に、その信頼性を確認する必要があります。さらに、ネットワーク接続を常に注意深く監視することも欠かせません。チームは、侵害指標として特定されたIPアドレスやウォレットを、積極的にブロックする必要があります。

翻訳元: https://meterpreter.org/nullreceiver-npm-malware/

ソース: meterpreter.org