ナビゲーションをスキップする
BlackBerry ブログ

進化を続けるマルウェアツールキット MaaSで販売されるEternity Project

原文のブログはこちらからご覧いただけます。

Eternity Project という名前は、シンボル一文字を名前とするあのポップスターの豪華な新譜のような響きを持っています。しかし実際には MaaS(Malware-as-a-Service)として販売されるマルウェアツールキットを指しており、最安プランの年間サブスクリプション費用は Netflix の契約よりも安価です。このサービスを運営する脅威アクターは「Eternity Group」と名乗り、TOR 上の匿名市場や Telegram チャンネルを介してマルウェアを配布しています。

このグループは英語とロシア語で製品を販売しており、2021 年 7 月から活動しているロシアの「Jester Group」と関連しているようです。Eternity Group の MaaS プラットフォームで一商品として販売されている Eternity Stealer は、ウクライナを狙うマルウェアとして 2022 年 5 月に確認された Jester Stealer のリブランドと見られます。

この脅威アクターは、メッセージングプラットフォームの Telegram で機能のアップデートを通知しています。さらに、Telegram のボット機能を使用して、購入者がマルウェアの構成をカスタマイズし、望みの機能を選択できるようにしています。マルウェアは年間サブスクリプションまたは永続ライセンスとして販売され、ツールキットの個々のパーツごとに 90 米ドルからおおよそ 500 米ドルの間で価格がつけられています。
 

オペレーティングシステム


リスクと影響


Eternity Project の MaaS における価格設定

このマルウェアツールキットは Eternity Project の TOR Web ページでホストされ、図 1 に示すように、販売中のマルウェアの構成要素ごとに機能の概要が書かれています。ツールキットに含まれる各マルウェアの価格は個別に設定され、以下のようになっています。

  • Eternity Stealer - 260 ドルの年間サブスクリプション
  • Eternity Miner - 90 ドルの年間サブスクリプション
  • Eternity Worm - 390 ドル
  • Eternity Ransomware - 490 ドル
  • Eternity Clipper - 110 ドル
  • Eternity DDoS Bot - (開発中)
     

図 1 - 各種マルウェアの販売情報が掲載された Eternity の TOR Web ページ
 

Eternity は Cyble 社の報告によって初めて存在が明らかになりましたが、この報告ではグループの Telegram チャンネルに 500 人以上の参加者がいるとされていました。このチャンネルは後に利用停止処分となり、図 2 に示すチャンネルが新たに作成されています。この記事の執筆時点では、この新しいチャンネルには 150 人が参加しています。
 

図 2 - 製品のアップデート通知に使用される新しい Telegram チャンネル
 

Eternity Ransomware の動作

Eternity が提供するランサムウェアは .NET の実行可能ファイルであり、「Microsoft.exe」という名前でユーザーの油断を誘っています。このファイルにはオープンソースの概念実証(PoC)ランサムウェア「Povlsomware」との類似点が多くあり、コード文字列の中にこのランサムウェアの名前が含まれているほどです。Eternity Ransomware の開発者は、オープンソースである Povlsomware の GitHub ページからソースコードを流用し、それを改変して独自のランサムウェアを作成していると見られます。

図 3 に示すように、Eternity Ransomware はシステム起動時に自身を実行するようにスタートアップレジストリを変更し、標的マシンでの永続性を確保しています。

 

図 3 – Eternity がスタートアップのレジストリキーを変更して永続性を確保するコード
 

このマルウェアは個人用のファイルを標的としており、788 種類のファイル拡張子からなるリストを用いて対象ファイルを検索、見つけたファイルは AES256 で暗号化します。

BlackBerry がこれまでに確認したほとんどのランサムウェアと異なり、Eternity は拡張子を付加せずに暗号化を実施します。通常、ランサムウェアは暗号化したファイルに一意の拡張子を付加するものですが、Eternity の場合は元のファイル拡張子が維持されます。ただし、ファイルの内容が変更されているため、暗号化されたファイルはもはや本来の意図では機能しません。

重要なシステムファイルが使用不能に陥ることを避けるため、マルウェアは以下のディレクトリのファイルに対しては暗号化を行いません。

  • All Users\\Microsoft\\
  • AppData\\
  • C:\\Program Files
  • \\Eternity\\
  • C:\\ProgramData\\
  • $Recycle.Bin
  • \\source\\
  • Temporary Internet Files
  • C:\\Windows

