Az - Device Registration

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

基本情報

デバイスがAzureADに参加すると、AzureADに新しいオブジェクトが作成されます。

デバイスを登録すると、ユーザーには自分のアカウントでログインするように求められます(必要に応じてMFAを要求される)、その後、デバイス登録サービス用のトークンをリクエストし、最後に確認プロンプトが表示されます。

その後、デバイスで2つのRSAキーペアが生成されます:デバイスキー公開キー)がAzureADに送信され、トランスポートキー(秘密キー)が可能であればTPMに保存されます。

その後、AzureADでオブジェクトが生成され(Intuneではない)、AzureADはデバイスに自身が署名した証明書を返します。デバイスがAzureADに参加していることや証明書に関する情報(TPMで保護されているかどうかなど)を確認できます。

dsregcmd /status

デバイス登録後、LSASS CloudAPモジュールによってPrimary Refresh Token(PRT)が要求され、デバイスに提供されます。PRTにはセッションキーが暗号化されてデバイスだけが復号化できるように(輸送キーの公開鍵を使用)、PRTの使用には必要です。

PRTとは何かについての詳細は、以下をチェックしてください:

pageAz - Primary Refresh Token (PRT)

TPM - Trusted Platform Module

TPMは、(PINによって保護されている場合)電源が切られたデバイスから鍵の抽出を防ぎ、OSレイヤーからプライベートな素材を抽出することを防ぎます。 しかし、TPMとCPUの物理的な接続をスニッフィングしたり、システムがSYSTEM権限を持つプロセスからTPM内の暗号素材を使用することには保護されていません

以下のページをチェックすると、PRTを盗むことでユーザーのようにアクセスできることがわかります。これはPRTがデバイスに存在するため、それらから盗まれる可能性がある(盗まれなかった場合でも新しい署名キーを生成するために悪用される可能性があります):

pageAz - Pass the PRT

SSOトークンを使用してデバイスを登録する

攻撃者が、侵害されたデバイスからMicrosoftデバイス登録サービスのトークンをリクエストし、登録することが可能です:

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

プレゼンスを維持し、将来のPRT要求に使用できる証明書を取得します。したがって、元のPRTトークンを使用して新しいデバイスを登録する際にMFAをバイパスし、すでにMFA権限が付与されているため、MFAをバイパスします。

この攻撃を実行するには、新しいデバイスを登録する権限が必要であることに注意してください。また、デバイスを登録することは、デバイスがIntuneに登録できるようになることを意味しません。

この攻撃は2021年9月に修正されました。SSOトークンを使用して新しいデバイスを登録することはできなくなりました。しかし、合法的な方法でデバイスを登録することはできます(必要に応じてユーザー名、パスワード、MFAを持っています)。確認: roadtxを参照してください。

デバイスチケットの上書き

デバイスチケットを要求し、デバイスの現在のチケットを上書きし、フロー中にPRTを盗むことが可能でした(したがって、TPMから盗む必要はありません。詳細はこのトークを参照)。

しかし、これは修正されました。

WHFBキーの上書き

元のスライドはこちら

攻撃の概要:

  • SSOを介してデバイス登録されたWHFBキーを上書きすることが可能

  • 新しいキーの生成中にキーがスニップされるため、これはTPM保護を無効にします

  • これはまたプレゼンスを提供します

ユーザーはAzure AD Graphを介して自分のsearchableDeviceKeyプロパティを変更できますが、攻撃者はテナント内にデバイスを持っている必要があります(即座に登録するか、合法的なデバイスから証明書+キーを盗んでいる)し、AAD Graphの有効なアクセス トークンを持っている必要があります。

その後、次のように新しいキーを生成することが可能です:

roadtx genhellokey -d <device id> -k tempkey.key

そして、searchableDeviceKeyの情報をPATCHします:

ユーザーからアクセス トークンを取得し、デバイスコードフィッシングを介して前の手順を悪用して、彼のアクセスを盗むことが可能です。詳細については、次を確認してください:

pageAz - Phishing Primary Refresh Token (Microsoft Entra)

参考文献

htARTE (HackTricks AWS Red Team Expert)を使用して、ゼロからヒーローまでAWSハッキングを学びましょう!

HackTricksをサポートする他の方法:

最終更新