This post is also available in: English (英語)
概要
仮想通貨(暗号通貨)の価格が記録的高値に達するたびに、クリプトジャックアクティビティが急増することに、とくにめずしさはありません。金銭的インセンティブは、間違いなく多くの人々を不法な誇大広告の波に乗らせています。実際のところ、Unit 42のリサーチャーも、攻撃者がエクスプロイトに成功時にペイロードとして悪意のあるクリプトマイナーを配信しようとするインシデントを複数観測しています。
最近、Unit 42のリサーチャーは、UPXパックされたcpuminerが、悪意のあるトラフィックで配信されていることを発見しました。この悪意のあるトラフィックは一見エクスプロイトのように見えますが、悪意のあるリクエストにバックドアの証拠が存在していることから、侵害ホスト上でバックドアが実行されていることが示唆されます。リクエストされたペイロードを受信すると、バックドアはcpuminerの亜種のダウンロードへと進み、クリプトジャックオペレーションを実行します。
本稿では、米国の教育機関に対する3つのインシデントからのバックドアコマンドトラフィックの簡単な分析と比較に加え、バックドアWebシェルによってダウンロードされたミニシェルとcpuminerペイロードに関する一般的な調査結果について解説します。
パロアルトネットワークスの次世代ファイアウォールを脅威防御、WildFireのセキュリティサブスクリプションとともにご利用のお客様は、これらのクリプトジャックアクティビティを検出して保護することができます。パロアルトネットワークスのAutoFocusをお使いのお客様も保護されています。
インシデント1: 偽装したバックドア
最初のインシデントは2021年2月16日に発生しました。図1に示した悪意のあるトラフィックは、p1パラメータの値のサニタイズが不十分です。このため、一見するとコマンドインジェクション脆弱性に見えなくもありません。ですが、このHTTPリクエストにはいくつか顕著な特徴があります。調査したところ、これはWebシェルバックドアのコマンドの可能性が高いことが分かりました。
最初の疑わしい特徴はp1パラメータのwgetペイロードです。ペイロード自体の前に「|」や「&」などの先行する文字がありません。つまり、アプリケーションが文字通りp1パラメータ内の値をどんなものであれ受け取り、それをOSコマンドとして実行することをこれは意味しています。こうした動作を正規ソフトウェアがすることはめったにありません。バックドアの場合はごく普通に見られます。
次の興味深い兆候は、教育機関の所有するドメインのホストです。このコンテキストから考えて、システム管理者が、聞いたこともないアプリケーションを使う可能性はまずありません。たしかにsysadminがカスタムアプリケーションをビルドして実行すること自体は可能ですが、通常の状況で明らかにバックドアの弱点をもつアプリケーションでそれをやるというのはまずありえないでしょう。また、調査時点でこのバックドアが利用できなかったという事実もこのバックドアの当該ドメインでのホスティングが意図されたものではなかったことをうかがわせます。
最後の顕著な特徴はUser-Agentの文字列「WHR」です。アプリケーションとそれに対応するUser-Agentには実際にはなんら制限はないのですが、正規アプリケーションが「WHR」のような通常見られないUser-Agent文字列を期待することはまずありません(図1参照)。通常のエクスプロイトトラフィックの場合、ブラウザと関連バージョンを指定する普通のUser-Agent文字列が含まれる傾向があります。一方バックドアとマルウェアはカスタムUser-Agent文字列を使用する傾向があります。なお、私たちは、このUser-Agent「WHR」を、あるマルウェアに関連したリポジトリでたまたま見つけることができました。
インシデント2と3: 1との比較
次の図2は、2021年3月10日に観測された2番目のインシデントを、同じく図3は2021年3月15日に検出された別のインシデントを示しています。この悪意のあるリクエストをインシデント1のリクエストとの比較するといくつか類似点が見られます。攻撃パターンが同一、対象とした業界(教育)が同一、cpuminerペイロードが同一であるというところです。つまりこれはクリプトジャックオペレーションの背後にいる攻撃者が同じである可能性が高いことを示唆しています。
これら多くの類似点がある一方、指摘しておくべき相違点もいくつかあります。
まず最初の大きな違いは、User-Agent文字列「 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)」です。先に述べたように、カスタムUser-Agentは不必要な注意を引く可能性があります。ありふれたUser-Agent文字列を使用する行為は、攻撃者が悪意のあるリクエストを無害なトラフィックに紛れこませ、検出を回避しようとしていることをうかがわせます。
2番目の大きな違いは、図1に示した以前の悪意のあるリクエストと異なり、passに値が存在することです。このpassの値は、バックドアの知識がある人だれでもではなく、正当なオペレーターだけにバックドアの使用を制限する目的で使用されている可能性があります。
また、被害を受けたのはいずれも教育セクタではあるものの被害者は異なっています。インシデント1と2は、ある単一の教育組織を対象としていた(図1、図2参照)のに対し、インシデント3は別の教育組織を対象としていました(図3参照)。同一業界に焦点を当てていることを除けば、どういう基準で標的を選択したのかは現時点ではわかっていません。
最後になりますが、wgetのペイロードも重要です。同じcpuminerのペイロードに加え、バックドアコマンドは、正当なwp-load.phpファイルに偽装したミニシェルをダウンロードするようバックドアに指示していました。このミニシェルは他の場所に移動されていないので、ミニシェルの現在のディレクトリとバックドアは、インターネットに公開されているWebディレクトリであるものと私たちは推測しています。
攻撃者の最終目標はCMsX5dXBq8nLPa2fkC9KX1mQiUgErYj7aiとsugar1q4aegj76eaeq9jwz3s5ct884grznwzx4wv7ah69というウォレット固有アドレスで仮想通貨を受け取ることです。
これらすべてのバックドアらしき特徴がHTTPリクエスト内で観測されており、wso webshellに似た機能もあることから、侵害されたホスト上で実行されているバックドアにバックドアコマンドが送信されていることは明らかです。
Cpuminerのペイロード
悪意のあるリクエストを正常に受信したときにダウンロードされるペイロードは、UPXパックされたcpuminerです。他の悪意のあるクリプトマイナー同様、このサンプルも指定されたパラメータに基づいてクリプトジャックを実行します。インシデント1では、指定されたマイニングアルゴリズム「cpupoer」のタイプミスが原因でクリプトジャックは失敗しています(図4参照)。サンプルのヘルプバナーに基づけば、攻撃者はクリプトジャックにcpupowerアルゴリズムを使用することを意図していたのでしょう。
インシデント2と3では、攻撃者は別のアルゴリズムYespowerSugarを選択していました。今回はスペルが正しいので、コマンドリクエストは正常に受信されバックドアによりcpuminerペイロードが実行されます。
結論
今後もクリプトジャックは発生しつづけるでしょうし、クリプトジャックを可能にするネットワーク攻撃もまたしかりでしょう。
今回インストールされたバックドアにどのような攻撃ベクトルが使われたかについては明らかにはなりませんでしたが、パロアルトネットワークスの次世代ファイアウォールをご利用のお客様は、次のセキュリティサブスクリプションでこれらの攻撃から保護されています。
- 脅威防御がベストプラクティス構成を使用し、エクスプロイトとC2トラフィックをブロックします。本脅威の追跡・保護にご利用いただける関連脅威IDは90402です。脅威検出用のコンテンツを最新版に更新してください。
- WildFireは振る舞いヒューリスティックス検出により同マルウェアを阻止します。
- AutoFocusをUPXパックされたマイナーとその亜種の追跡にご利用になれます。
IoC
Cpuminer(UPXパック)
- 1adffca6b8da4af1556b0e4ba219babdf979be25ad45431eb2e233fdee0a8952
Mini Matamu Webシェル
- 770c34a2a7b0c58c861644caee402c02c091ea102820ad7df18a77f59a129682
マルウェアをホスティングしているサイト
- 185[.]213[.]209[.]151
- 118[.]97[.]221[.]252
- 34[.]237[.]228[.]194
- 23[.]106[.]253[.]151
マイニングサーバーのURL
- 135[.]181[.]62[.]60:4555
- 135[.]181[.]62[.]60:6238
- stratum+tcp://ca-tor01[.]miningrigrentals[.]com:50209