暗号化が終わると、マルウェアは Windows Management Instrumentation(WMI)を使用してシャドウコピーを破棄しようとします。これらのバックアップが削除されると、被害者がマシンを暗号化前の状態に戻すことが難しくなります。
 

図 4 - Eternity はバックアップを削除し、被害者がマシンを暗号化前の状態に戻せないようにする
 

暗号化の後、被害者にはデスクトップにドロップされた脅迫状が示されます。その文言には、マシン内のファイルを「ミリタリーグレード」の暗号方式で暗号化したと書かれているほか、被害者が暗号資産 Monero で 800 ドルを支払えばファイルを復号できるとする手順も記載されています。
 

図 5 - Eternity によってドロップされた脅迫状
 

Eternity Stealer マルウェアの機能

Eternity が提供する他のマルウェアと同様、Eternity Stealer は .NET の実行可能ファイルです。ファイルは高度に難読化されており、解析がより難しくなっています。

Eternityの脅威アクターは  Telegram のボットを用意し、このスティーラーの購入者が望み通りの仕様にマルウェアを構築できるようにしています。その実現のため、ボットは購入者に対し、どの機能をビルドに含めたいか質問します。

図 6 に示すように、利用可能なオプションとしては、AntiVM 機能(仮想マシン対策)の有効化、スタートアップ時のマルウェア起動永続化、ビルドのファイル拡張子の選択、AntiRepeat 機能の有効化があります。AntiRepeat 機能は、標的のマシンが繰り返し感染することを防ぐことにより抽出データの重複を避ける目的で用いられます。

図 6 - Stealer 向け Telegram ボットシステム構築オプション

この分析のために解析したサンプルから確認できる文字列には、オンラインのサンドボックスゲーム「Growtopia」への参照情報が多数含まれています。このマルウェアは、Growtopia アカウントの認証情報窃取ツールとして作られた旧版の Eternity(図 7 参照)に関連しているようです。この種の認証情報窃取ツールは YouTube 動画やオンラインフォーラムで機能が宣伝され、配布されることが一般的です。Growtopia のアカウントの類には、アンダーグラウンド市場で売り物になるゲーム内アイテムが含まれていることが多いため、攻撃者にとって大きな金銭的価値となり得るのです。
 

図 7 - Growtopia の認証情報を窃取する旧版の Eternity 向けビルダー

Eternity Stealer の最新版は、Growtopia を狙った旧版のコードが流用・改変されていると見られ、以下のような被害者の機密性個人情報を標的とする機能が追加されています。

  • 暗号資産ウォレット詳細情報
  • ログイン認証情報
  • ブラウザーに保存されているフォームデータ
  • Cookie
  • ブラウザー履歴
  • クレジットカード詳細情報
  • 機密データを含むファイル
  • OS およびハードウェア情報
  • インストールされているプログラム一覧
  • VPN および FTP クライアントデータ
  • ゲームソフトウェアデータ
  • メッセージングソフトウェアデータ
  • パスワード管理ソフトウェアデータ

マルウェアは収集したデータを 「%Temp%」 ディレクトリの .TXT ファイルに保存した上で、その情報を自身のコマンドアンドコントロール(C2)サーバーに抽出します。図 8 に示すように、この抽出の手口は TOR ネットワーク内の C2 を利用して実施されています。また、このサンプルではプロキシが有効化され、TOR ネットワーク上でホストされた C2 に対し、暗号化済みの .ZIP ファイルを含んだ POST リクエストがプロキシ経由で送信されています。
 

図 8 - Eternity Stealer のデータ抽出関数
 

Eternity Worm マルウェア

Eternity Worm 向けの Telegram ボットビルダーは、マルウェアを新たに購入するサイバー犯罪者候補である顧客に幅広いカスタマイズ性を提供しています。図 9 に示すように、以下の項目がカスタマイズの選択肢に含まれます。

  • ビルド後に Eternity Worm を配置する URL
  • マルウェアを直接ダウンロードするための URL
  • Discord での拡散用メッセージ
  • Telegram での拡散用メッセージ
  • AntiVM 機能を有効化するオプション
  • スタートアップ起動を有効化するオプション
  • 出力ファイルの拡張子を変更するオプション
     

