今日表示しない

トップへ戻る

トップへ戻る

etherratマルウェアコンテンツのサムネイル
etherratマルウェアコンテンツのサムネイル

脅威インテリジェンス

脅威インテリジェンス

脅威インテリジェンス

WindowsEtherRAT

WindowsEtherRAT

WindowsEtherRAT

エンキホワイトハット

エンキホワイトハット

コンテンツ

コンテンツ

コンテンツ

概要

  • EtherRATマルウェアを分析している過程で、msiファイル形式で配布されたEtherRATマルウェアを発見した。

  • EtherRATマルウェアが使用したスマートコントラクトを分析した結果、関連するスマートコントラクトのアドレスを追加で確保した。

  • スマートコントラクトのトランザクション履歴を通じて、C&Cサーバーのアドレスを追加で確保した。

  • C&Cサーバーとスマートコントラクトにおいて、Tsundere Botnetとの関連性が確認された。

1. 概要

EtherRATマルウェアは、sysdigのブログを通じて初めて報告されたJavaScriptベースのマルウェアである。当該マルウェアはReact2Shellの脆弱性(CVE-2025-55182)を介してLinux環境を対象に拡散された。

EtherRATマルウェアを分析していたところ、EtherRATマルウェアのC&Cサーバーと通信する多数のmsiファイルを確保し、分析の結果、Windows環境を対象に配布されたEtherRATマルウェアが存在することを確認した。特に一部のファイルは、特定のゲームのMODインストールファイルに偽装して圧縮ファイルに含まれた形態であることが確認された。

本稿は、ゲームのMODインストールファイルに偽装したEtherRATマルウェアに関する分析内容と、EtherRATマルウェアが使用するスマートコントラクトの分析結果を扱う。

2. 攻撃分析

공격 개요도

caption - 攻撃概要図

2.1. 99 Nights Script.zip

圧縮ファイルには、「99 Nights Script Installer.msi」ファイルと、GTAオンラインのチートモード「Ultimate Menu」を動作させるためのファイルが含まれています。

caption - 圧縮ファイルのプレビュー

「99 Nights Script」は人気ゲームRobloxのオープンソースModの名前であり、攻撃者はEtherRATマルウェアを該当するModのインストールファイルに偽装し、ユーザーにマルウェアを実行させようと誘導しました。

2.2. 99 Nights Script Installer.msi

msiファイルを実行すると、3つのファイルが「%LOCALAPPDATA%\msitemp」パスに作成されます。作成されるファイルの情報は、以下の表をご参照ください。

| ファイル名 | 説明 |
| --- | --- |
| Dt2fWrOyPtRxL28.js | EtherRATを復号する難読化されたJavaScriptファイル |
| IEgrjQr6OI6C3pf | 暗号化されたEtherRATマルウェア |
| syBKJQiN.cmd | nodejsをダウンロードしてJavaScriptファイルを実行するバッチスクリプト

| ファイル名 | 説明 |
| --- | --- |
| Dt2fWrOyPtRxL28.js | EtherRATを復号する難読化されたJavaScriptファイル |
| IEgrjQr6OI6C3pf | 暗号化されたEtherRATマルウェア |
| syBKJQiN.cmd | nodejsをダウンロードしてJavaScriptファイルを実行するバッチスクリプト

| ファイル名 | 説明 |
| --- | --- |
| Dt2fWrOyPtRxL28.js | EtherRATを復号する難読化されたJavaScriptファイル |
| IEgrjQr6OI6C3pf | 暗号化されたEtherRATマルウェア |
| syBKJQiN.cmd | nodejsをダウンロードしてJavaScriptファイルを実行するバッチスクリプト

caption - 作成ファイル一覧

ファイルの作成後、msiのCustomAction機能により、syBKJQiN.cmdファイルが実行されます。

msi 파일 CustomAction 테이블

caption - msiファイルのCustomActionテーブル

2.3. syBKJQiN.cmd

バッチファイルが実行されると、まずWindows用のnodejsを「%LOCALAPPDATA%\6gahPD」パスにダウンロードします。その後、先ほど作成された「Dt2fWrOyPtRxL28.js」および「IEgrjQr6OI6C3pf」の2つのファイルを「%LOCALAPPDATA%\6gahPD」パスにコピーします。コピーが完了すると、ダウンロードしたnodejsを使用して「Dt2fWrOyPtRxL28.js」を実行します。

syBKJQiN.cmd 코드

caption - syBKJQiN.cmdのコード

2.4. Dt2fWrOyPtRxL28.js

「Dt2fWrOyPtRxL28.js」ファイルは、obfuscator.ioによって難読化されています。また、解析を妨害する目的で、以下の2つの保護手法が適用されています。

  • コンソール出力の無効化: すべてのコンソール出力を遮断し、ログの確認を困難にします。

  • フォーマット検知: コードがフォーマット(整形)されている場合、ダミーコードが実行されてエラーが発生します。

ダミーコードが実行されない場合にのみ復号ルーチンが動作し、「IEgrjQr6OI6C3pf」ファイルをAES-256-CBCで復号して、現在の実行パスに「f6gK5600n6.js」ファイルとして保存します。

AES-256-CBC 복호화 루틴

caption - AES-256-CBC復号ルーチン

その後、「f6gK5600n6.js」ファイルを実行します。正常に実行されると、「f6gK5600n6.js」ファイルを実行するJavaScriptコードを現在の実行パスに「areAx6ey.js」ファイルとして保存し、自動実行レジストリパスにそのファイルを実行するキーを追加して永続性を確保します。

2.5. f6gK5600n6.js

復号されたJavaScriptファイルはEtherRATマルウェアであり、EtherRAT Decryptorと同様の難読化および保護手法が適用されています。EtherRATマルウェアは%APPDATA%パスに「svchost.log」ファイルを作成し、そのファイルにログを記録します。

로그 작성 루틴

caption - ログ記述ルーチン

例示されるログは以下の通りです。

[2025-12-31T06:57:30.086Z] Fetching URL from blockchain...
[2025-12-31T06:57:30.086Z]

[2025-12-31T06:57:30.086Z] Fetching URL from blockchain...
[2025-12-31T06:57:30.086Z]

[2025-12-31T06:57:30.086Z] Fetching URL from blockchain...
[2025-12-31T06:57:30.086Z]

C&Cサーバーアドレスの設定

EtherRATマルウェアは、C&Cサーバーのアドレスをハードコーディングせず、イーサリアムのスマートコントラクトを介して動的に取得します。このプロセスの過程で、eth_callメソッドを使用してハードコードされたコントラクトアドレスにクエリを送信します。この際、送信されるデータは、関数シグネチャである0x7d434425とコントラクト作成者のウォレットアドレスで構成されます。

컨트랙트 쿼리 전송 루틴

caption - コントラクトクエリ送信ルーチン

また、EtherRATマルウェアは単一のRPCエンドポイントにリクエストを送信するのではなく、計9つのイーサリアムRPCエンドポイントに同時にリクエストを送信します。その後、受信した応答の中で最も多く受信されたURLをC&Cサーバーとして使用します。

  • https://eth.llamarpc.com

  • https://mainnet.gateway.tenderly.co

  • https://rpc.flashbots.net/fast

  • https://rpc.mevblocker.io

  • https://eth-mainnet.public.blastapi.io

  • https://ethereum-rpc.publicnode.com

  • https://rpc.payload.de

  • https://eth.drpc.org

  • https://eth.merkle.io

設定ファイルパスの作成

EtherRATマルウェアは、設定ファイルを保存するパスを生成する際に、感染システムの固有情報を活用します。まず、コンピュータ名とユーザー名を連結した文字列に対するMD5ハッシュを生成し、ハッシュの最初の1バイトの値を5で割った余りを計算して、フォルダ名として使用する文字列を選択します。余りの値に応じて一致する文字列は以下の通りです。

  • 0: Microsoft

  • 1: Windows

  • 2: Programs

  • 3: Package

  • 4: Google

続いて、2番目の1バイトの値を5で割った余りを計算し、サブフォルダ名として使用する文字列を選択します。余りの値に応じて一致する文字列は以下の通りです。

  • 0: Services

  • 1: Components

  • 2: Assemblies

  • 3: Extensions

  • 4: Modules

「%LOCALAPPDATA%\[フォルダ名]」のパスがすでに存在する場合、「%LOCALAPPDATA%\[フォルダ名]\[サブフォルダ名]\[ハッシュの最初の4バイト]」を設定ファイルパスとして使用します。「%LOCALAPPDATA%\[フォルダ名]」のパスが存在しない場合は、「%LOCALAPPDATA%\[ハッシュの最初の8バイト]」を設定ファイルパスとして使用します。

最後に、フォルダパスのハッシュのうちの6バイトを設定ファイル名として使用します。

설정 파일 경로 생성 루틴

caption - 設定ファイルパス作成ルーチン

生成された設定ファイルの内容は、Base64でエンコードされたJSON形式で保存されます。インデックスごとの設定ファイルの内容は以下の通りです。

  • 0: 固有ID

  • 1: reobfエンドポイントへの接続可否

  • 3: reobfエンドポイントへの接続時間

  • 5: ログファイルの書き込み可否

ID生成

EtherRATマルウェアは、感染したシステムを識別するために固有IDを使用します。まず、特定のファイルを探索し、以前に発行されたIDがあるかどうかを確認します。最初に探索するファイルは設定ファイルで、設定ファイルにIDが保存されている場合は、設定ファイルからIDを読み取って使用します。この際、IDは設定ファイルのインデックス0に保存されています。

もし設定ファイルにIDが保存されていない場合は、2番目に「.node_bot_id」ファイルを探索します。「.node_bot_id」ファイルが存在する場合、そのファイルの内容をIDとして使用します。

.node_bot_id 파일 탐색 루틴

caption - .node_bot_idファイル探索ルーチン

