VMware ESX / vCenter Pentesting

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

列挙

nmap -sV --script "http-vmware-path-vuln or vmware-version" -p <PORT> <IP>
msf> use auxiliary/scanner/vmware/esx_fingerprint
msf> use auxiliary/scanner/http/ms15_034_http_sys_memory_dump

Bruteforce

msf> auxiliary/scanner/vmware/vmware_http_login

If you find valid credentials, you can use more metasploit scanner modules to obtain information.

ESXi Post-Exploitation & Ransomware Operations

仮想環境内での攻撃ワークフロー

  • Develop: 軽量の管理エージェント(例: MrAgent)、encryptor(例: Mario)、および leak インフラを維持する。
  • Infiltrate: vSphere management を侵害し、ホストを列挙し、データを盗み、payloads をステージする。
  • Deploy: 各 ESXi ホストにエージェントを展開し、それらに C2 をポーリングさせ、指示があれば encryptor を取得させる。
  • Extort: 暗号化が確認されたら、leak proof-of-compromise data を公開し、ransom chats を実行する。

ハイパーバイザの乗っ取りプリミティブ

ESXi console/SSH session 上でコマンド実行を取得すると、攻撃者は通常、ransomware 展開の前にホストをフィンガープリントおよび隔離するために次の管理コマンドを実行します:

uname -a                                   # hostname / build metadata for tracking
esxcli --formatter=csv network nic list    # adapter + MAC inventory
esxcli --formatter=csv network ip interface ipv4 get
esxcli network firewall set --enabled false
/etc/init.d/vpxa stop                      # cut vCenter off from the host
passwd root                                # rotate credentials under attacker control

同じエージェントは通常、ハードコードされた C2 URI をポーリングする永続的なループを維持します。到達不能な状態は再試行を引き起こし、オペレータが指示を送るまでビーコンは生き続けます。

MrAgent-Style 命令チャネル

軽量な管理エージェントは C2 キューからパースされる簡潔な命令セットを公開します。そのセットはインタラクティブなシェルなしで数十台の侵害されたハイパーバイザを操作するのに十分です:

InstructionEffect
Configターゲットディレクトリ、実行の遅延やスロットリングを定義するローカル JSON 設定を上書きし、バイナリを再デプロイせずにホットな再割り当てを可能にする。
Infouname/esxcli プローブで収集したハイパーバイザのビルド情報、IP、およびアダプタのメタデータを返す。
Execransomware フェーズを開始する:root 資格情報を変更し、vpxa を停止し、オプションで再起動の遅延をスケジュールしてから encryptor をプルして実行する。
Run任意の C2 提供コマンドを ./shmv に書き込み、chmod +x して実行することでリモートシェルを実装する。
Removeツールのクリーンアップや破壊的なワイプのために rm -rf <path> を発行する。
Abort / Abort_fオペレータが再起動後のアクションを一時停止したい場合、キューに入った暗号化処理を停止するか、実行中のワーカスレッドを終了させる。
Quitエージェントを終了し、素早い自己削除のためにバイナリを rm -f で削除する。
Welcomeesxcli system welcomemesg set -m="text" を悪用してコンソールバナーに身代金通知を表示する。

内部では、これらのエージェントは並行スレッド(例:ビーコン + 暗号化ワーカー)が共有状態を破壊しないように、2つのミューテックス保護された JSON ブロブ(ランタイム設定 + ステータス/テレメトリ)を保持しています。サンプルは浅い静的解析を遅らせるためにジャンクコードで埋められていることが多いですが、コアルーチンはそのまま残っています。

仮想化とバックアップ認識のターゲティング

Mario 系の encryptors はオペレータが指定したディレクトリルートのみを走査し、事業継続に影響する仮想化アーティファクトのみを操作します:

ExtensionTarget
vmdk, vmem, vmsd, vmsn, vswpVM のディスク、メモリスナップショット、およびスワップバッキングファイル。
ova, ovfポータブル VM アプライアンスのバンドル/メタデータ。
vibESXi のインストールバンドルで、修復やパッチ適用を妨げる可能性がある。
vbk, vbmVeeam の VM バックアップ + メタデータでオンボックスリストアを妨害する。

運用上の特記事項:

  • 訪問したすべてのディレクトリには暗号化前に How To Restore Your Files.txt が配置され、切断されたホストでも身代金要求のチャネルが表示されることを保証する。
  • 既に処理されたファイルは、名前に .emario, .marion, .lmario, .nmario, .mmario または .wmario を含む場合はスキップされ、攻撃者の復号ツールを壊す二重暗号化を防ぐ。
  • 暗号化されたペイロードは *.mario スタイルのサフィックス(一般的には .emario)にリネームされ、オペレータはコンソールやデータストア一覧でリモートからカバレッジを確認できる。

多層暗号化のアップグレード

最近の Mario ビルドは、元の線形単一鍵ルーチンを、多百ギガバイト級の VMDK に最適化された疎なマルチキー設計に置き換えています:

  • Key schedule: 32 バイトのプライマリキー(var_1150 周辺に格納)と独立した 8 バイトのセカンダリキー(var_20)を生成する。データはまずプライマリコンテキストで変換され、その後ディスク書き込み前にセカンダリキーで再ミックスされる。
  • Per-file headers: メタデータバッファ(例:var_40)がチャンクマップとフラグを追跡し、攻撃者の専用復号器が疎なレイアウトを再構築できるようにする。
  • Dynamic chunking: 定数 0xA00000 のループの代わりに、チャンクサイズとオフセットはファイルサイズに基づいて再計算され、閾値は最新の VM イメージに合わせて最大 ~8 GB まで拡張される。
  • Sparse coverage: 戦略的に選択された領域のみを触ることでランタイムを劇的に短縮しつつ、VMFS メタデータ、ゲスト内の NTFS/EXT4 構造、またはバックアップインデックスを破損させる。
  • Instrumentation: アップグレードされたビルドはチャンクごとのバイト数と合計(encrypted/skipped/failed)を stdout にログ出力し、追加ツールなしでライブ侵入中にアフィリエイトにテレメトリを提供する。

See also

Linux LPE via VMware Tools service discovery (CWE-426 / CVE-2025-41244):

Vmware Tools Service Discovery Untrusted Search Path Cve 2025 41244

References

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする