エグゼクティブ サマリー
RansomHouseは、私たちがJolly Scorpiusとして追跡しているグループによって運営されているサービスとしてのランサムウェア(RaaS)です。RansomHouseの活動に使用された関連バイナリの最近のサンプルでは、暗号化が大幅にアップグレードされていることが明らかになっています。この記事では、RansomHouseの暗号化のアップグレードと、防御側への潜在的な影響について説明します。
Jolly Scorpiusは二重脅迫戦略を使用します。この戦略は、被害者のデータを盗んで暗号化することと、盗んだデータを漏洩させる脅威を組み合わせたものです。
グループは大規模な活動を行っています。本記事の執筆時点で、2021年12月以降にデータが開示または販売されたとして、少なくとも123人の被害者がRansomHouseのデータ漏洩サイトにリストアップされています。
このグループは、医療、金融、運輸、政府など重要なセクターを混乱させてきました。このような侵入がもたらす結果は、多額の金銭的損失、重大なデータ侵害、影響を受けた組織に対する社会的信頼の低下などです。
RansomHouseの活動をより深く理解するために、その攻撃チェーンを検証しますします。また、このランサムウェアの暗号化が、単純な単一段階の直線的手法から、より複雑な多層的手法にアップグレードされたことについても検証します。
パロアルトネットワークスのお客様は、以下の製品を通じて、本書で取り上げるツールに対する確実な保護を構築いただけます。
情報漏えいの可能性がある場合、または緊急を要する場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
| Unit 42の関連トピック | Ransomware, ESXi |
アクターの役割と攻撃チェーン
Jolly Scorpiusは自らを企業の脆弱性を暴くグループと位置づけていますが、その行動は実情は単純な恐喝ビジネスです。RansomHouseの活動をよりよく理解するためには、具体的なアクターの役割を特定し、攻撃チェーンの各フェーズを識別し、各役割とフェーズが互いにどのように関連しているかを判断することができます。
図1に、これらの役割と攻撃チェーンにおけるその位置づけを示します。

RansomHouseの攻撃チェーンには3つの役割があります:
- オペレーター:RaaSの運用
- 攻撃者:ランサムウェアのデプロイ
- 被害者:攻撃者から標的にされる
オペレーターは、データ暗号化やその他の機能などのツール開発を含め、RaaSの確立と維持に責任を負います。この職務に就く者は、身代金の支払いを交渉する被害者のために、データ流出サイトやアーキテクチャを管理します。これには、身代金回収とマネーロンダリングのための暗号通貨ウォレットの管理も含まれます。
攻撃者は通常、オペレーターとは別の脅威アクターであるため、関連組織として知られています。ランサムウェア サービスが浮き沈みするにつれ、攻撃者は異なるRaaSグループに所属を変えることができます。攻撃者は、最初のアクセス、横方向の移動、データの流出、ランサムウェアのデプロイを行う責任があります。
RansomHouseの攻撃者は一般的なエンタープライズグレードのハイパーバイザ プラットフォームであるVMware ESXiインフラを標的にしていることで知られています。RansomHouseの攻撃者が特にESXiをターゲットにしているのは、このプラットフォームを侵害することで、一度に何十台、何百台もの仮想マシンを暗号化し、運用に最大限の支障をきたすことができるからです。
攻撃チェーンは、RansomHouseの被害者に圧力をかける多面的な戦略を反映しています。この戦略では、機密情報を採取し、選択したデータを暗号化し、被害者の身元を公表し、機密データを公開すると脅迫します。RansomHouseの攻撃チェーンは、4つのフェーズに分けることができます:
- 開発
- 侵入
- 窃取とデプロイ
- 脅迫
各フェーズには、3つの役割のうち少なくとも1つが含まれます。
第1段階: 開発
この段階では、RansomHouseのオペレーターはバックエンド プロバイダーとして機能し、RaaSのあらゆる側面の開発に責任を負います。重要なのは、オペレーターが最初の侵入を行わないことです。その代わりに、このフェーズで開発されたRaaSサービスを活用するために、関連組織(つまり攻撃者)に頼るのです。
第2段階: 潜入
この段階では、攻撃者はスピア フィッシング メールやその他のソーシャルエンジニアリング手法によって被害者を危険にさらします。電子メールだけでなく、攻撃者がゼロデイやその他のエクスプロイトによって侵害できるような被害者環境にある脆弱なシステムも、最初のアクセス ベクトルに含まれます。
最初のアクセスに成功した後、攻撃者は通常、サードパーティ製ツールやフレームワークを使用して被害者のネットワークを探索します。侵入フェーズの残りの部分には、環境をマッピングするための偵察、特権のエスカレーション、横方向への移動、貴重な情報や機密情報の特定などが含まれます。
第3段階: 窃取とデプロイ
RansomHouseに所属する攻撃者が被害者の環境に侵入すると、機密データを流出させ、ランサムウェアをデプロイします。典型的なデータ流出技術には、ファイル圧縮やファイル転送ユーティリティがあり、攻撃者は通常、自分の管理下にあるサーバーにデータを送信します。
RansomHouseのRaaSは、2つのコンポーネントで構成されるモジュラー アーキテクチャを採用しています:
- 管理ツール
- 暗号化ツール
RansomHouseはMrAgentと呼ばれる管理ツールを使用しています。このツールはESXi環境内でランサムウェアのデプロイメントを自動化し、追跡するように設計されています。
RansomHouseはMarioと呼ばれる暗号化ツールを使用します。Marioはファイルを暗号化した後、被害者がデータを回復する方法を記した身代金要求文をドロップします。
第4段階:脅迫
被害者のデータが盗まれ暗号化されると、攻撃チェーンは恐喝フェーズに移行する。RaaSのオペレーターが通常この段階を担当し、多くの場合、専用のチャット ルームを介した交渉を伴います。オペレーターは、TelegramやRansomHouseのデータ流出サイトのようなプラットフォームで戦略的に情報を公開することで、自らの脅威を検証しています。
RansomHouseの攻撃チェーンについて理解を深めたところで、このランサムウェアの構成要素が攻撃でどのように使用されるかを確認しましょう。
攻撃に使用されるRansomHouseコンポーネント
このランサムウェアの2つのコンポーネント(すなわち、MrAgentとMario)は、仮想化環境を侵害するために特別に設計されています。図2に、ESXiネットワークにおける RansomHouse 攻撃でこれらのツールがどのように使用されるかを示します。

