Microsoft shares tips on detecting BlackLotus UEFI bootkit hacks

マイクロソフトは、ハッカーが CVE-2022-21894 の脆弱性を悪用して、BlackLotus UEFI ブートキットを使用してマシンを標的にしたり侵害したりしていないかどうかを組織が確認するのに役立つガイダンスを共有しました。

組織や個人は、Microsoft のアドバイスを利用して、攻撃から回復し、BlackLotus を使用する攻撃者が持続性を達成して検出を回避するのを防ぐこともできます。

BlackLotus は昨年からハッキング フォーラムで利用可能であり、ウイルス対策の検出を回避し、削除の試みに抵抗し、さまざまなセキュリティ機能 (Defender、HVCI、BitLocker など) を無効にできるマルウェアの一部として宣伝されています。ライセンスの価格は 5,000 ドルで、リビルドは 200 ドルで利用できます。

マルウェアの機能は、サイバーセキュリティ会社 ESET の研究者によって 3 月初旬に確認され、マルウェアが宣伝どおりに機能することが確認されました。

BlackLotus 感染の手がかりの特定

Unified Extensible Firmware Interface (UEFI) のマルウェアは、これらの脅威がオペレーティング システムの前に実行され、ブート プロセスの早い段階でペイロードを展開してセキュリティ メカニズムを無効にすることができるため、検出が特に困難です。

Unified Extensible Firmware Interface (UEFI) のマルウェアは、このタイプの脅威がオペレーティング システムの起動前に実行され、ブート プロセスの早い段階でペイロードを展開してセキュリティ メカニズムを無効にできるため、検出が特に困難です。

BlackLotus で侵害されたデバイスを分析した結果、Microsoft Incident Response チームは、マルウェアのインストールと実行プロセスにおいて、その検出を可能にするいくつかのポイントを特定しました。

研究者は、防御者が次のアーティファクトを探して、BlackLotus UEFI ブートキットの感染を判断できることに注目しています。

  • 最近作成され、ロックされたブートローダー ファイル
  • BlackLotus のインストール中に EPS:/ ファイルシステムに使用されるステージング ディレクトリの存在
  • ハイパーバイザーで保護されたコードの整合性 (HVCI) のレジストリ キーの変更
  • ネットワーク ログ
  • ブート構成ログ

ブート パーティション アーティファクト

BlackLotus は悪意のあるブートローダー ファイルを EFI システム パーティション (ESP とも呼ばれます) に書き込む必要があるため、削除や変更を防ぐためにそれらをロックします。

特に、 既知の BlackLotus ブートローダー ファイル名と一致する場合は、ESP の場所で最近変更およびロックされたファイルが「非常に疑わしいと見なされるべき」です。ネットワークからデバイスを削除し、BlackLotus に関連するアクティビティの証拠がないか調べることをお勧めします。

Microsoft では、 mountvolコマンド ライン ユーティリティを使用してブート パーティションをマウントし、作成時刻が一致しないファイルの作成日を確認することをお勧めします。

BlackLotus UEFI マルウェアによって変更されたブート ファイル
BlackLotus UEFI マルウェアによって追加されたブート ファイルのタイムスタンプ
ソース: マイクロソフト

管理者権限でコマンド プロンプトで次のコマンドを使用して、ESP パーティションをマウントできます。

mountvol[available drive letter] /s

たとえば、G: ドライブ文字が空いている場合は、次のコマンドを実行できます。

mountvol g: /s

変更時刻が不審に思われない場合、脅威ハンターはブートローダー ファイルのハッシュの計算を試みることができます。侵害されたデバイスでは、BlackLotus がデバイスをロックして改ざんを防止するため、出力はファイル アクセス エラーになるはずです。

BlackLotus のもう 1 つの特徴は、ESP に「/system32/」ディレクトリが存在することです。これは、UEFI マルウェアのインストールに必要なファイルの保存場所です。

Microsoft によると、BlackLotus のインストールが成功すると、「 ESP:/system32/ 」内のファイルが削除されますが、ディレクトリは残ります。フォレンジック アナリストはこれを使用して、削除されたファイルを検索できます。

EFI パーティション内の BlackLotus UEFI マルウェア コンポーネント
EFI パーティション内の BlackLotus UEFI マルウェア コンポーネント
ソース: マイクロソフト

レジストリ、ログ、およびネットワークの手がかり