「.node_bot_id」ファイルが存在しない場合は、3番目にファイル名が「.」で始まり、文字数が11文字のファイルを探索します。条件を満たすファイルが見つかった場合、そのファイルの内容をIDとして使用します。しかし、すべての探索に失敗した場合は、cryptoモジュールのrandomUUID関数によりランダムなIDを生成し、設定ファイルに書き込みます。

파일 탐색 및 ID 생성 루틴

caption - ファイル探索およびID生成ルーチン

C&Cサーバーとの初期通信

最初にC&Cサーバーと通信する際、設定ファイルのインデックス1に値が存在し、かつインデックス3に値が存在しないかどうかを確認します。この条件を満たす場合、設定ファイルが保存されているフォルダから、インデックス1の値と同じ名前のファイルを、「[C&Cサーバーアドレス]/api/reobf/[ID]」のエンドポイントに送信します。

파일 전송 루틴

caption - ファイル送信ルーチン

その後、設定ファイルのインデックス3の値を現在時刻に変更し、C&Cサーバーに送信したファイルデータをC&Cサーバーの応答で上書きして実行します。

파일 데이터 변경 및 실행 루틴

caption - ファイルデータの変更および実行ルーチン

C&Cサーバー通信

初期通信の後、C&Cサーバーとの通信の前に偽装を目的として、拡張子リスト(png, jpg, gif, css, ico, webp)と変数名リスト(id, token, key, b, q, s, v)からそれぞれ1つずつランダムに選択し、通信時に「[C&Cサーバーアドレス]/api/[ランダム16進数]/[ID]/[ランダム16進数].[拡張子]?[変数名]=5a15c932-4675-4a53-920d-3f3a7aa2e835」に向けてPOSTリクエストを送信します。

C&C 서버 통신 루틴

caption - C&Cサーバー通信ルーチン

C&Cサーバーから応答を受信できない場合は、約3秒後に再度リクエストを送信します。応答を受信すると、その応答内容をJavaScriptコードとして実行します。

응답 실행 루틴

caption - 応答実行ルーチン

解析時点ではC&Cサーバーそのものはアクティブでしたが、何の応答も返ってこなかったため、追加の解析は行えませんでした。

3. Linux、Windows版EtherRATの違い

本稿で分析したmsiファイル以外に確保したmsiファイルの一覧は以下の通りである。

| ファイルハッシュ | ファイル名 |
| --- | --- |
| e76867e7ec438165e2d629a0bfe2ae53f5320831cc1f8115b2a4f869f5240950  | gdasfgsdaf_agadsfasdgsdaf.msi |
| 81c3d0efb9da0dd0cd7b06e1692053fdf5561b916cb2502ccc4c31f997c352f8 | virus.msi |
| b8d9ef87b3a7a2cf2509317296baf127100a14838d03e1c158b0d5f17ec5b41b | __34___________34________4__3___.msi |
| 4508a26a0a42966606cd59c558284e28e9e06b4db89fe0f8b50fd9599f4f73f1 | fdsgsdf_gfsadfasdf.msi

| ファイルハッシュ | ファイル名 |
| --- | --- |
| e76867e7ec438165e2d629a0bfe2ae53f5320831cc1f8115b2a4f869f5240950  | gdasfgsdaf_agadsfasdgsdaf.msi |
| 81c3d0efb9da0dd0cd7b06e1692053fdf5561b916cb2502ccc4c31f997c352f8 | virus.msi |
| b8d9ef87b3a7a2cf2509317296baf127100a14838d03e1c158b0d5f17ec5b41b | __34___________34________4__3___.msi |
| 4508a26a0a42966606cd59c558284e28e9e06b4db89fe0f8b50fd9599f4f73f1 | fdsgsdf_gfsadfasdf.msi

| ファイルハッシュ | ファイル名 |
| --- | --- |
| e76867e7ec438165e2d629a0bfe2ae53f5320831cc1f8115b2a4f869f5240950  | gdasfgsdaf_agadsfasdgsdaf.msi |
| 81c3d0efb9da0dd0cd7b06e1692053fdf5561b916cb2502ccc4c31f997c352f8 | virus.msi |
| b8d9ef87b3a7a2cf2509317296baf127100a14838d03e1c158b0d5f17ec5b41b | __34___________34________4__3___.msi |
| 4508a26a0a42966606cd59c558284e28e9e06b4db89fe0f8b50fd9599f4f73f1 | fdsgsdf_gfsadfasdf.msi

caption - 確保したmsiファイル

3.1. イーサリアムスマートコントラクトの使用有無

React2Shell脆弱性を介して配布されたLinux版EtherRATマルウェアと、本稿で分析したEtherRATは、イーサリアムスマートコントラクトにeth_callメソッドを介してC&Cサーバーのアドレスを要求する。しかし、残りのWindows版EtherRATマルウェアは、ハードコードされたC&Cサーバーアドレスを使用していることが確認された。

0x0으로 설정된 컨트랙트 주소

caption - 0x0に設定されたコントラクトアドレス