環境に侵入した後、攻撃者は被害者のESXiハイパーバイザ上にMrAgentをデプロイします。MrAgentは攻撃者のコマンド&コントロール(C2)サーバーへの持続的な接続を確立します。
その後、攻撃者はC2サーバーからMrAgentにコマンドを発行し、データの引き出しなどの操作を行います。データ引き出された後、攻撃者はMrAgentに、仮想マシン(VM)ファイルを暗号化するためにハイパーバイザ上で直接実行されるMario暗号化ツールをダウンロードして実行するよう指示します。
MrAgentは攻撃における最初のコンポーネントであるため、それがどのように機能するかを確認しておきましょう。
MrAgent:RansomHouseデプロイメント ツール
MrAgentは、RansomHouseの活動の主要ツールとして、攻撃者に被害者の環境への持続的なアクセスを提供し、侵害されたホストの大規模な管理を簡素化します。この管理は、ツールのさまざまな機能を通じて行われます。
機能
MrAgentの主な機能は以下の通りです:
- ホスト識別子の取得
- ホストのIPアドレスの取得
- ファイアウォールの無効化
- 攻撃者のC2サーバーとの通信
Trellixによる分析による分析では、MrAgentがこれらの機能で使用するコマンドが文書化されていますが、MrAgentの操作をより理解するために、これらのコマンドを確認します。
ホスト識別子を取得するためのコマンドは以下の通りです:
- ホスト名: uname -a
- MACアドレスの場合: esxcli --formatter=csv network nic list
ホストのIPアドレスを取得するコマンドは以下の通りです:
- esxcli --formatter=csv network ip interface ipv4 get
ファイアウォールを無効にするコマンドは以下の通りです:
- esxcli network firewall set --enabled false
C2サーバーへの接続をチェックするMrAgentの関数は無限ループになります。これらの接続チェックの間、MrAgentはC2サーバーからさまざまな命令を受け取ることができます。表1にこれらの命令の例とその機能を示します。
| 命令 | 機能 |
| Abort | ハイパーバイザーがリブート後の遅延フェーズにある場合、暗号化の開始を中止する |
| Abort_f | MrAgentによって生成されたスレッドを削除する |
| Config | ランサムウェアのデプロイメントに使用されるローカル設定を上書きする |
| Exec | ランサムウェアのデプロイメントを開始し、rootパスワードを変更し、/etc/init.d/vpxa stop経由でvCenterリモート管理を無効にし、仮想マシンの暗号化を開始する |
| Info | ESXiホスト情報を取得する |
| Run | ./shmv ファイルに書き込むことで、ESXi ホス上で任意のコマンドを実行する。 |
| Remove | rm -rf[ファイル名またはパス]コマンドを実行して、ESXiホストからコンテンツを削除する |
| Quit | rm -fを使用してMrAgentバイナリを削除する |
| ようこそ | esxcli system welcomemesg set -m="[メッセージのテキスト]" を使用して、ホスト上の ESXiウエルカム メッセージを設定する |
表1. 攻撃者のC2サーバーから送られるMrAgentの命令の例。
これらの機能により、MrAgentはMario暗号化ツールをデプロイできます。
特徴
リバース エンジニアリングを妨げるために、MrAgentのバイナリはジャンク コードで修正されることがありますが、この基本的な難読化によって基本的な動作が変更されることはありません。侵害された環境の状態管理のために、MrAgentは2つの内部JSON構造体を使用してランタイムの設定とステータスを保存しますが、アクセスはミューテックスによって同期されます。
Mario:RansomHouseの暗号化ツール
MrAgentは、ESXiハイパーバイザ内の重要なVMファイルを暗号化するというオペレーションの中核機能を達成するためにMarioをデプロイします。私たちの調査では、Marioの暗号化手法の進化を明らかにする2つの異なるバージョンが発見されました。
どちらのバージョンも、全体的な実行フローは同じです:
- 身代金要求文を作成する
- ファイル拡張子を標的化する
- ファイルを暗号する化
- 統計を報告する
身代金要求文の作成
Marioの実行フローの最初のステップは、身代金要求文を作成することです。身代金要求文は「How To Restore Your Files.txt」と名付けられ、Marioが暗号化したファイルのディレクトリに置かれる。
Marioは身代金要求文を書き込みモードで開き、被害者がファイルを回復するための手順を指示するテキストをファイルに保存します。下の図3は、この要求文の例です。

ファイル拡張子の標的化
次のステップは、ディレクトリ トラバーサルと拡張子の標的化です。Marioは、攻撃者が暗号化するファイルのディレクトリ パスを指定することを要求します。指定されたディレクトリ内で、Marioは表2に記載されているファイル名の拡張子に基づいて仮想化ファイルを標的にします。
| 拡張子 | ファイルの説明 |
| ova | Open Virtual Appliance (OVA): OVFファイル パッケージの単一ファイル配布 |
| ovf | Open Virtualization Format (OVF): 仮想ソフトウェアのパッケージ化と配布のためのオープン スタンダード |
| vbk | Veeamバックアップ(VBK)ファイル: 特定の時点での仮想マシンのデータのバックアップ コピーを保存する |
| vbm | Veeam Backup Metadata (VBM)ファイル: VBKファイルに関するメタデータを保存する |
| vib | VMware Installation Bundle (VIB): ESXiホストをインストールまたはアップグレードするためのパッケージファイル |
| vmdk | 仮想マシンディスク (VMDK) ファイル: VMwareやVirtualBoxなどの仮想マシンで使用される |
| vmem | VMware Memory (VMEM) ファイル: ホスト システムからの仮想マシンのRAMコンテンツのバックアップ |
| vmsd | VMware Snapshot Metadata (VMSD) ファイル: 各仮想マシン スナップショットに関するメタデータを保存する |
| vmsn | VMware Snapshot State (VMSN) ファイル: スナップショット時の仮想マシンの実行状態を保存する |
| vswp | VMware Swap (VSWP)ファイル: ホストの物理メモリ不足時にメモリ ページをハードディスクにスワップする |
表2.Marioが標的とするファイル拡張子。
Marioは、指定されたディレクトリパス内の各ファイルを繰り返し移動し、標的となる拡張子がないかチェックします。この繰り返し処理の間、Marioは「. (カレントディレクトリ)」や「...(親ディレクトリ)」のようなディレクトリ内の様々なエントリを無視します。
暗号化ツールはまた、ファイル名のどこかに以下の文字列を含むファイルを、たとえそのファイル名に対象となる拡張子があっても無視します:
- .marion
- .emario
- .lmario
- .nmario
- .mmario
- .wmario
この除外は、ファイルが壊れて復元できなくなる可能性を回避できるようにファイルの二重暗号化を避けるためと思われます。
図4に、今年初旬に発見されたMarioのサンプルをテストしたときの表2に掲載の拡張子を示します。

組織の仮想インフラやバックアップを標的にするのは、RansomHouseの手口として知られています。どちらのアプローチも、被害者が身代金を支払わない場合、データの復元を阻害することを目的としています。
ファイルの暗号化
標的となるファイルを暗号化している間、Marioは上の図4が示すように、その進行状況を表示します。暗号化されたファイルは名前が変更され、既存のファイル名にmarioという文字列を含む拡張子が付加されます。図5は、Marioのサンプルを実行した後、暗号化されたファイルの拡張子が.emarioになった例です。

統計の報告
Marioが標的ファイルの暗号化を終了すると、暗号化結果の統計が表示されます。これらの統計を順番に並べると、以下のようになる:
- 暗号化できなかったファイルの数
- 暗号化されたファイルの数
- スキップされたファイルの数
- ファイルの総数
- 暗号化されたデータ量
図6は、Marioサンプルを実行した後の統計レポートの例です。

Marioの既知のサンプルはすべて同じ実行フローに従っていますが、最近のMarioのサンプルではプロセスがより複雑になっています。次のセクションでは、初期と後期のMarioのサンプルの違いを検証し、Marioの暗号化方法に対して行われたアップグレードを明らかにします。
アップグレードされたMarioの暗号化
現在知られているサンプルの暗号化ルーチンの違いから、2つのバージョンのMarioを特定しました。この2つのバージョンを比較すると、開発者がMarioをアップデートして、かなり複雑な暗号化方式を使うようになったことがわかります。私たちはこの2つのバージョンをこう呼びます:
- オリジナル版
- アップグレード版
暗号化ルーチンの逆アセンブルされたコードのブロックを比較すると、アップグレード版には明らかに複雑な関数のブロックがあります。図7は、これら2つのバージョンの暗号化コードブロックを比較したもので、右側のアップグレード版の方が、左側のオリジナル版よりも明らかに多くのセクションがあることを示しています。

Marioの暗号化のアップグレードを実証するために、2つのバージョンのサンプルのコードを以下の関数で比較します:
- 暗号化
- メモリ レイアウトとバッファ管理
- ファイル処理
- 出力フォーマット
これらの機能の改善により、アップグレード版のMarioは、オリジナル版よりも格段に効率的で分析に強くなっています。
暗号化
Marioのオリジナル版には、シンプルで基本的な暗号化ルーチンがあります。図8は、オリジナル版のコードを逆アセンブルしたものです。このコードは、シングル パスを実行して、ファイルのデータを暗号化されていないものから暗号化されたものに変換します。

対照的に、Marioのアップグレード版では、セカンダリ暗号化キーを含む2段階のファイル変換を備えています。図9は、アップグレード版Marioのサンプルコードを逆アセンブルしたもので、より複雑な暗号化プロセスを示しています。