BlackLotus の機能の 1 つは、ハイパーバイザーで保護されたコード整合性 (HVCI) を無効にすることです。これにより、署名されていないカーネル コードをロードできるようになります。

これは、次の図のように、 HVCI レジストリ キーの Enabled 値を 0 (ゼロ) に変更することで実現されます。

BlackLotus UEFI ブートキットが Windows レジストリの HVCI セキュリティ機能を無効にする
BlackLotus UEFI ブートキットが HVCI セキュリティ機能を無効にする
ソース: マイクロソフト

BlackLotus が無効にする 2 つ目の安全機能は、Windows オペレーティング システムの既定のセキュリティ エージェントである Microsoft Defender ウイルス対策です。

この操作により、Microsoft-Windows-Windows Defender/Operational Log の下のエントリの形式で、Windows イベント ログにトレースが残る場合があります。

BlackLotus UEFI ブートキットは、Microsoft Defender ウイルス対策からのリアルタイム保護を終了します
BlackLotus UEFI ブートキットが Microsoft Defender ウイルス対策を無効にする
出典:マイクロソフト

Defender をオフにすると、サービスが予期せず停止した結果、システム イベント ログにイベント ID 7023 が生成される場合もあります。

Microsoft の調査員は、ポート80 これは、BlackLotus がコマンド アンド コントロール (C2) サーバーと通信しようとしていることを示している可能性があります。

「これは、C2 サーバーに接続するか、ネットワーク構成の検出を実行する BlackLotus の注入された HTTP ダウンローダー機能の結果です」 – Microsoft

BlackLotus 侵害の追加の証拠は、ブート構成ログ (Windows ブート プロセスに関する詳細を提供するMeasuredBootログ) に存在する可能性があります。

ブートキットがアクティブになると、 grubx64.efiwinload.efi という 2 つのブート ドライバーが利用可能になります。システムの再起動ごとにログを比較することで、アナリストはマシンの起動ごとに追加または削除されたコンポーネントを見つけることができます。

BlackLotus UEFI ブートキット ドライバー
MeasuredBoot ログの BlackLotus UEFI ブートキット コンポーネント
ソース: マイクロソフト

Microsoft は、フォレンジック イメージまたは生の NTFS 読み取りツールを使用して、MeasuredBoot ログ ファイルにアクセスできると警告しています。

データは、デコードして XML または JSON ファイル形式に変換した後に読み取ることができます。 Microsoft は、ログを解析および抽出するためのオープンソースTCGLogToolsに基づくサンプル スクリプトを提供しています。

以下は、感染したマシンでサンプル スクリプトが示した BlackLotus ドライバの例です。

MeasuredBoot ログに BlackLotus エントリが表示される
スクリプトは、BlackLotus に感染したマシンのブート コンポーネントを表示します
ソース: マイクロソフト

BlackLotus の侵害を防ぐ

BlackLotus の感染後にマシンをクリーンアップするには、マシンをネットワークから削除し、クリーンなオペレーティング システムと EFI パーティションを使用して再インストールするか、EFI パーティションを使用してクリーンなバックアップから復元する必要があります。

感染後のアーティファクトは、使用されたマルウェアの種類を特定する際に明らかになりますが、防御側は、攻撃者が UEFI マルウェアを展開する前に侵入を検出することで侵害を防ぐことができます。

ただし、UEFI ブートキットを起動するには、ターゲット マシンへのリモートまたは物理的な特権アクセスが必要です。つまり、持続的な感染の前に、第 1 段階の脅威と初期アクセス ベクトルが存在します。

BlackLotus または CVE-2022-21894 を悪用するその他のマルウェアによる感染を回避するために、Microsoft は組織が最小特権と資格情報の衛生の原則を実践することを推奨しています。

「ドメイン全体の管理者レベルのサービス アカウントの使用は避けてください。ローカルの管理者権限を制限すると、リモート アクセス トロイの木馬 (RAT) やその他の望ましくないアプリケーションのインストールを制限するのに役立ちます」 – Microsoft

複数層のセキュリティ制御、いわゆる多層防御戦略を実装することにより、組織は敵対者が環境内でアクセスまたは管理者権限を取得するリスクを軽減できます。

これにより、攻撃者がユーザーまたはサービス アカウントの資格情報を侵害してネットワーク上を横方向に移動し、権限をエスカレートする前に、BlackLotus 攻撃を初期段階で実質的に阻止できます。