** 本記事は、LockBit 3.0 ‘Black’ attacks and leaks reveal wormable capabilities and tooling の翻訳です。最新の情報は英語記事をご覧ください。**
攻撃者が攻撃の最終段階として最新バージョンの LockBit ランサムウェア (LockBit 3.0 あるいは「LockBit Black」として知られています) を実行したインシデントを複数取り上げ、事後分析を行いました。その結果、ランサムウェアのアフィリエイトが使用するツールが確認されました。ソフォスの MDR (Managed Detection and Response) チームは過去 3 か月の間に、ランサムウェアのアフィリエイトと正規の侵入テスターが同じツール群を使用しているのを確認しています。
また、LockBit ランサムウェアのバックエンド制御を示すデータがリークされています。このデータは、ランサムウェアの作成者が Windows グループポリシーオブジェクト (GPO) や PSExec ツールを使用してマルウェアを「自己拡散」させるスクリプトの使用を試み始めたことを示しています。これらの機能により、たとえアフィリエイトが機能の利用方法を知らなくとも、マルウェアは自動でネットワーク内を移動 (ラテラルムーブメント) してコンピューターに容易に感染するので、ランサムウェアの展開から標的システムの暗号化までの時間が短縮されます。
LockBit 3.0 をリバースエンジニアリングで解析した結果、このランサムウェアは LockBit 2.0 の機能をほぼすべて引き継いだ上で、研究者による解析を妨害する新たな仕組みを採用していることがわかりました。たとえば、ランサムウェアのバイナリを起動して実行する際、コマンドラインに 32 文字のパスワードの入力を要求するサンプルが確認されています。一方で、パスワードを要求するサンプルは調査したうちの一部に限られました。
また、このランサムウェアは LocalServiceNetworkRestricted 権限で実行されるため、Administrator レベルのアクセス権を所持していなくてもマシンに被害を与えられることが確認されました (これは、他の研究者によるマルウェアの観察結果を裏付けるものです)。
最も注目すべきは、LockBit 3.0 の多くの機能とサブルーチンが、BlackMatter ランサムウェアのものと酷似していることが (他の研究者による観察と同様に) 確認されたことです。
LockBit 3.0 はただの「進化した BlackMatter」か?
LockBit 3.0 は BlackMatter ランサムウェアファミリから複数のコンセプトと技術を採用 (または借用) していることが、以前にも他の研究者に指摘されています。
私たちはこの点について独自に調査し、LockBit 3.0 が BlackMatter のコードを再利用していることを強く示唆する、多くの類似点を発見しました。
デバッグ防止設計
BlackMatter と LockBit 3.0 は、内部関数の呼び出しをランサムウェアの研究者から隠すために、特殊な仕組みを採用しています。どちらのランサムウェアも、ROT13 ベースのハッシュテーブルから Windows DLL をロード/解決します。
ロードされた DLL は、モジュールのプロセス環境ブロック (PEB) を検索して、目的の関数からポインタの取得を試みます。その後、ヒープ領域末尾にある、コード内の特定のバイナリデータマーカー (0xABABABAB) を検索します。このマーカーが存在するということは、誰かがコードをデバッグしていることを意味します。マーカーを発見すると、ランサムウェアはポインタを保存せずに、終了します。
マーカーを検索した後、ロードされた DLL は、必要とする API ごとに特別なスタブを作成します。作成されるスタブは 5 種類の中からランダムに決定されます。各スタブは、その場で API のハッシュ解決を行い、メモリ内の API アドレスにジャンプするシェルコードの断片です。この仕組みにより、デバッガーを使用したリバースエンジニアリングを妨害します。
SophosLabs は、これらのスタブシェルコードの断片を解読するための CyberChef レシピをまとめました。
文字列の難読化
LockBit 3.0、BlackMatter の双方で多くの文字列が難読化されています。いずれのランサムウェアも、実行時に難読化された文字列をスタックにプッシュし、XOR 関数で復号化することで解決しています。文字列を復号化する部分のコードは、LockBit と BlackMatter で非常によく似ています。
ジョージア工科大学の学生 Chuong Dong 氏は BlackMatter を分析し、上述の機能をブログで、上のスクリーンショットとともに紹介しました。
比較すると、LockBit 3.0 は、BlackMatter の文字列難読化機能と見た目上も機能上も酷似した手法を採用しています。
API の解決
LockBit は BlackMatter と完全に同じ実装を使用して API の呼び出しを解決しますが、例外が 1 点あります。LockBit では、デバッガーから関数を隠すために、手順が 1 つ追加されています。
上記の一連の API 呼び出しは、LockBit 3.0 の関数と全く同じ役割を果たします。
スレッドの隠蔽
LockBit と BlackMatter はともに、NtSetInformationThread 関数に ThreadHideFromDebugger というパラメータを指定して、スレッドを隠蔽します。名前の通り、この関数によりデバッガーはこのスレッドに関連する部分のイベントを受信しなくなります。
ランサムノート (身代金要求文書) の印刷
LockBit は BlackMatter と同様、接続されたプリンターにランサムノートを送信します。
シャドウコピーの消去
どちらのランサムウェアも、ボリュームシャドウコピーファイルを削除することで、感染したコンピューターがファイルを暗号化された後、自力で復旧するのを妨害します。
LockBit は、IWbemLocator::ConnectServer メソッドを呼び出してローカルの ROOT\CIMV2 名前空間に接続し、最終的に IWbemServices::ExecQuery を呼び出して WQL クエリを実行する IWbemServices オブジェクトへのポインタを入手します。
LockBit がシャドウコピーを削除する部分も、サブルーチンに文字列の難読化が多少施されていることを除けば、BlackMatter の実装と同一です。
DNS ホスト名の列挙
LockBit と BlackMatter は NetShareEnum を呼び出すことで、ネットワーク上のホスト名を列挙します。
LockBit のソースコードを見ると、この関数は BlackMatter のソースコードからそのままコピーしたようです。
OS バージョンの特定
どちらのランサムウェアも、OS のバージョンを確認するのに同一のコードを使用しています。リターンコードさえも同一です。(リターンコードはバージョン番号を 16 進数で表したものなので、ある種当然とも言えます。)
構成
どちらのランサムウェアも、バイナリ実行ファイル内に構成データを埋め込んでいます。LockBit も、BlackMatter と同様の方法で構成データをデコードしていることを確認しました。一方で、多少の違いも存在します。
たとえば、BlackMatter は設定を .rsrc セクションに保存しますが、LockBit は .pdata に保存します。
また、LockBit はデコードに異なる LCG (線形合同法) アルゴリズムを使用しています。
LockBit と BlackMatter のコードが類似していることから、研究者は BlackMatter のコーダーの何人かが LockBit に採用された、LockBit が BlackMatter のコードベースを購入した、あるいはランサムウェアの開発者が共同で LockBit を作成したのではないかと推測しています。今年初めに発表した、複数の攻撃者についてのホワイトペーパーでソフォスが指摘したように、ランサムウェアグループ同士が偶然、あるいは意図的に交流するのは珍しいことではありません。
いずれにせよ、今回の調査結果は、ランサムウェアのエコシステムが複雑かつ流動的であることのさらなる証拠となります。ランサムウェアグループは、自分たちの利益になるように、お互いのアイデア、コード、戦術を再利用したり、借用したり、あるいは盗用したりします。さらに、LockBit 3.0 のリークサイト (バグバウンティや「素晴らしいアイデア」に対する報酬を約束しています) が示唆するように、LockBit 3.0 を使用するランサムウェアグループはイノベーションに対して積極的にお金を支払っているようです。
正規の侵入テスターが使用するツールを模倣する LockBit
また、LockBit 3.0 のアフィリエイトによるランサムウェアの展開は、正規の侵入テスターの活動と区別するのが非常に困難です。もちろん、正規の侵入テスターは、事前に対象企業と契約を結び、侵入テストを行うことが法的に許可されています。
攻撃者が使用するツールの中に、Backstab と呼ばれる GitHub のパッケージが含まれているのを確認しました。Backstab の主な機能は、その名の通り、セキュリティオペレーションセンターのアナリストが不審な活動をリアルタイムで監視するために使用するツールを妨害することです。このユーティリティは、Microsoft 独自の Process Explorer ドライバ (Microsoft の署名入り) を使用して、保護されたアンチマルウェアのプロセスを終了させ、EDR ユーティリティを無効化します。ソフォスも他の研究者も、LockBit の攻撃者が、ランサムウェア攻撃者に広く普及した攻撃ツールである Cobalt Strike を使用し、Windows Defender を直接操作して検出を回避していることを確認しています。
LockBit 3.0 は、REvil ランサムウェアを展開する攻撃者が使用する lbb_pass.exe というパスワードでロックされたランサムウェアの亜種であるため、ランサムウェア間の相互関係はさらに複雑です。この事実は、両方のグループに属する攻撃者が存在すること、あるいは LockBit に属さない攻撃者が流出した LockBit 3.0 のビルダを利用したことを示唆していると考えられます。少なくとも BlooDy というランサムウェアグループがこのビルダを使用したことが報告されています。これまでの経緯から、さらに多くのグループによって使用される可能性もあります。
LockBit 3.0 の攻撃者は、現在ランサムウェア攻撃者に人気の、一般提供されているツールやユーティリティも使用しています。その中には、アンチフッキングユーティリティである GMER、AV Remover と呼ばれる (マルウェア対策企業の ESET が公開した) ツール、および多数の PowerShell スクリプト (Tamper Protection が有効になっていない、あるいは攻撃者が組織の管理コンソールの認証情報を取得した後、無効化したコンピューターからソフォス製品を削除するように設計されたもの) などが含まれます。
また、攻撃者は Netscan と呼ばれるツールを使って標的のネットワークを調査していたようです。もちろん、広く普及しているパスワード盗聴ツールである Mimikatz も使われていました。
区別のないインシデント対応
これらのユーティリティは広く普及しているため、ソフォスの MDR と Rapid Response チームは同ユーティリティを検出すると、実際に攻撃が発生しているかどうかにかかわらず、直ちに警告を発します。
攻撃者は、標的ネットワークのセキュリティ対策が十分でないことを利用しているのです。複数のランサムウェア攻撃者に関するアクティブアドバーサリーレポートで述べたように、重要な内部ログイン (管理コンソールなど) に多要素認証 (MFA) が導入されていない場合、侵入者は管理者のパスワードを盗聴、またはキーストロークでキャプチャし、管理コンソールへのアクセス権を入手します。
経験豊富な攻撃者は、少なくとも Sophos Central やその他のコンソールツールについては、コンソールの正規ユーザーと同様に熟知しています。したがって、エンドポイント保護ソフトウェアを弱体化したり、無効化したりするための弱点を正確に知っていると考えて良いでしょう。実際、LockBit を使用する攻撃者が関与した少なくとも 1 件のインシデントにおいて、ソフォス製品による保護を停止するためのものだと思われるファイル、sophoscentralremoval-master.zip および sophos-removal-tool-master.zip をダウンロードする様子が確認されました。そのため、管理者のログイン権を保護することは、ネットワークを守るために管理者が取るべき最も重要な措置の 1 つです。
LockBit 3.0 に関連するセキュリティ侵害の痕跡 (IoC) の一覧は、ソフォスの GitHub で公開しています。
謝辞
Sophos X-Ops チームは本記事への貢献に対し、Colin Cowie、Gabor Szappanos、Alex Vermaning、Steeve Gaudreault に謝意を表します。