残りのWindows版EtherRATマルウェアはすべて、コントラクトアドレスとデータに使用されるウォレットアドレスが0x0000000000000000000000000000000000000000に設定されている。また、コントラクトからC&Cサーバーのアドレスを取得する関数は呼び出されない。ハードコードされたC&Cサーバーのアドレスは「hxxp://91.215.85[.]42:3000」である。

3.2. 永続性の確保

Linux版EtherRATマルウェアは、計5つの方式をすべて使用して永続性を確保する。永続性を確保する方式は以下の通りである。

  • systemdユーザサービスの作成

  • XDG autostart項目の追加

  • Cronタブの追加

  • .bashrcファイルへのマルウェア実行スクリプトの追加

  • .profileファイルへのマルウェア実行スクリプトの追加

これとは異なり、Windows版EtherRATマルウェアはEtherRAT自体では永続性の確保を行わない。EtherRATマルウェアを復号するスクリプト(EtherRAT Decryptor)で永続性を確保するように設計されており、自動実行レジストリパスにキーを登録する方式を使用する。

윈도우 EtherRAT Decryptor 지속성 확보 루틴

caption - Windows版EtherRAT Decryptorの永続性確保ルーチン

3.3. マルウェア機能の追加

本稿で分析したEtherRATを含め、build値が5a15c932-4675-4a53-920d-3f3a7aa2e835であるEtherRATマルウェアにはログ機能が追加された。しかし、React2Shell脆弱性を介して配布されたEtherRATや、残りのWindows版EtherRATを含め、build値がc6d83cb1-a4de-443d-bd78-da925acc5f8dであるEtherRATマルウェアにはログ機能が存在しなかった。

로그 기능이 존재하지 않는 EtherRAT (build 값 c6d83cb1-a4de-443d-bd78-da925acc5f8d)

caption - ログ機能が存在しないEtherRAT (build値 c6d83cb1-a4de-443d-bd78-da925acc5f8d)

로그 기능이 추가된 EtherRAT (build 값 5a15c932-4675-4a53-920d-3f3a7aa2e835)

caption - ログ機能が追加されたEtherRAT (build値 5a15c932-4675-4a53-920d-3f3a7aa2e835)

ログ機能だけでなく、イーサリアムスマートコントラクトのアドレスとウォレットアドレスも変更された。新しく確認されたコントラクトアドレスは0x429929d8fe40D2deCf618C4A87721AC2a820bA78で、従来のEtherRATマルウェアで使用されていた0x22f96D61cF118efaBC7C5bF3384734FaD2f6eaD4コントラクトの最後のトランザクションが発生した後に生成されたことが確認された。

これにより、攻撃者がマルウェアを継続的に管理およびアップデートしており、build値をバージョン識別子として使用している事実を確認することができた。

4. スマートコントラクト分析

4.1. 追加のコントラクトおよびウォレットアドレスの確保

現在までにEtherRATマルウェアで確認されているスマートコントラクトアドレスは、0x22f96d61cf118efabc7c5bf3384734fad2f6ead4と0x429929d8fe40d2decf618c4a87721ac2a820ba78の計2個であり、両方のコントラクトのバイトコードは同一である。

これを基に、etherscan.ioのSimilar Contracts Search機能を利用して追加分析を進行した結果、同一のバイトコードを持つ10個のコントラクトアドレスをさらに確保することができた。

EtherRAT 컨트랙트와 같은 바이트 코드를 가진 컨트랙트 목록

caption - EtherRATコントラクトと同一のバイトコードを持つコントラクト一覧

確保された10個のコントラクトは、それぞれ異なるウォレットから作成されたものであることが確認された。これにより、攻撃者がインフラ構築に使用した10個のウォレットアドレスも追加で確保することができた。

4.2. コントラクトおよびウォレットの分析

確保したコントラクトのうち、最初に作成されたコントラクトは0x6ef160dAC69c68461879c0C3486164aF07533d17で、作成日は11月 29日である。これは攻撃者がLinux版EtherRATマルウェアの配布に使用したCVE-2025-55182 (React2Shell) 脆弱性が公開される前の時点である。これにより、攻撃者が脆弱性情報の公開前からEtherRATマルウェアを使用した攻撃を準備していたことがわかる。

0x2EB2Ec6026B63158042d27e8004957EC71783287 지갑의 전체 트랜잭션 목록

caption - 0x2EB2Ec6026B63158042d27e8004957EC71783287 ウォレットの全トランザクション一覧

攻撃者がコントラクト作成に使用したすべてのウォレットを分析した結果、トランザクション手数料のための資金の入出金、コントラクトの作成、およびC&Cサーバー情報の保存のためのトランザクション以外には、いかなるトランザクションも発生していなかった。

そこで、トランザクション作成のための資金源を逆追跡していたところ、最後のトランザクション発生から66日が経過した時点で、攻撃者の3つのウォレットに資金を入金した特定のウォレットアドレス(0x69de85F382B7855c55df3092aE36BBf75eF1f6CD)を確保することができた。

공격자 지갑으로 자금을 조달하는 지갑의 트랜잭션

caption - 攻撃者のウォレットに資金を調達しているウォレットのトランザクション

確保したウォレットアドレスに関連する攻撃は確認できなかったが、HashDitでフィッシングとして報告された記録が存在した。

피싱으로 보고된 지갑 주소

caption - フィッシングとして報告されたウォレットアドレス

4.3. トランザクション履歴の分析

ブロックチェーンのトランザクションは一度作成されると削除されないため、現在までにEtherRATのC&Cサーバーとして使用されたすべてのURLを確認することができた。

트랜잭션 기록에 남아있는 C&C 서버 URL

caption - トランザクション履歴に残っているC&CサーバーのURL

実際にEtherRATマルウェアで使用されたコントラクトから収集したC&CサーバーのIP/ドメインは計5個であり、以下の表の通りである。

| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| 91.215.85[.]42 | hxxp://91.215.85[.]42:3000/ | 防弾ホスティングで有名なロシアのホスティングプロバイダーを使用 |
| 173.249.8[.]102 | hxxp://173.249.8[.]102/ | クラウドVPSホスティング業者 ContaboのVPSサーバー |
| grabify[.]link | hxxps://grabify[.]link/SEFKGU | 訪問者のIPとデバイス情報を記録するサイト grabifyのリンク |
| gateway001kir[.]com | hxxps://gateway001kir[.]com/ | CloudFlareの保護を受けているドメイン |
| 91.221.190[.]12 | hxxp://91.221.190[.]12/ | VPSウェブホスティング業者 BlueVPSのVPSサーバー |
| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| 91.215.85[.]42 | hxxp://91.215.85[.]42:3000/ | 防弾ホスティングで有名なロシアのホスティングプロバイダーを使用 |
| 173.249.8[.]102 | hxxp://173.249.8[.]102/ | クラウドVPSホスティング業者 ContaboのVPSサーバー |
| grabify[.]link | hxxps://grabify[.]link/SEFKGU | 訪問者のIPとデバイス情報を記録するサイト grabifyのリンク |
| gateway001kir[.]com | hxxps://gateway001kir[.]com/ | CloudFlareの保護を受けているドメイン |
| 91.221.190[.]12 | hxxp://91.221.190[.]12/ | VPSウェブホスティング業者 BlueVPSのVPSサーバー |
| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| 91.215.85[.]42 | hxxp://91.215.85[.]42:3000/ | 防弾ホスティングで有名なロシアのホスティングプロバイダーを使用 |
| 173.249.8[.]102 | hxxp://173.249.8[.]102/ | クラウドVPSホスティング業者 ContaboのVPSサーバー |
| grabify[.]link | hxxps://grabify[.]link/SEFKGU | 訪問者のIPとデバイス情報を記録するサイト grabifyのリンク |
| gateway001kir[.]com | hxxps://gateway001kir[.]com/ | CloudFlareの保護を受けているドメイン |
| 91.221.190[.]12 | hxxp://91.221.190[.]12/ | VPSウェブホスティング業者 BlueVPSのVPSサーバー |

caption - コントラクト収集C&Cサーバー一覧

この他にも、追加で確保したコントラクト履歴から収集されたC&CサーバーのIP/ドメインは以下の表の通りである。

| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| api-gateway-prod[.]com | hxxps://api-gateway-prod[.]com/ | VPSウェブホスティング業者 BlueVPS의 VPSサーバー |
| localhost | hxxp://localhost:3000 | テスト用と推定されるURL |
| jariosos[.]com | hxxps://jariosos[.]com | 2025年12月17日に新しく登録されたドメイン |
| api-gateway-softupdate[.]io | hxxps://api-gateway-softupdate[.]io | 2025年12月19日に新しく登録されたドメイン |
| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| api-gateway-prod[.]com | hxxps://api-gateway-prod[.]com/ | VPSウェブホスティング業者 BlueVPS의 VPSサーバー |
| localhost | hxxp://localhost:3000 | テスト用と推定されるURL |
| jariosos[.]com | hxxps://jariosos[.]com | 2025年12月17日に新しく登録されたドメイン |
| api-gateway-softupdate[.]io | hxxps://api-gateway-softupdate[.]io | 2025年12月19日に新しく登録されたドメイン |
| IP/ドメイン | URL | 特徴 |
| --- | --- | --- |
| api-gateway-prod[.]com | hxxps://api-gateway-prod[.]com/ | VPSウェブホスティング業者 BlueVPS의 VPSサーバー |
| localhost | hxxp://localhost:3000 | テスト用と推定されるURL |
| jariosos[.]com | hxxps://jariosos[.]com | 2025年12月17日に新しく登録されたドメイン |
| api-gateway-softupdate[.]io | hxxps://api-gateway-softupdate[.]io | 2025年12月19日に新しく登録されたドメイン |

caption - 追加コントラクト収集C&Cサーバー一覧

5. Tsundere Botnetとの関連性

