Az - Device Registration

Reading time: 9 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

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

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

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

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

bash
dsregcmd /status

デバイス登録後、Primary Refresh TokenがLSASS CloudAPモジュールによって要求され、デバイスに渡されます。PRTには、デバイスのみが復号化できるように暗号化されたセッションキー(トランスポートキーの公開鍵を使用)も付随しており、PRTを使用するために必要です。

PRTについての詳細は以下を確認してください:

Az - Primary Refresh Token (PRT)

TPM - Trusted Platform Module

TPMは、電源がオフのデバイスからのキー抽出(PINで保護されている場合)や、OS層からのプライベートマテリアルの抽出に対して保護します。
しかし、TPMとCPUの間の物理接続をスニッフィングすることや、SYSTEM権限を持つプロセスからシステムが稼働している間にTPM内の暗号材料を使用することに対しては保護されていません。

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

Az - Primary Refresh Token (PRT)

SSOトークンを使用したデバイスの登録

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

bash
# 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を要求するために使用できる証明書を取得するか。したがって、持続性を維持し、MFAをバイパスすることができます。なぜなら、新しいデバイスを登録するために使用された元のPRTトークンはすでにMFA権限が付与されていたからです

tip

この攻撃を実行するには、新しいデバイスを登録する権限が必要です。また、デバイスを登録することは、そのデバイスがIntuneに登録されることを許可されることを意味しません。

caution

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

デバイスタイプの上書き

デバイスタイプを要求し、現在のデバイスタイプを上書きし、フロー中にPRTを盗むことが可能でした(TPMから盗む必要はありません)。詳細については、このトークを確認してください

caution

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

WHFBキーの上書き

元のスライドをこちらで確認してください

攻撃の概要:

  • デバイスからSSOを介して登録されたWHFBキーを上書きすることが可能です
  • 新しいキーの生成中にキーがスニッフィングされるため、TPM保護を打破します
  • これにより持続性も提供されます

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

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

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

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

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

Az - Primary Refresh Token (PRT)

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする