2025年9月23日(火)

脅威アクターがゲームの世界へ: 偽装した Electron ベースのスティーラーが拡散中

その他の利用可能な言語EnglishDeutschEspañolFrançaisItalianoPortuguês

著者: Jozsef GegenyIlia Dafchev

 

概要

  • Acronis 脅威リサーチユニット(TRU)は、Leet Stealer、RMC Stealer(Leet Stealer の改変版)、Sniffer Stealer を含む、新たなマルウェアキャンペーンを検出しました。
  • これらのキャンペーンは、ソーシャルエンジニアリング、ゲームの話題、盗まれたブランド資産を組み合わせて被害者を騙し、Baruda Quest、Warstorm Fire、Dire Talon といったインディーズゲームタイトルを装ったマルウェアをインストールさせます。
  • 偽のゲームは、不正な Web サイトや偽の YouTube チャネルを通じて宣伝され、主に Discord 経由で配布されています。TRU は、調査時点で既にアクセスできなくなっていた偽 Web サイトの画面を取得する目的で、オープンソースのツール「urlscan.io」を活用しました。マルウェアがインストールされると、攻撃者はブラウザのデータ、資格情報、Discord トークンを窃取できるインフォスティーラーを配置します。
  • その影響は個人にとって深刻なものになります。攻撃者は、被害者になりすましてマルウェアを拡散させたり、他のユーザーを騙したり、あるいはアクセスの回復と引き換えに金銭を要求(恐喝)することさえあります。ブラウザの資格情報、決済情報、プライベートのメッセージ、暗号通貨ウォレットといった機密性の高いデータも漏洩する可能性があります。被害者はアカウントの喪失や金銭的被害、さらには精神的苦痛に直面することが少なくありません。
  • 攻撃者が操作ミスを犯し、難読化される前のソースコードのオリジナルをマルウェアパッケージ内に残したままにしたことで、技術的解析が可能になった RMC Stealer の詳細もあわせて紹介します。

はじめに

マルウェアの脅威が進化を続ける中、注目すべき傾向が見られます。Discord を通じて配布される悪意のあるプログラムが増加しており、特に Electron フレームワークで作られたものが目立っています。

ご存じない方のために補足すると、Discord はゲーマー、開発者、コミュニティ、友人グループの間で人気のある無料のクロスプラットフォーム対応コミュニケーションプラットフォームです。音声、ビデオ、テキストチャットに対応しており、リアルタイムでのコンテンツ共有に広く利用されています。

Electron フレームワークは、開発コミュニティ以外ではあまり知られていないものの、開発者が JavaScript、HTML、CSS を使用して、クロスプラットフォーム対応のデスクトップアプリケーションを構築できるオープンソースのツールです。Electron は、バックエンド機能に Node.js を、UI のレンダリングに Chromium を組み合わせています。Visual Studio Code、Spotify、Slack、Discord、特定バージョンの Skypeや Microsoft Teams など、広く使われている多くのアプリケーションの基盤となっています。

この記事では、Electron フレームワーク上に構築された最近のスティーラーキャンペーンを調査し、観察されたテクニックや配布の手口を明らかにします。具体的には、Leet StealerRMC StealerLeet Stealer の改変版)、Sniffer Stealer を用いたキャンペーン例を検証します。

TRU の調査によると、Electron ベースのスティーラーの多くは、Fewer Stealer に起源を持ち、このマルウェアファミリーの基盤となるツールと見られます。次の系譜図は、いくつかの著名なスティーラーの進化の概略を示すもので、脅威アクターが以前のコードベースを基に反復的に開発を重ねてきた様子を示しています。

Acronis
図 1: Fewer Stealer を源流とするスティーラー

 Leet Stealer2024 年末に登場しました。11 月に Telegram 上で、以下の機能とともに公開されています。

Acronis
図 2: Leet Stealer の機能

Malware as a Service(MaaS)として販売され、すぐに月額 30 ドルのスターターパッケージと、月額 40 ドルの豊富な機能のアドバンストパッケージという階層型のサブスクリプションプランが用意されました。