EtherRATマルウェアを分析している過程で、インフラおよびスマートコントラクトにおけるTsundere Botnetとの関連性を確認した。Tsundere Botnetは、Kasperskyブログの記事で初めて命名されたマルウェアであり、イーサリアムのスマートコントラクトからC&Cサーバーのアドレスを取得して使用するボットネットである。一部のTsundere Botnetのコードにロシア語で書かれたコメントが存在したり、ロシア語の文字列が存在したりすることから、制作者はロシアと関連があることが知られている。

Tsundere Botnet 러시아어로 작성된 주석

caption - Tsundere Botnetのロシア語で書かれたコメント

5.1. インフラの関連性

EtherRATマルウェアのC&Cサーバーアドレス(91.215.85[.]42)を調査していたところ、該当のIPでTsundere Botnetの制御パネルがホストされていることを発見した。

91.215[.]85.42에서 발견된 Tsundere Botnet 제어 패널 Tsundere Reborn

caption - 91.215.85[.]42で発見されたTsundere Botnet制御パネル「Tsundere Reborn」

発見されたパネルのタイトルは「Tsundere Reborn」である。Tsundere Rebornは、Kasperskyのブログで報告された初期のTsundere Botnetの制御パネル「Tsundere Netto」と同様に、誰でもアカウントを登録してログインすることでボットネット制御パネルにアクセスできるオープンな構造になっている。

Tsundere Reborn 로그인 페이지

caption - Tsundere Rebornのログインページ

ログイン後にアクセス可能な制御パネルの主な機能は以下の通りである。

| 名前 | 説明 |
| --- | --- |
| Dashboard | ユーザーが所有するボットのステータスと全体のボットステータスを可視化して表示するページ |
| Bots | ユーザーが制御可能なボットの詳細リストを確認するページ |
| Builds | msi、Powershell、Linuxの中から選択して、新しいボットを生成するページ(有効なライセンスが存在する場合のみ使用可能) |
| Workers | ユーザーが制御可能なボットの一部権限のみを委任して管理できるWorkerアカウントを作成および管理するページ |
| Scanner | ボットから収集したアカウント情報とシステム脆弱性スキャンの結果を確認するページ |
| Auto Tasks | 実行時に自動的に実行されるJavaScriptコードをスケジューリングおよび設定するページ |
| SOCKS5 Proxies | ボットをSOCKS5プロキシサーバーとして活用できるように設定するページ |
| Web3 Configuration | C&C通信に使用するスマートコントラクトと作成者ウォレットを管理するページ |
| Settings | ユーザーアカウント管理ページ

| 名前 | 説明 |
| --- | --- |
| Dashboard | ユーザーが所有するボットのステータスと全体のボットステータスを可視化して表示するページ |
| Bots | ユーザーが制御可能なボットの詳細リストを確認するページ |
| Builds | msi、Powershell、Linuxの中から選択して、新しいボットを生成するページ(有効なライセンスが存在する場合のみ使用可能) |
| Workers | ユーザーが制御可能なボットの一部権限のみを委任して管理できるWorkerアカウントを作成および管理するページ |
| Scanner | ボットから収集したアカウント情報とシステム脆弱性スキャンの結果を確認するページ |
| Auto Tasks | 実行時に自動的に実行されるJavaScriptコードをスケジューリングおよび設定するページ |
| SOCKS5 Proxies | ボットをSOCKS5プロキシサーバーとして活用できるように設定するページ |
| Web3 Configuration | C&C通信に使用するスマートコントラクトと作成者ウォレットを管理するページ |
| Settings | ユーザーアカウント管理ページ

| 名前 | 説明 |
| --- | --- |
| Dashboard | ユーザーが所有するボットのステータスと全体のボットステータスを可視化して表示するページ |
| Bots | ユーザーが制御可能なボットの詳細リストを確認するページ |
| Builds | msi、Powershell、Linuxの中から選択して、新しいボットを生成するページ(有効なライセンスが存在する場合のみ使用可能) |
| Workers | ユーザーが制御可能なボットの一部権限のみを委任して管理できるWorkerアカウントを作成および管理するページ |
| Scanner | ボットから収集したアカウント情報とシステム脆弱性スキャンの結果を確認するページ |
| Auto Tasks | 実行時に自動的に実行されるJavaScriptコードをスケジューリングおよび設定するページ |
| SOCKS5 Proxies | ボットをSOCKS5プロキシサーバーとして活用できるように設定するページ |
| Web3 Configuration | C&C通信に使用するスマートコントラクトと作成者ウォレットを管理するページ |
| Settings | ユーザーアカウント管理ページ

caption - 制御パネルの主な機能

Tsundere Rebornは、従来のKasperskyレポートに言及されているバージョンと比較して、大幅に機能が拡張されている。Workerアカウント管理機能や脆弱性スキャナー機能が新たに追加され、Builds機能にも変化が見られる。従来はMSIとPowerShellの2つの方式のみをサポートしていたが、今回のバージョンではLinuxが新しいビルドオプションとして追加された。これは、攻撃者がWindowsだけでなく、Linux環境へも攻撃対象を広げたことを意味する。一方で、かつて存在していたMarketページのように、一部の機能は削除されていることが確認された。

