macOSを対象とした仮想通貨取引所のCookieを窃取するマルウェアの発見

This post is also available in: English (英語)

概要

パロアルトネットワークスの脅威インテリジェンスチームUnit 42は、Macプラットフォームを標的にすることで知られているマルウェア「OSX.DarthMiner」から開発されたと思われる、仮想通貨取引所などに関連したブラウザのCookieを窃取するマルウェアを発見しました。

このマルウェアは、被害者がアクセスした主な仮想通貨取引所やウォレットサービスのWebサイトに関連するブラウザのCookieおよび、Chromeに保存されたパスワードを窃取します。そして最終的には、接続されているMacのiTunesのバックアップからiPhoneのテキストメッセージの窃取を試みます。

悪意のある攻撃者は、過去の攻撃に基づき、窃取したログイン資格情報やWebのCookie、およびSMSデータを組み合わせることで、取引所やウォレットサービスの多要素認証をバイパスできたものと思われます。

多要素認証をバイパスできれば、被害者の取引所のアカウントまたはウォレットにフルアクセスし、被害者であるユーザー本人を装ってそれらの資金を使用できるようになります。

また、このマルウェアは、仮想通貨マイニング用のソフトウェアがロードされるようにシステムを構成します。このソフトウェアは、Moneroのマイニングに使用されるXMRIGタイプのマイニングソフトに似せて作られています。ただし実際には、日本産の仮想通貨であるKotoをマイニングするマイニングソフトをロードします。

このマルウェアが取引所に関連するCookieを攻撃する方法から、私たちはこのマルウェアを「CookieMiner」と名付けました。

以降の各セクションでは、まずいくつかの背景知識を簡単に紹介し、マルウェアの動作の技術的な詳細について深く掘り下げて考察します。

背景

WebのCookieは、認証のために広く使用されています。ユーザーがWebサイトに一度ログインすると、Webサーバーがログイン状態を認識できるようにするために、そのWebサイトのCookieが保存されます。このCookieが窃取されると、攻撃者がそのWebサイトにサインインして被害者のアカウントを使用できるようになる可能性があります。

Cookieの窃取は、ログインの異常の検出を回避するための重要なステップです。ユーザー名とパスワードのみが窃取され、悪意のある攻撃者によって使用された場合、新規のログインに対して警告が出されたり、追加の認証を要求されたりすることがあります。しかし、ユーザー名やパスワードだけでなく認証Cookieも使用された場合、ログインを以前に認証されたシステム ホストに関連するものとみなして信頼しされるかもしれません。

仮想通貨取引所は、仮想通貨を他の資産(別のデジタル(仮想)通貨や従来の法定通貨など)と交換する場所です。現在のほとんどの仮想通貨取引所やオンラインウォレット サービスは、多要素認証機能を備えています。

CookieMinerは、ログイン認証情報、テキスト メッセージ、およびWebのCookieの組み合わせを窃取して、認証プロセスをすり抜けようとします。

悪意のある攻撃者は、被害者のIDを使用してWebサイトへの侵入に成功すると、資金を引き出すことができるようになります。これは、公然と仮想通貨マイニングを行うよりも効率的な利益の創出方法かもしれません。さらに、攻撃者は、窃取した資産を大量に売買することにより仮想通貨の価格を操作して、利益をさらに上げることができるかもしれません。

技術的な詳細

CookieMinerの動作の流れは以下の通りです(詳細は以降のセクションで説明します)。

  • Google ChromeおよびApple SafariのブラウザのCookieを被害者の端末から窃取する
  • Chromeに保存されているユーザー名とパスワードを窃取する
  • Chromeに保存されているクレジットカードの認証情報を窃取する
  • iPhoneのテキストメッセージがMacにバックアップされている場合は、それを窃取する
  • 仮想通貨のウォレットのデータとキーを窃取する
  • バックドアEmPyreを使用して被害端末の完全な制御権を維持する
  • 被害者の端末で仮想通貨をマイニングする

Cookieの窃取 

