Az - Device Registration

HackTricks को समर्थन दें

Basic Information

जब कोई डिवाइस AzureAD से जुड़ता है तो AzureAD में एक नया ऑब्जेक्ट बनाया जाता है।

डिवाइस को रजिस्टर करते समय, उपयोगकर्ता से उसके खाते से लॉगिन करने के लिए कहा जाता है (आवश्यक होने पर MFA पूछता है), फिर यह डिवाइस रजिस्ट्रेशन सेवा के लिए टोकन का अनुरोध करता है और फिर अंतिम पुष्टि प्रॉम्प्ट पूछता है।

फिर, डिवाइस में दो RSA keypairs उत्पन्न होते हैं: डिवाइस key (public key) जो AzureAD को भेजा जाता है और transport key (private key) जो संभव हो तो TPM में संग्रहीत होता है।

फिर, ऑब्जेक्ट AzureAD (Intune में नहीं) में उत्पन्न होता है और AzureAD डिवाइस को एक certificate वापस देता है जो इसके द्वारा हस्ताक्षरित होता है। आप जांच सकते हैं कि डिवाइस AzureAD से जुड़ा हुआ है और certificate के बारे में जानकारी (जैसे कि यह TPM द्वारा संरक्षित है या नहीं)।:

dsregcmd /status

डिवाइस पंजीकरण के बाद Primary Refresh Token को LSASS CloudAP मॉड्यूल द्वारा अनुरोध किया जाता है और डिवाइस को दिया जाता है। PRT के साथ सत्र कुंजी भी एन्क्रिप्टेड रूप में दी जाती है ताकि केवल डिवाइस इसे डिक्रिप्ट कर सके (ट्रांसपोर्ट कुंजी की सार्वजनिक कुंजी का उपयोग करके) और यह PRT का उपयोग करने के लिए आवश्यक है।

PRT क्या है इसके बारे में अधिक जानकारी के लिए देखें:

Az - Primary Refresh Token (PRT)

TPM - Trusted Platform Module

TPM कुंजी निष्कर्षण से संरक्षण करता है जब डिवाइस बंद हो (यदि PIN द्वारा संरक्षित हो) और OS लेयर से निजी सामग्री को निकालने से। लेकिन यह TPM और CPU के बीच भौतिक कनेक्शन को सूँघने या सिस्टम चलने के दौरान TPM में क्रिप्टोग्राफिक सामग्री का उपयोग करने से संरक्षण नहीं करता है, यदि प्रक्रिया के पास SYSTEM अधिकार हैं।

यदि आप निम्नलिखित पृष्ठ की जाँच करते हैं तो आप देखेंगे कि PRT चोरी करना उपयोगकर्ता की तरह एक्सेस करने के लिए उपयोग किया जा सकता है, जो बहुत अच्छा है क्योंकि PRT डिवाइसों में स्थित है, इसलिए इसे उनसे चुराया जा सकता है (या यदि नहीं चुराया गया तो नए साइनिंग कुंजियों को उत्पन्न करने के लिए दुरुपयोग किया जा सकता है):

Az - Pass the PRT

SSO टोकन के साथ डिवाइस पंजीकरण

यह संभव होगा कि एक हमलावर समझौता किए गए डिवाइस से Microsoft डिवाइस पंजीकरण सेवा के लिए एक टोकन का अनुरोध करे और इसे पंजीकृत करे:

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

जो आपको एक प्रमाणपत्र देगा जिसका उपयोग आप भविष्य में PRTs के लिए कर सकते हैं। इस प्रकार स्थायित्व बनाए रखते हुए और MFA को बायपास करते हुए क्योंकि नए डिवाइस को पंजीकृत करने के लिए उपयोग किए गए मूल PRT टोकन में पहले से ही MFA अनुमतियाँ दी गई थीं

ध्यान दें कि इस हमले को करने के लिए आपके पास नए डिवाइस पंजीकृत करने की अनुमतियाँ होनी चाहिए। इसके अलावा, डिवाइस को पंजीकृत करने का मतलब यह नहीं है कि डिवाइस को Intune में नामांकित होने की अनुमति दी जाएगी

इस हमले को सितंबर 2021 में ठीक कर दिया गया था क्योंकि अब आप SSO टोकन का उपयोग करके नए डिवाइस पंजीकृत नहीं कर सकते। हालाँकि, वैध तरीके से डिवाइस पंजीकृत करना अभी भी संभव है (यदि आवश्यक हो तो उपयोगकर्ता नाम, पासवर्ड और MFA के साथ)। देखें: roadtx

डिवाइस टिकट को ओवरराइट करना

यह डिवाइस टिकट का अनुरोध करना, वर्तमान डिवाइस का टिकट ओवरराइट करना, और प्रवाह के दौरान PRT चोरी करना संभव था (इसलिए इसे TPM से चोरी करने की आवश्यकता नहीं है। अधिक जानकारी के लिए यह टॉक देखें

हालाँकि, इसे ठीक कर दिया गया था।

WHFB कुंजी को ओवरराइट करना

मूल स्लाइड्स यहाँ देखें

हमले का सारांश:

  • SSO के माध्यम से डिवाइस से पंजीकृत WHFB कुंजी को ओवरराइट करना संभव है

  • यह TPM सुरक्षा को हरा देता है क्योंकि कुंजी नई कुंजी के निर्माण के दौरान सूँघी जाती है

  • यह स्थायित्व भी प्रदान करता है

उपयोगकर्ता Azure AD ग्राफ़ के माध्यम से अपनी स्वयं की searchableDeviceKey संपत्ति को संशोधित कर सकते हैं, हालाँकि, हमलावर को टेनेंट में एक डिवाइस (फ्लाई पर पंजीकृत या वैध डिवाइस से चोरी किए गए प्रमाणपत्र + कुंजी) और AAD ग्राफ़ के लिए एक वैध एक्सेस टोकन की आवश्यकता होती है।

फिर, एक नई कुंजी उत्पन्न करना संभव है:

roadtx genhellokey -d <device id> -k tempkey.key

और फिर searchableDeviceKey की जानकारी को PATCH करें:

यह संभव है कि device code phishing के माध्यम से किसी उपयोगकर्ता से एक access token प्राप्त किया जाए और पिछले चरणों का दुरुपयोग करके उसकी पहुंच चुरा ली जाए। अधिक जानकारी के लिए देखें:

Az - Phishing Primary Refresh Token (Microsoft Entra)

संदर्भ

HackTricks को समर्थन दें

Last updated