さらに、該当サーバーではTsundere Botnetのパネルだけでなく、123 StealerのC&Cパネルも同時に動作していることを発見した。これは、Kasperskyのブログで報告された「Tsundere Botnetと123 Stealerがインフラを共有している」という既存の情報と一致する。

123 Stealer C&C 패널

caption - 123 Stealer C&Cパネル

5.2. スマートコントラクトの関連性

Tsundere BotnetとEtherRATで使用されているスマートコントラクトを比較分析した結果、2つのコントラクトのバイトコードは異なるものの、どちらのマルウェアも同一のメソッドIDを持つ関数を使用していることが確認された。
メソッドIDは、関数シグネチャをkeccak256でハッシュ化した値の最初の4バイトを意味し、共通して使用されている関数とメソッドIDは以下の通りである。

  • getString(address) : 0x7d434425

  • setString(strings) : 0x7fcaf666

分析の結果、2つのコントラクトの該当する関数は、IDだけでなく実際に実行する動作も同一であった。

EtherRAT 컨트랙트의 setString 함수

caption - EtherRATコントラクトのsetString関数

それにもかかわらずバイトコードに差異が生じている理由は、EtherRATのスマートコントラクトはgetStringとsetString関数のみが定義された最小限の構成であるのに対し、Tsundere BotnetのスマートコントラクトにはtotalSupply、allowance、transferなど、ERC-20標準に準拠するための関数が追加で定義されており、全体のコード構成が異なっているためであることが確認された。

6. おわりに

本稿では、ゲームの Mod インストールファイルに偽装して拡散している「EtherRAT」マルウェアについて分析した。最終的に実行される EtherRAT マルウェアは、イーサリアムのスマートコントラクトから C&C サーバのアドレスを動的に取得し、C&C サーバから追加のマルウェアをダウンロードして実行する。

EtherRAT マルウェアは、最初に発見されてから1ヶ月も経っていないが、Linux や Windows など様々なオペレーティングシステムを対象に拡散されており、機能のアップデートを行うなど、急速に進化している様子を見せている。また、計12個のスマートコントラクトを作成・管理し、攻撃インフラを継続的に拡大している状況が確認された。

このように、攻撃者はセキュリティ検知を回避するためにブロックチェーンネットワークを悪用し、様々なプラットフォームをまたいで攻撃手法を継続的に発展させている。このような攻撃を予防するため、ユーザーは出所の不明なファイルのダウンロードや実行を避けるべきであり、セキュリティ担当者は関連する侵害指標(IoC)を継続的に監視する一方、異常なブロックチェーンネットワークトラフィックに対する観察と対応が必要である。

7. 付録

付録 A. MITRE ATT&CK

| Tactics | Techniques |
| --- | --- |
| Execution | T1204.002: User Execution: Malicious File-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript |
| Defense Evasion | T1036: Masquerading-nT1140: Deobfuscate/Decode Files or Information-nT1027.013: Obfuscated Files or Information: Encrypted/Encoded File-nT1027.016: Obfuscated Files or Information: Junk Code Insertion-nT1564.003: Hide Artifacts: Hidden Window-nT1112: Modify Registry |
| Persistence | T1547.001: Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder |
| Discovery | T1033: System Owner/User Discovery-nT1083: File and Directory Discovery |
| Command and Control | T1105: Ingress Tool Transfer-nT1102.001: Web Service: Dead Drop Resolver-nT1071.001: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port

| Tactics | Techniques |
| --- | --- |
| Execution | T1204.002: User Execution: Malicious File-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript |
| Defense Evasion | T1036: Masquerading-nT1140: Deobfuscate/Decode Files or Information-nT1027.013: Obfuscated Files or Information: Encrypted/Encoded File-nT1027.016: Obfuscated Files or Information: Junk Code Insertion-nT1564.003: Hide Artifacts: Hidden Window-nT1112: Modify Registry |
| Persistence | T1547.001: Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder |
| Discovery | T1033: System Owner/User Discovery-nT1083: File and Directory Discovery |
| Command and Control | T1105: Ingress Tool Transfer-nT1102.001: Web Service: Dead Drop Resolver-nT1071.001: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port

| Tactics | Techniques |
| --- | --- |
| Execution | T1204.002: User Execution: Malicious File-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript |
| Defense Evasion | T1036: Masquerading-nT1140: Deobfuscate/Decode Files or Information-nT1027.013: Obfuscated Files or Information: Encrypted/Encoded File-nT1027.016: Obfuscated Files or Information: Junk Code Insertion-nT1564.003: Hide Artifacts: Hidden Window-nT1112: Modify Registry |
| Persistence | T1547.001: Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder |
| Discovery | T1033: System Owner/User Discovery-nT1083: File and Directory Discovery |
| Command and Control | T1105: Ingress Tool Transfer-nT1102.001: Web Service: Dead Drop Resolver-nT1071.001: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port