CookieMinerの攻撃は、macOSを標的にしたシェル スクリプトから始まります。図1に示すように、SafariブラウザのCookieをフォルダにコピーして、リモートサーバー(46.226.108[.]171:8000)にアップロードします。このサーバーは、サービス「curldrop」(https://github.com/kennell/curldrop)をホストしており、それによってユーザーはcurlを使用してファイルをアップロードできます。この攻撃は、Binance、Coinbase、Poloniex、Bittrex、Bitstamp、MyEtherWallet、およびドメイン名に「blockchain」を含むWebサイト(www.blockchain.comなど)などの仮想通貨取引所に関連するCookieを標的にします。

図1 WebのCookieを窃取するコード
図1 WebのCookieを窃取するコード

クレジットカード、パスワード、ウォレット、およびSMSの窃取

標的にされているWebブラウザはAppleのSafariだけではありません。攻撃者は、広く使用されているGoogle Chromeにも関心を寄せています。CookieMinerは、「harmlesslittlecode.py」という名前のPythonスクリプトをダウンロードして、保存されているログイン認証情報やクレジット カード情報をChromeのローカル データ ストレージから抽出します(図2)。

図2 マルウェアによるChromeの機密データの抽出
図2 マルウェアによるChromeの機密データの抽出

CookieMinerは、GoogleのChromiumプロジェクトのコードの技法を悪用して、復号と抽出の操作を行っています。Google Chromiumは、Google Chromeブラウザのオープンソース版です。CookieMinerは、これらの技法を悪用して、Visa、Mastercard、American Express、Discoverなどの主な発行元からクレジット カード情報を窃取しようとします(図3)。ユーザー名、パスワード、対応するWebのURLなどの、ユーザーが保存したログイン認証情報も窃取されます(図4)。

図3 CookieMinerによるクレジット カード情報の抽出
図3 CookieMinerによるクレジット カード情報の抽出
図4 CookieMinerによるログイン認証情報の抽出
図4 CookieMinerによるログイン認証情報の抽出

CookieMinerは、すべてのウォレット関連のファイル パスをリモート サーバーに報告して、後からC2コマンドに従ってファイルをアップロードできるようにします。これらのファイルには通常、仮想通貨ウォレットのプライベート キーが含まれています。被害者がiTunesを使用してiPhoneからMacにファイルをバックアップしている場合(Wi-Fi経由のこともあり)、攻撃者は、被害者のiPhoneのテキスト メッセージ(SMSFILE)も取得します(図5)。

図5 マルウェアによるウォレット、Cookie、パスワード、およびSMSの窃取
図5 マルウェアによるウォレット、Cookie、パスワード、およびSMSの窃取

仮想通貨マイニング

CookieMinerは、仮想通貨をマイニングして永続性を維持するよう被害者の端末を構成するための、一連のコマンドを発行します(図6)。プログラムxmrig2は、

仮想通貨をマイニングするためのMach-Oの実行ファイルです。図7に示すように、アドレス「k1GqvkK7QYEfMj3JPHieBo1m7FUkTowdq6H」のマイニング パフォーマンスは注目に値します。Maruruマイニング プール(koto-pool.work)の上位マイナーにランクされています。

マイニングされる仮想通貨は、Kotoと呼ばれるZcashベースの匿名仮想通貨です。図8のアドレスでは、CPUマイナーには適していてもGPUマイナーには理想的ではない「Yescrypt」アルゴリズムを使用しています。これは、マルウェアには理想的なアルゴリズムです。被害者のホストに別個のGPUがインストールされている保証はなくても、CPUを備えていることは保証されているからです。しかし、ファイル名xmrig2は通常、Moneroのマイニングソフトが使用する名前です。私たちは、ソフトが実際には仮想通貨Kotoをマイニングしていることから、マルウェアの作成者が混乱を生じさせようとしてこのファイル名を意図的に使用した可能性があると考えています。

図6 CookieMinerによる仮想通貨のマイニング
図6 CookieMinerによる仮想通貨のマイニング
図7 作業者のマイニング パフォーマンス
図7 作業者のマイニング パフォーマンス

リモート制御

永続性とリモート制御を実現するために、このスクリプトは、base64でエンコードされたPythonスクリプトをhxxps://ptpb[.]pw/OAZGからもう1つダウンロードします。私たちは、難読化解除を数ステップ実行した後、攻撃者がEmPyreを使用してエクスプロイト後の制御を行っていることを発見しました。

EmPyreは、暗号論理上安全な通信と柔軟なアーキテクチャに基づいて構築されたPythonのエクスプロイト後のエージェントです。攻撃者は、被害者の端末にコマンドを送信してリモート制御できます。さらに、このエージェントは、被害者の端末上でLittle Snitch(アプリケーション ファイアウォール)が実行されているかどうかをチェックします。実行されている場合、エージェントは停止し、終了します。

結論 

マルウェア「CookieMiner」は、認証情報を収集して仮想通貨をマイニングすることにより、攻撃者の利益の確保を促しています。攻撃者は、認証プロセスに必要なすべての情報を持っていれば、多要素認証を無効にできます。仮想通貨のアカウント所有者は、セキュリティ設定とデジタル資産をチェックして、侵害と漏洩を防ぐ必要があります。

パロアルトネットワークスのお客様は、マルウェアを自動的に検出できるWildFireによって保護されています。AutoFocusをご使用のお客様は、StealCookieタグで、この活動を調べることができます。

侵害のインジケーター(IOC)

サンプル

  • c65e65207f6f9f8df05e02c893de5b3c04825ac67bec391f0b212f4f33a31e80 uploadminer.sh
  • 485c2301409a238affc713305dc1a465afa9a33696d58e8a84e881a552b82b06 harmlesslittlecode.py
  • 27ccebdda20264b93a37103f3076f6678c3446a2c2bfd8a73111dbc8c7eeeb71 OAZG
  • 91b3f5e5d3b4e669a49d9c4fc044d0025cabb8ebb08f8d1839b887156ae0d6dd com.apple.rig2.plist
  • cdb2fb9c8e84f0140824403ec32a2431fb357cd0f184c1790152834cc3ad3c1b com.proxy.initialize.plist
  • ede858683267c61e710e367993f5e589fcb4b4b57b09d023a67ea63084c54a05 xmrig2

C2情報

  • hxxps://ptpb[.]pw/OAZG
  • 46.226.108[.]171