LockBit 5.0のリークサンプルに見る19の亜種:クロスプラットフォームに対応した最新ランサムウェアを徹底解剖(前編[a]

全3回からなる本連載では、Windows、Linux(LINUX Locker v1.06/v1.08)、ESXi(LINUX ESXi Locker v1.07)環境に影響を及ぼすクロスプラットフォーム対応のLockBit 5.0ランサムウェアペイロードのサンプル19種を分析したうえで、ランサムウェアの動作やデータ暗号化、標的システムとのインタラクションについて明らかにします。※中編と後編[b]も併せてご覧ください。

複数のサンプルをリバースエンジニアリングすることで、プラットフォーム間共通で搭載されるコンポーネントと、マルウェアがさまざまな環境で効率的に機能するためのOS固有の挙動を特定しました。

この脅威の中核にあるのは、ファイルとデータを暗号化するために高速な暗号化方式(ChaCha20)を採用し、旧バージョンで使われていたAESベースの暗号化を置き換えた点です。このマルウェアはパフォーマンスとスケーラビリティを重視して設計されており、大量のデータを素早く処理できます。また、標準的な暗号ライブラリへの依存を避けることで、検知をより困難にしています。

本稿では、このマルウェアがどのようにファイルにアクセスして、システムプロセス管理やタスクの並列実行を行っているのかを検証し、防御側がその運用ワークフローを把握できるためのインサイトを提供します。根底にある暗号化アプローチは一貫していていますが、WindowsとLinuxシステムとのやりとりに用いられる手法は異なっており、各プラットフォームへ意図的に適応している点が垣間見られます。

※本稿執筆時点で、このサンプルのVirusTotalでの検出率は1/65でした。

図1. 執筆時点で分析したLockBit 5.0サンプルのVirusTotalでの検出

図1. 執筆時点で分析したLockBit 5.0サンプルのVirusTotalでの検出結果

脅威の動向

LockBitは、ランサムウェアが産業化してビジネスモデルへと進化した最も顕著な例の1つです。RaaS(Ransomware as a Service)として運営されており、中核となるチームがマルウェアや交渉・支払いインフラ、リークサイトを維持管理し、アフィリエイト(提携者)が収益分配のために侵入と展開を実行します。この役割分担こそが活動の規模を拡大させる要因であり、かつLockBitが「大規模かつ影響力の大きいエコシステム」として繰り返し公に報告されてきた理由でもあります。

図2. ダークウェブフォーラムでの開発計画と共同資金に関する議論

図2. ダークウェブフォーラムでの開発計画と共同資金に関する議論

さらに最近では、LockBitの動向はより深刻な変化を示しています。そのキーワードは「統合」です。2025年10月の報告によると、LockBitは他のランサムウェアグループ(DragonForceやQilinなど)と連携し、リソースの共有を重視し、他の攻撃グループの参加を促すカルテルのようなアプローチをとっているとされています。この「傘下モデル」が勢いを増せば、防御側は活発に活動する単一のRaaSブランドだけでなく、アフィリエイト、インフラ、攻撃手口(プレイブック)を集約する「統合レイヤー」と対峙しなくてはなりません。ランサムウェア攻撃の基本的な能力と潜在的な規模の両方がさらに引き上げられる可能性があります。

ここからは、観測された最新のLockBit 5.0ランサムウェアファミリーのサンプルを分析します。プラットフォームやアーキテクチャをまたいでビルドを比較することで、何が変化し、何が変化していないのかを明らかにするとともに、この攻撃グループの現在の開発方針と攻撃手口の実態に迫っていきます。

ESXi亜種の技術分析

概要

VMware ESXiは、企業環境で多数の仮想マシンをホスト・管理するために広く採用されているベアメタルハイパーバイザーです。データベースやアプリケーションサーバー、ドメインコントローラーといった重要なワークロードを単一の物理ホストに集約することで、ESXiは効率性とスケーラビリティを実現する一方、それは攻撃者にとって標的価値の高いものにもなります。ESXiホストへの侵害が成功すれば、数十から数百ものシステムが同時に停止する事態にも陥りかねません。

近年、ランサムウェア攻撃者は、個々のエンドポイントからESXiのようなハイパーバイザーへと標的を移行させています。単一のOS内のファイルを暗号化するのではなく、ESXiを標的とするランサムウェアは、仮想化インフラ全体を支える仮想ディスクファイルや構成データそのものを攻撃します。こうしたアプローチによって、攻撃者はより労力をかけることなく攻撃の影響を最大化できるのです。

図3. LockBit BuilderのLinux版の画面

図3. LockBit BuilderのLinux版の画面

図4. LockBit BuilderのESXi版の画面

図4. LockBit BuilderのESXi版の画面

LockBit 5.0 ESXi版

下図は、静的解析によってLockBit 5.0 ESXiランサムウェアの実行フローを明らかにしたものです。マルウェアはまず、自身がVMware ESXi環境で実行されていることを確認し、次に稼働中の仮想マシンを洗い出して強制的にシャットダウンし、ファイルのロックを解除します。その後、標的となるVMファイルに対して、高速な簡易スキャン(fast pass)とフルスキャン(full pass)を組み合わせたマルチスレッドの暗号化処理を実行します。従来の身代金要求書(ランサムノート)をファイルとして残す代わりに、コンソール出力やログファイルを介して被害者へ通知を行います。これはESXiシステムがヘッドレス(GUIを持たない)であるためです。

図5. LockBit ESXiの実行フロー

図5. LockBit ESXiの実行フロー

以下は、x86-64アーキテクチャ向けにコンパイルされた64ビットのLinux ELF実行ファイルです。バイナリは動的リンクされており、マルウェアがよく用いる解析妨害技術の1つとして、ELFセクションヘッダーが欠落しています。

file lockbit_AMD64

lockbit_AMD64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, no section header

以下のlddコマンドの出力は、LockBitのESXi版バイナリが実行時に必要とする共有ライブラリを示しています。libpthread.so.0はスレッドの使用を示しており、並列での暗号化処理と一致するマルチスレッド実行を裏付けています。

ldd lockbit_AMD64

linux-vdso.so.1 (0x00007f341514f000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f341512b000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3414f35000)

/lib64/ld-linux-x86-64.so.2 (0x00007f3415151000)

LockBitのESXiサンプルのBinwalkスキャンにより、バイナリ内に埋め込まれたファイルパスが明らかになりました。

binwalk lockbit_AMD64

DECIMAL HEXADECIMAL DESCRIPTION

——————————————————————–

0 0x0 ELF, 64-bit LSB executable, AMD x86-64, version 1 (SYSV)

362953 0x589C9 Unix path: /var/log/encrypt.log

367904 0x59D20 Unix path: /var/tmp/.guestfs-0/appliance.d/root

/var/log/encrypt.logというパスの存在は、マルウェアが実行中に暗号化の活動やステータスメッセージをログファイルに記録していることを示唆しています。

2つ目のパス/var/tmp/.guestfs-0/appliance.d/rootは、仮想アプライアンスに関連する一時的なディレクトリ構造を参照していると推察されます。マルウェアがVM関連の一時ファイルと何らかのやり取りをしている可能性があります。

サンプル内に埋め込まれた文字列を分析すると、ランサムウェアの機能や実行フロー、ESXi環境との意図されたやりとりに関する貴重な知見が得られます。例えば、バイナリに埋め込まれたバージョン情報がこちらです。

LINUX Locker v1.07

LOCKBIT5.0

以下に示すように、抽出された文字列は、このランサムウェアがVMware ESXi環境を標的として特別に設計されていることを明確に示しています。/vmfsや/vmfs/volumes/への言及は、仮想マシンのディスクファイルが格納されているVMFSデータストアにアクセスする意図を示しています。一方、vmsvc/getallvms、vmsvc/power.off、vmsvc/power.getstateといった埋め込みのvim-cmdコマンドは、暗号化の前に仮想マシンを洗い出して、ステータスを確認してから強制的にシャットダウンするという機能が組み込まれていることを証明しています。さらに、ESXi 4、ESXi x64、vmware -vといった環境チェック用の文字列は、マルウェアが正規のESXiホスト上で実行されていることを確認するためのものです。これにより、標的外のシステムや解析環境上で誤って展開してしまうのを回避していると推察されます。

#ESXi固有の痕跡:

/vmfs

/vmfs/volumes/

/bin/vim-cmd vmsvc/getallvms – enumeration

/bin/vim-cmd vmsvc/power.off %d – poweroff

/bin/vim-cmd vmsvc/power.getstate %d

ESXi 4

ESXi x64

vmware -v

以下のように、「[OK] VM %s (ID: %d) powered off.」といったステータスメッセージは、追跡対象の個々の仮想マシンがシャットダウンに成功しているのをこのランサムウェアが確認していると示唆されます。

一方で、「[INFO] VM %s (ID: %d) in bypass list, skipping」というメッセージにあるように、特定の仮想マシンを標的から除外する内部的な除外リストが存在すると考えられます。コマンドの一部であるps | grep vmx | grep “%s”は、こうしたワークフローをさらに裏付けるもので、マルウェアが特定の仮想マシンに関連するVMware VMXインスタンスを、実行中のプロセスから検索していることがわかります。

VM Logic:

[OK] VM %s (ID: %d) powered off.

[INFO] VM %s (ID: %d) in bypass list, skipping

ps | grep vmx | grep “%s”

-f(高速モード)、-d(特定のディレクトリを対象)、-l(ロギング有効化)、-b(バックグラウンド実行)といったオプションは、運用の柔軟性に役立っています。一方、-m(ノートの保存モード)や-k(自己破壊の無効化)は、暗号化後の挙動を調整できることを示しています。

そのほか、暗号化プロセスに直接影響を与えるオプションもあります。例えば-rは各ファイルの暗号化率を制御し、-wはディスクの空き領域のワイプを有効化します。-tは実行開始を遅延させ、-oは仮想マシンの自動停止を無効にし、-nはIDによって特定の仮想マシンを除外できます。さらに、「Fast mode enabled (1% encryption)」や「Fast pass completed. Starting full encryption pass」といったステータスメッセージ、そして.vmdk.fastpassというマーカーが示すように、高速な部分暗号化の後に、より完全な暗号化を行うという2段階の暗号化戦略が採用されていることが確認できます。

Parameters:

-f 高速モード (1%暗号化)

-d 暗号化する特定のディレクトリ

-l ロギング有効化

-b バックグラウンドモード

-m ノート保存モード (0,1,2)

-k 自己破壊しない

Encryption:

-r 暗号化率 (10–90)

-w 空きディスク領域をワイプ

-t 開始までのタイムアウト

-o VMの自動停止を試みない

-n IDでVMをスキップ

Fast mode enabled (1% encryption)

Fast pass completed. Starting full encryption pass

.vmdk.fastpass

標的となるファイル拡張子のリストの存在からも、このランサムウェアがハイパーバイザーレベルで仮想マシンインフラを破壊するように設計されていることは明確です。仮想マシンの運用に不可欠な.vmdk(仮想ディスクファイル)や.vmx(VM設定ファイル)のようなファイルに加え、vswp(スワップファイル)、vmem(メモリスナップショット)、vmsn(スナップショット状態ファイル)といったサポートファイルも攻撃対象に含めることで、確実かつ完全な被害を与えることができます。さらに、vmsd、vmtx、vmss、vmxf、nvramといったメタデータや状態ファイルも標的となっており、実行時のデータと設定データの両方を破壊する意図が見られます。

# 対象ファイル:

.vmdk

.vmx

vswp

vmem

vmsn

vmsd

vmtx

vmss

vmxf

nvram

/var/log/encrypt.logへの参照と「[INFO] Logging enabled」というメッセージは、このマルウェアが自身の活動をローカルのログファイルに記録できることを示しています。ESXiのコマンドライン環境でオペレーターに実行結果のフィードバックを提供するためでしょう。さらに、「[INFO] Binary removed successfully.」や「[ERROR] Failed to remove binary.」といったメッセージからも、攻撃実行後に自ら実行ファイルを削除するという自己削除ルーチンが組み込まれていることは明らかです。

Logging:

/var/log/encrypt.log

[INFO] Logging enabled

Self delete:

[INFO] Binary removed successfully.

[ERROR] Failed to remove binary.

/proc/self/mapsや/proc/self/statusへ参照している点やTracerPid:というフィールドが存在しているのは、マルウェアが自身のプロセス状態を検査し、デバッグやトレースをされているかどうかを判断するためだと考えられます。また、valgrind、frida、strace、ltraceといったツール名が含まれており、マルウェアは一般的な動的解析ツールやインストルメンテーションフレームワークを積極的に検出しようとしていることが示されます。さらに、デバッグや研究環境のコンパイラに組み込まれるコンポーネントであるasan、tsan、msan、ubsanへの言及も確認されており、メモリ解析環境下での実行を避けるための追加チェック機能が実装されていることが示唆されます。

Anti Analysis and Anti Sandbox:

/proc/self/maps

TracerPid:

/proc/self/status

valgrind

frida

strace

ltrace

asan

tsan

msan

ubsan

/proc、/dev、/sysといったディレクトリには、カーネルとハードウェアの連携に不可欠な仮想ファイルやデバイス関連ファイルが含まれています。一方、/bootbankと/altbootbankにはESXiの起動イメージとリカバリパーティションが格納されています。/etc、/lib、/binのようなシステムのコアとなるディレクトリも暗号化の対象から除外されており、設定ファイルや重要なバイナリが破損しないようにしています。これらのパスを除外することで、マルウェアはホストを起動させてアクセスできる状態を維持し、被害者がシステムにアクセスして身代金を支払えるようにしています。

Exclutions (avoid breaking the hypervisor):

/proc

/dev

/sys

/bootbank

/altbootbank

/etc

/lib

/bin

以上、文字列解析を行った結果のまとめとして、このサンプルにはESXiに特化した広範な機能が含まれていることが明らかになりました。具体的には、VMwareの管理ユーティリティ(vim-cmd)とのネイティブな連携、仮想マシンの列挙とシャットダウンのロジック、仮想マシンディスクと設定アーティファクトの標的型暗号化などが含まれます。このバイナリは包括的なコマンドラインインターフェースを提供しており、攻撃のオペレーターは暗号化の範囲、割合、実行モード、ロギングの挙動、仮想マシンの除外などを制御できます。これは、アフィリエイト主導で展開されるLockBitのRaaS(Ransomware-as-a-Service)モデルと一致しています。その他の機能として、高速な部分暗号化(fast-pass)、オプションの空き領域ワイプ、自己削除、デバッグのほか、インストルメンテーションフレームワークを標的とした複数の解析対策チェックなどが挙げられます。

制御フローとコアとなるルーチン

ランサムウェアは、自身がESXiホスト上で実行されていることを確認するため、まず以下のコマンドを実行してOSチェックを行います。

図6

vmware -v 2> /dev/nullというコマンドは、エラーメッセージを抑制しながらバージョン情報を照会することで、システムがVMware上で実行されているかを静かにチェックするために使用されます。これにより、マルウェアは目に見える出力を生成することなくESXi環境を検出できます。

図7

ps | grep vmx | grep “%s” | grep -v grep | awk ‘{print $2}’ | sort -uというコマンドは、特定の識別子に一致する実行中のVMware仮想マシンプロセスを見つけ、そのプロセスIDを抽出し、重複のないリストを生成するために使用されます。これは、マルウェアが暗号化の前にアクティブなVMを終了させるためだと考えられます。

図8

上記は仮想マシンのシャットダウンルーチンですが、マルウェアはVMの電源状態を確認し、まだ実行中であればvim-cmd vmsvc/power.offコマンドを繰り返し発行しながら結果を検証します。これは、暗号化開始前にVMを確実かつ完全にシャットダウンするための自動化されたループ処理であることがわかります。

図9

高速暗号化モード、バックグラウンド実行、クワイエットモード、ノートの保存、自己破壊の制御、空き領域のワイプ、カスタム暗号化率といったコマンドラインオプションがあり、実行フローが高度に設定可能であることがわかります。

図10

このランサムウェアはリアルタイムで運用メトリクスを保持します。これは、オペレーターに進捗状況を可視化し、標的環境全体で暗号化プロセスが正常に完了したことを確認させるためだと思われます。

暗号化処理

ストリーム暗号ChaCha20の実装はこちらです。

図11

16進数値のASCIIデコード

図12

リトルエンディアンでメモリに再配置すると、この値は「expand 32-byte k」という文字列になり、これは状態の初期化に用いられるChaCha20の定数文字列です。

ESXi I386亜種の分析

今回分析したサンプルは、VMware ESXiを標的とする32ビットのLinux ELF(i386)ファイルです。このサンプルには「LINUX Locker v1.06」というラベルが付けられているのが確認されており、これは以前のリリースからビルドが変更されていないか、あるいはオペレーターがバージョンカウンターの更新を忘れた可能性を示唆しています。

このサンプルは、必要な32ビットランタイムやローダーを備えた汎用Linuxホスト上でも実行可能ですが、その処理は明らかにESXiに最適化されています。実際の動作フローは、以前に確認されたx64版ESXiサンプルのものと同様です。このマルウェアは、/vmfs/volumes/… 配下でデータストアを検出・探索することを前提としており、VMwareの管理ツール(vim-cmdなど)を使ってVMの列挙や電源状態の操作を行います。そのため、ESXi以外のLinux環境では、パスを手動で指定しない限りESXiに依存する処理は失敗するか、スキップされる可能性があります。

図13

Poly1305の処理を示すデコンパイルコードのサンプル

分析の観点から見ると、このバイナリはストリップ処理が施されており、特にセクションヘッダーテーブルが削除されている点が特徴です。これにより、一般的な自動トリアージやセクション情報を利用したリバースエンジニアリングの手法が適用しにくくなっています。また、実装からはスレッドとTLS(スレッドローカルストレージ)による並列処理が行われていることも分かります。さらに、実行時に文字列を難読化するレイヤーが設けられており、パス、コマンドテンプレート、メッセージといった重要なテキストが、ローテーションベースの変換処理によって必要に応じてデコードされます。機能面では、コードベースにChaChaファミリーなど最新の暗号化技術が実装されています。

以上、今回はLockBit 5.0のEXSi版の詳細な分析を行ってきました。[c]本連載の中編以降では、Linux版とWindows版の亜種について解説していきます。

LevelBlueについて

LevelBlueは、インテリジェンス主導のセキュリティによって可視性とスピードを提供し、脅威をより迅速に封じ込めることで、次世代のセキュリティを実現します。世界最大かつアナリストから高い評価を得たマネージドセキュリティサービスプロバイダー(MSSP)として、AIを活用したマネージドサービスと、マネージド・アドバイザリー・インシデントレスポンスの各サービスにわたるサイバーセキュリティの専門知識により、お客様が自信を持って事業を運営できるよう支援します。詳細はこちらをご覧ください。