caption - MITRE ATT&CK

付録 B. IOCs

sha256

  • 4508a26a0a42966606cd59c558284e28e9e06b4db89fe0f8b50fd9599f4f73f1 - EtherRAT msi file

  • 9383c992abecdab53cc798940d296c0f8a5c0efe5ee8161d7c71a2dd23e374e2 - EtherRAT decryptor

  • b8d9ef87b3a7a2cf2509317296baf127100a14838d03e1c158b0d5f17ec5b41b - EtherRAT msi file

  • e38362aca79b16d588174e64a33cc688504c845d882624243fde90abd578bd7d - gfdsgsdfhfsd_ghsfdgsfdgsdfg.sh

  • e76867e7ec438165e2d629a0bfe2ae53f5320831cc1f8115b2a4f869f5240950 - EtherRAT msi file

  • 81c3d0efb9da0dd0cd7b06e1692053fdf5561b916cb2502ccc4c31f997c352f8 - EtherRAT msi file

  • 606dd4d7b4f7755136f53ed442a1eebd1c36a671eaf91c494a1627788b64e819 - 99 Nights Script.zip

  • 98da27f6667782ac7e4b629cd8bc09b193635a109f8e521ea8e2fb7ce15c2ea1 - Executor-master-v3.1.zip

  • 926ee406adc542dc21a971d4112d958f91413222fd97d2ee0422ac0568a80aa9 - EtherRAT powershell script

  • 1f715a97657a547e9eb55878bb0b946c3a2d43b6d467ca60e816853d4d727828 - Tsundere Botnet powershell script

  • 2de16fea5af78d5f1fdb8039efd7fb319d8e233cea8b4c20ea1f13ad380aea1d - Tsundere Botnet msi file

Contract Address

  • 0x22f96D61cF118efaBC7C5bF3384734FaD2f6eaD4

  • 0x195ab0A6391E2c499321F67Ba36ED8f4bDc9F5f4

  • 0x21F9a727E9668A3fC30393a344D8a3A98F4F3b8d

  • 0x277852e1C349b03c79E348018a8391bD21C412E8

  • 0x40A7d723F5Df6c88464bC95DBf7D96573fBc4f85

  • 0x429929d8fe40D2deCf618C4A87721AC2a820bA78

  • 0x47A397D9d459B05433f0d579e7842442b348eC38

  • 0x6ef160dAC69c68461879c0C3486164aF07533d17

  • 0x8a7c8497991dEa66910E70979a5961aEE347ff50

  • 0x8B08cE78a284F26eEDfE2b9B52823F8c6ab3dC4A

  • 0x97851AE6B1e2970C030Dd7d8F70d9832AcfB30fd

  • 0xF1f3Ac96E49F6a71D031444E59268c27B3511914

Wallet Address

  • 0x69A91686482dE1dF123b91106CbdA763da034d4A

  • 0xE941A9b283006F5163EE6B01c1f23AA5951c4C8D

  • 0x233F7Ac7F307D2c781be66DA432CB865Efa804e0

  • 0x6c0bdC011F31715C4FF537aa9c6a8A141F8a6119

  • 0x14afdDD627Fb0e039365554f8bbDB881eCb1C708

  • 0x434A2001adD7e414dA33612C4a8AEe745EA22968

  • 0x4F1dD066b832AF641b5F08537a5b0fC0b329D5EC

  • 0x2EB2Ec6026B63158042d27e8004957EC71783287

  • 0xeA4337aa83496F0b91CDCdD8bf2734DF9eEF1774

  • 0x6d4C034439F78cc19b4FEBdeC2c285D9B7D47e73

  • 0xF1933D62F03F56579E8362402316CBF450d30116

  • 0xF3947eeB5DB984E9498DA449c13305ed27428Bc0

  • 0x69de85F382B7855c55df3092aE36BBf75eF1f6CD

URLs

  • hxxps://api-gateway-prod[.]com

  • hxxps://gateway001kir[.]com

  • hxxp://91.221.190[.]12

  • hxxp://localhost:3000

  • hxxps://jariosos[.]com

  • hxxps://api-gateway-softupdate[.]io

  • hxxp://91.215.85[.]42:3000

  • hxxp://173.249.8[.]102/

  • hxxps://grabify.link/SEFKGU

  • hxxps://grabify.link/SEFKGU?dry87932wydes/fdsgdsfdsjfkl

エンキホワイトハット

エンキホワイトハット

ENKI ホワイトハット
ENKI ホワイトハット

オフェンシブセキュリティの専門企業として、攻撃者の視点から次元の異なるセキュリティを提示します。

オフェンシブセキュリティの専門企業として、攻撃者の視点から次元の異なるセキュリティを提示します。

隙のないセキュリティ設計の始まり、NO.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

隙のないセキュリティ設計の始まり、
No.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

隙のないセキュリティ設計の始まり、
No.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

購読する

コンテンツが役に立ったら?
エンキーレターを購読しましょう!

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.