図 9 - Worm 向け Telegram ボットビルダーのオプション
 

起動時には、Eternity Worm はマシンにミューテックスを作成し、「%Temp%\」と「%AppData%\Local\ServiceHub」の両ディレクトリに対し、Wormのコピーを「BQJUWOYRTO.exe」としてドロップします。そして、ディスク上のどこで起動されたかにかかわらず、Wormのオリジナルファイルを削除します。さらに、システム起動時に間違いなくWormが実行されるよう、スケジュールタスクを作成します。

Eternity Worm の悪質な特徴として、自身をさらに拡散させるために Discord および Telegram 向けのスパムを作成することが挙げられます。

図 10 に示すように、Discord 向けのスパムを作成するにあたり、Eternity Worm は「http://discord[.]com[.]/api/users/@me」への GET リクエストを発行し、対象のユーザー名のリストを取得します。この結果、ユーザー名のリストを含む JSON ファイルが得られます。続いて「http://discord[.]com[.]/api/users/@me/channels」への GET リクエストを発行し、同様に Discord のチャンネル ID のリストを含む JSON ファイルを取得します。

 

図 10 - Eternity Worm の Discord 向けスパム用のコード

次に「SendMessage」関数を呼び出し、「http://discord[.]com[.]/api/v9/channels/{0}/messages」への POST リクエストを作成します。このリクエストは被害者の ID でフォーマットされ、「Look at this. Very good stuff. [URL]」(ご参考まで。とても良い製品です。)というテキストを含むメッセージが添えられます。なお、[URL] の部分は Eternity Worm のペイロード自身がホストである URL で置き換えられます。これは、被害者を誘い込んで悪意のあるリンクをクリックさせ、Wormを拡散させるために行われています。

Eternity Worm には、Python インタープリタに感染する機能も備わっています。Wormは「%AppData%/Local/Programs/Python」ディレクトリの内容を列挙した後、感染したマシン上にあるすべてのコンパイル済み Python プロジェクトに対し、Wormをロードするためのコードを注入します(図 11 参照)。

 

図 11 - Worm が Python インタープリタへの感染に用いる関数
 

暗号資産ウォレットを狙う Eternity Clipper

Eternity Clipper の主な目的は、被害者が使用している暗号資産ウォレットのアドレスを脅威アクターのものとすり替えることです。図 12 に示すように、Telegram のボット機能でこのマルウェアをビルドする際、脅威アクターは自分の暗号資産ウォレットのアドレスを入力するよう促されます。

図 12 - Clipper 向けの Telegram ボットビルダー
 

Eternity Clipper は以下の暗号資産向けの機能を提供しています(図 13 も参照)。

  • Bitcoin
  • Etherium
  • Monero
  • Litecoin
  • Doge
  • Dashcoin
  • XRP

図 13 - Eternity Clipper がサポートする暗号資産

実行されると、やはりこのマルウェアもミューテックスを作成・確認し、システム起動時に自身が実行されるようにスケジュールタスクを変更します。そして「AddClipboardFormatListener」関数を実行し、感染したマシンのクリップボードを監視します。暗号資産のアドレスがクリップボードにコピーされた場合、それを脅威アクターがビルダーで設定していたアドレスに置き換えます。この結果、被害者が気づかないうちに暗号資産を攻撃者のアドレスに転送してしまう可能性があります。
 

Eternity Miner の動作

暗号資産マイナーは、攻撃者がホストマシンの演算能力を掠め取って暗号資産を採掘するために悪用され、この手法はクリプトジャッキングとも呼ばれます。Eternity は .NET の XMRig マイナーを使用し、暗号資産 Monero を対象としています。図 14 に示すスクリーンショットは、Eternity Miner 向けの Telegram ボットビルダーによる出力画面の一例です。

図 14 - Miner 向けの Telegram ボットビルダー

起動時、Eternity Miner は Windows® のスタートアップフォルダーに自身のコピーを配置して永続性を確保します。続いて XMRig マイナーを「explorer.exe」プロセスに注入し、暗号資産の採掘活動を開始します。また、C2 サーバーに対してビーコンアップデートを定期的に送り返します。
 