アップグレードされたバージョンのコードから、ファイルがプライマリ キーとセカンダリ キーの両方で暗号化される2要素暗号化スキームが明らかになりました。データの暗号化はキーごとに別々に処理されます。このため、両方のキーがない場合のデータの復号化は非常に難しくなります。
図10は、Marioのアップグレード版が、32バイトのプライマリ暗号化キーと8バイトのセカンダリ暗号化キーを生成するためにランダム値を使用していることを示しています。

これらの変更は、Marioの暗号化の大幅なアップグレードを意味します。
メモリ レイアウトとバッファ管理
メモリ レイアウトとバッファ管理について議論する場合、スタック フレームとバッファを理解しなければなりません。この場合、バッファはオフセット値で指定されたスタックフレームの一部です。
オリジナル版のMarioは、暗号化処理中に以下のスタック フレームとバッファ値を使用します:
- アップグレード版のスタック フレーム サイズ:0x1408バイト
- キーバッファのオフセット: var_1400 (プライマリ)、var_130 (変換)
- チャンク サイズ:ダイナミック調整なしで0xA00000に固定
これは、ファイルを暗号化された状態に変換するための、比較的簡単で単純なプロセスを示しています。対照的に、アップグレード版のMarioのスタック フレームとバッファの値は、より小さくかつ効率的で複雑な構造を示しています:
- アップグレード版のスタック フレーム サイズ:0x1268バイト
- 複数のバッファ オフセット:
- var_1150:プライマリ暗号化コンテキスト
- var_A0:中間変換バッファ
- var_20:セカンダリ キー ストレージ (8バイト)
- var_40:暗号化ファイルのヘッダー保存
これらのスタック フレームとバッファの値は、以下のようなプロセスで使用されます:
- 初期データがプライマリ バッファ(ptr)に読み込まれる
- データがvar_1150のプライマリ キーを使って変換される
- さらにvar_20のセカンダリ キーで処理される
- 暗号化された最終データには、var_40のヘッダーが含まれる
これらのバッファーの入念な構成は、Marioのアップグレード版のレイヤーアプローチを裏付けています。
ファイル処理
オリジナル版のMarioは、ファイル処理にシンプルなアプローチを採用しています。これは、ループの中でファイルを固定サイズのセグメントとして順次暗号化する直線的なプロセスです。各セグメントを暗号化した後、コードは処理されたセグメントの合計サイズが指定されたしきい値を超えるかどうかをチェックします。そのしきい値を超えると、コードはループから別の関数にジャンプします。
図11に、逆アセンブルされたコードにおけるこの直線的プロセスを示します。

アップグレード版のMarioのコードからは、ダイナミック サイジングによるチャンク処理を使った暗号化方法が明らかになっています。図12にその例を示します。

この2つのバージョンの処理ロジックを比較すると、大きな違いがあることがわかります。
オリジナル版のMarioは、図11にあるように、最大536,870,911バイトのしきい値の固定セグメント長のファイルを処理する、より単純なプログラミング ループを使用しています。このバージョンでは、暗号化が完了すると進捗を表示することなく、報告のみ行います。
それに比べ、アップグレード版のMarioは、暗号化のためにより堅牢なファイル処理スキームを実装しています:
- 可変セグメント長、サイズしきい値は8GB
- チャンク サイズとオフセットを決定するための計算
- ファイルの特定のブロックだけを特定のオフセットで暗号化するスパース暗号化技術
さらに、アップグレード版のMarioでは、以下図13に示すように、各ファイルのチャンクの暗号化の進捗が表示されます。

アップグレード版Marioのチャンク処理は、静的解析をより難しくしています:
- ファイルを非線形に処理
- 複雑な数式を使って処理順序を決定
- ファイル サイズに応じて異なる戦略を採用
出力フォーマット
アップグレード版のMarioでは、ファイルを暗号化する際に処理されたチャンクを表示するだけでなく、各ファイルの暗号化が終了すると、より詳細なサマリーが表示されます。
先に述べたように、オリジナル版は単純にファイルの暗号化が終了したことを報告するだけです。これを図14に逆アセンブルしたコードで示します。

アップグレード版のMarioには、下の図15で逆アセンブルしたコードで示すように、各ファイルの処理が終了した際にはより多くの情報が含まれています。