Telegram チャネルの加入者数は、2025 年初頭時点でわずか 387 人に過ぎませんでしたが、Leet Stealerを決して過小評価すべきではありません。フォロワー数は少なく見えるかもしれませんが、特にその活発な開発・販売活動から見ると、決して無視できない存在です。

2025 年 4 月には、Leet Stealer のソースコードが、Hexon Stealer として知られる別のスティーラーとバンドルされて売りに出されました。これは両者が同じ運用者によるものか、作者が共通している可能性を示唆しています。

Acronis
図 3:販売されたソースコード

Leet Stealer の開発者は、カスタムスティーラーの特注依頼を受け付けていると述べています。TRU は、RMC Stealer Leet Stealer の改変コピーとして生まれた可能性が高いと考えています。この関係性は、コードの比較によって裏付けられます。

Acronis
図 4:リブランディング

この画像から分かるように、開発者は新たに Mave Stealer というプロジェクトも開始しており、これもおそらく Leet Stealer のソースコードをベースにしていると考えられます。

対照的に、Sniffer Stealer は、異例の存在として際立っています。今のところ、他の既知のファミリーとつながるフォーク、クローン、コード系統は確認されていません。現段階では、Sniffer Stealer はゼロから独自に開発された可能性があると私たちはみています。今後さらにデータが集まれば、この評価が変わるかもしれません。

キャンペーンの詳細