まとめ

Eternity Project を背後で操る脅威アクターは、現在の脅威環境で広く活動し続けることに強い決意を示しています。まさにこの記事を執筆している間にも、マルウェアの Telegram ページに新たなアップデートが投稿され、「一部のサーバーとデバイスが警察に押収されたが、新しいドメインはすでに用意できており、間もなくサービスを通常どおり再開する」と述べられています。

図 15 - 警察による押収に関する Eternity の Telegram 投稿
 

Eternity Project では、あらゆる攻撃者のニーズに応えるべく、カスタマイズやアップデートが可能なマルウェアが幅広く用意されています。Eternity のマルウェアを購入する脅威アクターは、侵入の痕跡(IOC)が一意となるように各マルウェアをカスタマイズできます。このカスタマイズ性はマルウェアの継続的な進化を支え、同時に脅威ハンティングをより難しくしています。

Eternity Project とそのマルウェアは、今後数か月でさらに進化を続けることが予想されます。おそらく、脅威アクターが現在開発中とされる DDoS ボットもこの進化に含まれるでしょう。脅威アクターとマルウェア購入者が利用している Telegram ページを見る限り、主な拡散手段は引き続き YouTube 動画や Discord リンク、そしてメールの添付ファイルを介したものになると思われます。Eternity ベースの攻撃から身を守るには、これらのサービスを利用する際に特に注意を払うことが重要です。
 

被害軽減のためのヒント

以下のような対策を実施することで、この記事で紹介した攻撃の影響を軽減できます。

  • 機密情報や専有情報の複数のコピーを安全に維持するための復旧計画を導入する。
  • クラックされたソフトウェアや、未確認/未検証のリンクで提供されるソフトウェアをダウンロードしない。また、従業員によるこうした行為を防止するためのルールを策定する。
  • 勤務先のログイン認証情報と個人のパスワードをブラウザーに保存しない。
  • アプリケーション構成を強化し、攻撃対象領域を削減する(MITRE D3FEND™ 手法 D3-ACH:アプリケーション構成の強化)。
  • 多要素認証を導入する(MITRE D3FEND 手法 D3-MFA:多要素認証)。
  • ドメイン名のメタデータ(名称と DNS レコードを含む)を解析し、ドメインが望ましくないホストへ名前解決する可能性があるかどうかを判定する(MITRE D3FEND 手法 D3-DNSTA:DNS トラフィックの解析)。
  • ユーザーが転送したデータ量を解析する(MITRE D3FEND 手法 D3-UDTA:ユーザーデータ転送の解析)。

YARA ルール

以下の YARA ルールは、この記事で説明した脅威を捕捉するために BlackBerry の Research & Intelligence Team が作成しました。

import "pe"


rule EternityRansom {
   meta:
      description = "Detects Eternity Ransomware"
      author = "BlackBerry Threat Research Team"
      date = "2022-05-22"
      license = "This Yara rule is provided under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) and open to any user or organization, as long as you use it under this license and ensure originator credit in any derivative to The BlackBerry Research & Intelligence Team"


   strings:
      $s1 = "The harddisks of your computer have been encrypted with an Military grade encryption algorithm."
      $s2 = "by Eternity group"
      $s3 = "Eternity"
      $s4 = "decryption_password"
      $s5 = "Povlsomware"
 

   condition:
   (
   //PE File
   uint16(0) == 0x5a4d and

   //All Strings
   all of ($s*) )
}

import "pe"


rule EternityClipper {
   meta:
      description = "Detects Eternity Clipper"
      author = "BlackBerry Threat Research Team"
      date = "2022-05-22"
      license = "This Yara rule is provided under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) and open to any user or organization, as long as you use it under this license and ensure originator credit in any derivative to The BlackBerry Research & Intelligence Team"


   strings:
      $s1 = "CopyFromScreen"
      $s2 = "CaptureDesktop"
      $s3 = "Win32Clipboard"
      $s4 = "Clipboard Manager"
      $s5 = "Eternity.exe" wide
      $s6 = "AddClipboardFormatListener"
      $s7 = "AesCryptoServiceProvider"


   condition:
   (
   //PE File
   uint16(0) == 0x5a4d and

   //All Strings
   all of ($s*) )
}