結局のところ、これら2つのMarioのサンプル(オリジナル版とアップグレード版)のコア機能は変わりません。どちらのサンプルもファイルを暗号化し、拡張子.emarioを付けてファイルの名前を変更します。しかし、アップグレード版では、選択的なファイル処理により、より複雑かつ安全な暗号化手法を実装しています。
結論
RansomHouse RaaSが使用する暗号化は、単純で直線的なモデルから、より複雑な多層的アプローチへとアップグレードしており、ランサムウェア開発の懸念すべき軌跡を示しています。これは、脅威アクターが有効性を高めるために技術を更新していることを示す実例です。
このアップグレードは、いくつかの重要な技術の向上の上に成り立っています:
- 両方のキーがないと復号化の難易度が大幅に増す2要素暗号化方式
- 簡易的な方法ではない、ダイナミック サイジングによるチャンク ファイル処理
- 新しいファイル処理によって、スタティック分析とリバース エンジニアリングがより困難になる
脅威アクターは、これを将来のランサムウェアの亜種のための有用な道筋と見なす可能性があります。他のランサムウェア グループがこのようなより巧妙化された手法を採用するにつれて、ランサムウェアの脅威の状況はセキュリティ管理に対してより強くなっていくでしょう。このアップグレードは、次世代の複雑かつ回避的な脅威に対抗できる、よりダイナミックで適応力のある戦略を採用する必要性を浮き彫りにしています。
パロアルトネットワークスのお客様は、以下の製品を通じて、上記の脅威に対する確実な保護を構築いただけます。
- Advanced WildFireの機械学習モデルと分析技術は、本研究で共有されたインジケーターに照らして見直され、更新されています。
- [おそらくXDR]
- Cortex XpanseおよびXSIAM用ASMアドオンは、「VMware ESXi」および「Insecure VMware ESXi」アタックサーフェス ルールを介して、パブリック インターネットに公開されたVMware ESXiインフラストラクチャを検出します。これらに加えて、「ESXiArgs Ransomware Infection」(ESXiArgsランサムウェア感染)に対する、侵害後の検出アタックサーフェス ルールもあります。これは、悪意のある行為者によって注入された身代金要求文や、インターネットに公開されたESXiサーバーに影響を与えるランサムウェア感染のその他の指標を検出することができます。
情報漏えいの可能性がある場合、または緊急の案件がある場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
- 北米:フリーダイヤル: +1 (866) 486-4842 (866.4.UNIT42)
- 英国: +44.20.3743.3660
- ヨーロッパおよび中東: +31.20.299.3130
- アジア: +65.6983.8730
- 日本: +81.50.1790.0200
- オーストラリア: +61.2.4062.7950
- インド: 00080005045107
パロアルトネットワークスは、本調査結果をサイバー脅威アライアンス(CTA)のメンバーと共有しています。CTAの会員は、この情報を利用して、その顧客に対して迅速に保護を提供し、悪意のあるサイバー アクターを組織的に妨害しています。サイバー脅威アライアンスについて詳細を見る。
侵害のインジケーター
- SHA256ハッシュ: 0fe7fcc66726f8f2daed29b807d1da3c531ec004925625855f8889950d0d24d8
- ファイルの説明: アップグレード版Marioのサンプル
- SHA256ハッシュ: d36afcfe1ae2c3e6669878e6f9310a04fb6c8af525d17c4ffa8b510459d7dd4d
- ファイルの説明: オリジナル版Marioのサンプル
- SHA256ハッシュ: 26b3c1269064ba1bf2bfdcf2d3d069e939f0e54fc4189e5a5263a49e17872f2a
- ファイルの説明: MrAgentサンプル
- SHA256ハッシュ: 8189c708706eb7302d7598aeee8cd6bdb048bf1a6dbe29c59e50f0a39fd53973
- ファイルの説明: MrAgentサンプル
その他の資料
- 新グループ「RansomHouse」が恐喝市場を構築、最初の被害者を追加- BleepingComputer
- RansomHouse am See - Trellix
- RansomHouse:盗難データ市場、影響力作戦、その他のトリック- Analyst1