この侵害の指標(IOCセクションでは、過去 2 ヵ月間に収集したスティーラーのサンプルを数セット掲載しています。サンプル名からは、非常に明確なパターンが浮かび上がってきます。大半はインディーゲームのインストーラーを装っており、Steam との関連をほのめかしたり、ゲームタイトルにありそうな名前をつけたりしています。

Acronis

Catly、Eden、Rooted などのゲームが Steam に掲載されていますが、リリース日はまだ公表されていません。そのうちのいくつかは、正式リリース前にプレイヤーが体験できる Steam の早期アクセスプログラムを通じて、いずれ提供される可能性があります。このため、「ベータ版インストーラー」は、多くのゲーマー、特に新しいインディーゲームを発掘するのが好きなゲーマーにとって、信じやすく、魅力的に感じられます。サイバー犯罪者はこれを悪用して、実際にはマルウェアを潜ませた偽のゲームインストーラーを作成し、ゲームリンクが頻繁に共有される Discord のようなプラットフォームで拡散します。次のセクションでは、過去 2 ヵ月間に確認された偽ゲームの代表例を取り上げます。

偽ゲームその 1:Baruda Quest

このような偽ゲームをより本物らしく見せかけるために、攻撃者は専用の Web サイトや YouTube チャネルまで立ち上げて宣伝することも珍しくありません。その代表例が Baruda Quest です。

偽のYouTubeチャネル:hxxps://www[.]youtube[.]com/watch?v=N3OTRiidWUQ

Acronis
図 5:プロモーションビデオ
Acronis
図 6:偽の Web サイト - hxxps://www[.]barudaquest[.]com/

同 Web サイトは Windows、Android、macOS 用のダウンロードリンクを提供していました。しかし、マルウェアが含まれていたのは Windows 版のみで、その正体は RMC Stealer の亜種でした。他の 2 つのリンクは、ユーザーを正規のバーチャルワールドゲーム Club Cooee にリダイレクトさせるもので、攻撃者は Baruda Quest を本物であるかのように見せるために、そこからアートワークやブランド素材を盗用していたのです。

ダウンロードボタンのリダイレクト先 hxxps://cdn[.]discordapp[.]com/attachments/1308872370601070710/1353442772497072158/BarudaQuest[.]exe?ex=67e1ab4e&is=67e059ce&hm=63b73c6a74e2e31f6b439fec1c4094a6fd76a894db328effab4ac8ef603e75ad&

偽のゲームその 2:Warstorm Fire

Warstorm Fire の Web サイトは、デフォルト言語がポルトガル語に設定されており、ブラジルが起源である可能性が高いと考えられます。このゲームのビジュアルやブランド要素は、正規のゲーム Crossfire: Sierra Squad からそのままコピーされたものでした。

以下は、その偽 Web サイトがまだ稼働していたときのスナップショットです。

Acronis
図 7: hxxps://warstormfire[.]com/

ダウンロードボタンのリダイレクト先:

悪意のあるリンク #1:hxxps://warstormfire[.]com/download/warstormfire[.]rar 悪意のあるリンク #2:hxxps://warstormfire[.]com/download/WarstormfireSetup[.]rar

これらの設定ファイルには、Sniffer Stealer の亜種が含まれていました。

偽のゲームその 3:Dire Talon

この事例では、攻撃者はオリジナルのゲーム Project Feline の名前を Dire Talon に変えて、自作のゲームのように偽装していました。

Acronis
図 8: hxxps://diretalon[.]com/

ダウンロードリンクhxxps://www[.]dropbox[.]com/scl/fi/eg0bxaplyr87vbt7t46m8/DireTalon_1[.]2[.]8[.]rar?rlkey=6wl2es2khx4x0blyzq9wwxnqj&st=0s3igvro&dl=1

この事例では、攻撃者はダウンロードファイルに DT2025 というパスワードを設定して保護していました。

Acronis
図 9:パスワードで保護されたダウンロード

このインストーラーファイルは、Sniffer Stealer の亜種も展開していました。

偽ゲームその4: WarHeirs

これもリブランドされたゲームです。オリジナルは The Braves という名称です。

Acronis
図 10: hxxps://warheirs[.]com/

悪意のあるダウンロードリンク:

hxxps://cdn[.]discordapp[.]com/attachments/1345333906966183958/1345335616187007017/Warheirs[.]rar?ex=67c42cee&is=67c2db6e&hm=bb404897fbc8b87eda9000e3845083f00713cea43fac17f0922fc2f098347eb4&

複数の偽ゲームのサンプルを解析した結果、いずれも本物のゲームコンテンツは含まれていないことが判明しました。その代わり、このマルウェアはソーシャルエンジニアリングの手法を用い、インストールが失敗したり、単にハードウェアがゲームのシステム要件を満たしていないだけだと思い込ませます。

一部の偽 Web ページでは、デフォルトの言語がポルトガル語に設定されており、これは VirusTotal に提出されたテレメトリで観測された傾向とも一致しています。最も多くのサンプルが確認されたのはブラジルでしたが、米国がそれに続いており、このキャンペーンが言語や地域の垣根を越えて急速に拡大した可能性を示唆しています。

Acronis
図 11:VirusTotal への提出データから見たサンプルの地域別発生状況

ポルトガル語が使われていることから、このキャンペーンがブラジルで発生した可能性が考えられますが、米国からの提出数も非常に多いことから、このマルウェアは、おそらく Discord のようなグローバルなプラットフォームを通じて、より広範囲に拡散している可能性があります。

技術的な解析

このセクションでは、これらの Electron ベースのマルウェアサンプルがどのように構築されているかについて、技術的に概説します。そのために、ここでは Baruda Quest キャンペーンのサンプルを取り上げますが、その理由は単純です。開発者が誤って、難読化されていないオリジナルのソースコードをパッケージ内に含めていたからです。これにより、複雑に重ねられた難読化を逐一解析する労力が省かれ、スティーラーの動作を直接理解できるようになりました。

NSIS

BarudaQuest.exe は、80MB の実行ファイルで、VirusTotal では 2ヵ月以上にわたりほとんど検出されておらず、71 のウイルス対策エンジンのうち悪意のあるファイルを検出したのはわずか 2つにとどまっています。この検出率の低さは、複合的な要因によるものと考えられます。ファイルサイズが大きいこと、実行環境全体をパッケージングした Electron フレームワークが使用されていること、悪意のある振る舞いの解析を困難にする高度な JavaScript 難読化が行われていることなどが挙げられます。

さらに、この実行ファイルは Nullsoft Installer(別名 NSIS)を使ってパッケージングされ、何百ものファイルを含むことがあります。幸運なことに、特に注目すべきファイルは 1 つだけで、それが app.asar です。このファイルには悪意のある JavaScript コードが含まれています。.asar ファイルを抽出するには、NSIS インストーラーからのファイル展開をサポートする 7-Zip を使用することができます。

Acronis
図 12:7-Zip は NSIS ファイルを抽出できる

ASAR アーカイブ

埋め込まれている app.asar ファイルは約 8.5 MB で、より妥当なサイズではありますが、やや大きめです。次に、それをさらに解析できるかどうか見てみましょう。ASAR アーカイブは、短い 16 バイトのバイナリヘッダーから始まり、JSON ヘッダー、そして実際の埋め込みファイルへと続きます。バイナリヘッダーから、JSON ヘッダーのサイズを判別することができます。この場合は、リトルエンディアン形式でエンコードされており、サイズは 0x5a4ab(369,835 バイト)です。

Acronis
図 13: Asar ファイルフォーマット

JSON ヘッダーを直接読み込んで ASAR アーカイブを解析する、カスタムスクリプトを書くこともできますが、もっと簡単な方法があります。Node.js をインストールすることで、Electron の公式文書に記載されているように、asar ユーティリティを使ってアーカイブを展開することができます(詳細はこちら)。ASAR アーカイブを展開すると、次のようなファイルおよびディレクトリ構造構成が現れます。

Acronis
図 14: 展開されたファイル

package.json ファイルには、メインスクリプトの場所が指定されています。

Acronis
図 15: package.json のコンテンツ

バイトコードローダー

/out/main ディレクトリを調査したところ、憂慮すべき事実が判明しました。マルウェアは JavaScript バイトコードにコンパイルされており、V8 JavaScript エンジン内の仮想マシンによって実行されていたのです。

Acronis
図 16:バイトコードローダー
Acronis
図 17:コンパイルされたバイトコード(index.jsc)

他に手段がない場合は、コードを逆コンパイルして解析する必要があります。幸いなことに、マルウェア作成者は、ASAR アーカイブの中にオリジナルのソースコードをそのまま残すというミスを犯していました。

Acronis
図 18: オリジナルのソースコード

この見落としは攻撃者にとっては好ましくないミスとなりましたが、リサーチャーは解析プロセスを大幅に加速し、貴重な時間を節約できることができました。

マルウェアのコード解析

このセクションでは、rgg_original.js ファイルを解析します。このファイルには、RMC Stealer と呼ばれる Leet Stealer の改変版が含まれています。

サンドボックスの検出

このマルウェアは、まずサンドボックス環境の検出を行い、IP アドレス、ホスト名、ユーザー名、GPU、オペレーティングシステム、実行中のプロセスを対象にしてブラックリストと照合します。

Acronis
図 19:サンドボックスの検出

BIOS と GPU の詳細を検証するために、WMIC コマンドの出力結果を利用しています。

Acronis
図 20:WMIC の実行ファイル

さらに、システムの RAM サイズで最終チェックをし、利用可能なメモリが 2 GB未満の場合、そのマシンはサンドボックス環境の可能性が高いと判断されます:

Acronis
図 21:RAM サイズのチェック

サンドボックスを検出すると、マルウェアは fakeErr_[random_characters].vbs というスクリプトをドロップして実行し、偽のエラーメッセージを表示します。こうして仮想マシン内でのサンプル実行が効果的に防止されます。

Acronis
図 22:エラーメッセージの表示

興味深いことに、Sniffer Stealer も偽のエラーメッセージを用いています。ただし、Leet/RMC Stealer が使用するサンドボックス検出エラーとは異なり、これらは一般的なゲーム関連のエラーを装ったメッセージを表示しています。この手口は、被害者にゲームの動作不良やインストール不備を信じ込ませ、疑いの目をそらすことを狙っています。Sniffer Stealer が表示する偽のエラーメッセージの例としては、マルウェアがランダムに選択する以下のようなものがあります。

Acronis
図 23:さまざまな偽のエラーメッセージ

ブラウザデータの窃取

サンドボックスの検出を潜り抜けることに成功すると、マルウェアはインストールされている Web ブラウザからデータを収集し始めます。データ収集プロセスの標的は、クッキー、保存されたパスワード、そしてフォーム入力データです:

Acronis
図 24:ブラウザデータの収集

このマルウェアは、Chrome、Edge、Brave、Opera、Vivaldi、Yandex、Chromium を含むすべての主要ブラウザに対応しています。特筆すべきは、ブラウザをデバッグモードで実行し、そのプロセスにアタッチしてデバッグ中のインスタンスから直接クッキーを抽出できる、高度な手法を採用している点です。

Acronis
図 25:デバッグモードの活用

盗まれたデータは ZIP アーカイブに圧縮され、最初にgofile.io へアップロードされ、その後コマンド&コントロール( C2 )サーバーに通知されます。

Acronis
図 26:gofile.io へのアップロード

gofile.io へのアップロードに失敗した場合、マルウェアは file.io、catbox.moe、tmpfiles.org などの代替ファイル共有サービスを通じて、データの窃取を試みます。

Discord およびその他のサービス

このマルウェアは Discord もターゲットにしており、被害者のアカウントからさまざまな情報を窃取しています。

Acronis
図 27:Discord が標的に

Discord トークンは、ユーザー名やパスワードを必要とせず、アカウントへの完全なアクセスを許可する認証資格情報として機能することから、これはスティーラーの機能における極めて重要な段階であると考えています。有効なトークンさえあれば、攻撃者はプライベートメッセージ、連絡先リスト、サーバー、その他の機密性の高い個人情報にアクセスできるようになります。さらに、侵害したアカウントを悪用して、被害者の連絡先に悪意のあるリンクやフィッシングメッセージを送信し、マルウェアをさらに拡散し続けることもできます。

Discord に加えて、以下のようなプラットフォームが標的にされています:

  • Microsoft Steam
  • Growtopia
  • MineCraft
  • EpicGames
  • WhatsApp
  • Telegram
  • BetterDiscord(Discord の非公式版)

他のマルウェアのインストール

さらに、このマルウェアは悪質なペイロードをダウンロードして実行する機能を備えています。

Acronis
図 28: 他のファイルのダウンロードと実行

興味深いことに、Leet Stealer の他の亜種では、英語のコメントに加え、ポルトガル語およびトルコ語のコメントが混在していることが確認されました。これは、ソースコードが手から手へと受け継がれ、その過程で複数の人物によって改変や修正が加えられてきたことを示しています。

Acronis
図 29:トルコ語と英語で書かれたコメント
Acronis
図 30:ポルトガル語のコメント

結論

偽のゲームや設定ファイルを装ったスティーラーは、今日のマルウェアキャンペーンが単なる技術的な手口を超えて進化していることを示しています。今では、ソーシャルエンジニアリング、ブランディング、さらには心理的な仕掛けを駆使して、ユーザーを欺いています。マルウェアをゲームに偽装し、偽の Web サイトや宣伝文句で裏付けることで、攻撃者は正当なコンテンツと詐欺の境界線をあいまいにしています。

Discord のようなソーシャルメディアプラットフォームは技術に精通した若年層の間で人気があり、特に攻撃者は有名なゲーム名や早期アクセスの話題性を利用することで、効果的な拡散経路となっています。

アクロニスによる検出

この脅威は、Acronis Cyber Protect Cloud によって検出され、阻止されています。

Acronis
報告されたインシデント

侵害の指標(IOC)

サンプル

ファイル名
スティーラーファミリー
SHA256
babacan32 Setup 1.0.0.exe
Leet
5c7c70ab9734838795050a91f08f1af9e3cb479caf20bd34944282e8ac455ea7
BarudaQuest.exe
RMC
813e5923e6d4df56055f5b5200db2e074e89f64dea3099e61fbde78c0fc23597
BillieBust.exe
Sniffer
567fb96e8b101abc45f2dfba470ea8a7298063f7428409d8b7e5c8f4326b6dc0
Brosxa 1.0.0.exe
Leet
b9adcf54b09475ed2023f5b3c03e23013e65195b4e8bfbb82c8c13fde194b2d4
CatlyBeta.exe
Sniffer
f0b43b49c420b08a7990ae8af937cc974700b8fa2bad2890f313f6b534069bcd
ClientSetup1.0.exe Setup 1.0.0.exe
Leet
576fbe574f31cf6adf15884a89c3c3c333714637cb513dbe8c788a2056047fa5
damnedbetter.exe
Sniffer
150f7b4615a2e0e7d21a32e12e796fc009c1fe25f2efff889acf84924fef39e4
damnedbetter.exe
Sniffer
321c7c999ecc5670207394f2f2d3cf4712b15f1f87c1b0ec05ed2367d922f1dc
Denemeamacimiz Setup 1.0.0.exe
Leet
82421012c689dfe36965d5c89bbeb4af3efb65556eb8df4bf5b863e261e28e8b
Depthcan.exe
Leet
798eee15a3e93ee0d261501df979dc3b61a9e5992188edeada5beaba0b30b8df
DireTaloGaSetup.exe
Sniffer
35ad1623694496ec91bc853b391c8bebdfa1aeaea2c4dcf74516e2cd13ab44f4
Dire Talon.exe
Sniffer
58d8a8502e7e525795cd402c7d240b50efcdde449eab9ee382f132f690a1989c
EdensGameInstall.exe
Sniffer
8294f79f9ecf81a65cdc049db51a09cd352536d7993abd0cfa241bbbceefa6e3
emeraltfates.exe
Sniffer
b127202d13bd170c15c3733991d790bc5464e3d77965e9cf59172c7cf3881738
G16EmeralFATES.exe
Sniffer
ac6aaed5b02ae265382c666371b557bd4e3c8c8dc08a1640b5cd06c27ed1b1f2
HauntedBeta.exe
Sniffer
53444e1c5d2ad49af46712b27da16de14447159d2752e2c303b5ded9afb5128a
HauntedSetup.exe
Sniffer
e71e57ce90fc0d4816faf315991bd9e46dd45660d83be40dd4408c854e7b6d41
HauntedSetupX64.exe
Sniffer
3d9064c9dc6ff391a563ce333301f8c4e2eded28192ef4448b09eb2e04ceb965
Jorosa Setup 1.0.0.exe
Leet
a07462af74cdccc1bba698aa5175923437d400c87e0b88601414630f7ee08f97
Lacrimos.exe
Sniffer
1ca60801bed5f8a607afb7054536bdd7d56670c04d3836cdf0cd4e07d8f2edff
Lesotia.exe
Leet
8c83b52df8a9c9602e745decabfb8f2c754cb6d57780b50ff86908df2b69408f
MixerFlow Setup.exe
Leet
82beb169bd08d07b1167e3b6d3d22f8f4a6687e6d9d7277fc9e206598d5bd608
MulanaGame Setup.exe
Leet
c4b672e76dc870de0eec5e2d68441a07569d38cd4e12aef359be7b251eed57a6
PersistSetup (1).exe
Sniffer
77aae85b96fedda4e9808c4376738cc058b79b13e705f4c101d32083e4c70601
RootedTheGame.exe
Sniffer
09c3291425fe6858800e6a3a57b4a72cda5430f8fba87607a38b8e09da7a0e8c
RootedTheGameSetup.exe
Sniffer
aa32d16626f200c7c7db186174b62cabc9790536a70cd360e92a05a00a4750b0
Salonca Setup 1.0.0.exe
Leet
9411b71653f83190a139296d58737f3935bdd58c13142381e59a8d106184e15e
slenderthreads.exe
Sniffer
d33dbba2f4e25148e2d9a59b1157d71d29ab5a30beeb5f0992b0d3f2859a90c2
Sokakcan.exe
Leet
a3636b09302a77ed7a6c75c5e679ba9ed0dbe12892f5fe94975ab3ef6be7ade8
SpectraLauncher.exe
Sniffer
cee750d6cb834b766a214b6609ed4eca62b0330a9904cf2f77b184a77e70f4d3
SteppulGame.exe
Leet
6f441dc6a45fd6dac4fe19707c6338b8bca1aabfb7842d7ebf94fb2fab2f12d5
SumaleDepth Setup 1.0.0.exe
Leet
051028c2acc74cb55f5a5e28c7ba1613fd4a13dcf5f6a6325557ae1b88900ee8
Terrnua Setup 1.0.0.exe
Leet
767f575d30deb66244b29bafae51111fdb869ba26d1df902e3f839bdb64725f9

参考資料