import "pe"


rule EternityWorm {
   meta:
      description = "Detects Eternity Worm"
      author = "BlackBerry Threat Research Team"
      date = "2022-05-22"
      license = "This Yara rule is provided under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) and open to any user or organization, as long as you use it under this license and ensure originator credit in any derivative to The BlackBerry Research & Intelligence Team"


   strings:
      $s1 = "Eternity 2022" wide
      $s2 = "Eternity" wide
      $s3 = "Anal Worm" wide
      $s4 = "Made in Heaven" wide
      $s5 = "Van Darkholme" wide
      $s6 = "EternityWorm.exe" wide


   condition:
   (
   //PE File
   uint16(0) == 0x5a4d and
   pe.imphash() == "f34d5f2d4577ed6d9ceec516c1f5a744" and


   //All Strings
   all of ($s*) )
}

import "pe"
 

rule EternityStealer {
   meta:
      description = "Detects Eternity Stealer"
      author = "BlackBerry Threat Research Team"
      date = "2022-05-22"
      license = "This Yara rule is provided under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) and open to any user or organization, as long as you use it under this license and ensure originator credit in any derivative to The BlackBerry Research & Intelligence Team"

   strings:
      $s1 = "Corrupting Growtopia.." wide
      $s2 = "growtopia1.com" wide
      $s3 = "Deleting previous file from startup and copying new one." wide
      $s4 = "Debug mode, dont share this stealer anywhere." wide
      $s5 = "Sending info to Eternity.." wide
      $s6 = "Taking and uploading screenshot.." wide
      $s7 = "dcd.exe" wide
      $s8 = "https://eterprx.net" wide
      $s9 = "https://eternitypr.net" wide

   condition:
   (
   //PE File
   uint16(0) == 0x5a4d and

   pe.imphash() == "f34d5f2d4577ed6d9ceec516c1f5a744" and

   //All Strings
   all of ($s*) )
}

 

侵入の痕跡(IOC)

SHA256

55bf0aa9c3d746b8e47635c2eae2acaf77b4e65f3e6cbd8c51f6b657cdca4c91 – Ransomware

eb812b35acaeb8abcb1f895c24ddba8bb32f175308541d8db856f95d02ddcfe2 – Stealer

656990efd54d237e25fdb07921db3958c520b0a4af05c9109fe9fe685b9290f7 – Worm

025e74a98cb22aab0eb2dbff69cb5abd4f1d529925d9e456f92f5fd6ff1e11c3 – Clipper

 

参照資料

https://github.com/0xFenrik/Povlsomware

https://blog.cyble.com/2022/05/12/a-closer-look-at-eternity-malware/

 

BlackBerry によるサポート

BlackBerry の インシデント対応チームは、世界的に活躍するコンサルタントから構成され、ランサムウェアや持続的標的型攻撃(APT)など、さまざまなインシデントへの対応と封じ込めのサービスを専門としています。

弊社はグローバルコンサルティングチームを常に待機させており、ご希望があれば、24 時間サポートと現地支援を提供できます。次の URL からご相談ください。 https://www.blackberry.com/ja/jp/forms/enterprise/contact-us

関連記事

 

・お問い合わせ:https://www.blackberry.com/ja/jp/forms/enterprise/contact-us

・イベント/セミナー情報:https://www.blackberry.com/ja/jp/events/jp-events-tradeshows

・サイバーセキュリティチームによるコンサルティング: https://www.blackberry.com/ja/jp/services/blackberry-cybersecurity-consulting/overview

・BlackBerry Japan:https://www.blackberry.com/ja/jp

・Facebook(日本語): https://www.facebook.com/watch/BlackBerryJPsec/

・Twitter(日本語): https://twitter.com/BlackBerryJPsec

・ LinkedIn: https://www.linkedin.com/company/blackberry/

・Youtube(日本語): https://www.youtube.com/channel/UCT2VHYwfUVC4V0AnkVZ2QIg/videos

 

The BlackBerry Research and Intelligence Team

About The BlackBerry Research and Intelligence Team

BlackBerry の Research and Intelligence Team は、新たに生じている脅威と持続的な脅威を検証し、セキュリティ担当者とその所属企業のために、インテリジェンス解析を提供しています。