Az - Cloud Kerberos Trust
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यह पोस्ट https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ का सारांश है, जिसे हमले के बारे में अधिक जानकारी के लिए चेक किया जा सकता है। इस तकनीक पर भी टिप्पणी की गई है https://www.youtube.com/watch?v=AFay_58QubY।
जब Azure AD के साथ एक ट्रस्ट स्थापित किया जाता है, तो AD में एक Read Only Domain Controller (RODC) बनाया जाता है। RODC कंप्यूटर खाता, जिसका नाम AzureADKerberos$
है। इसके अलावा, एक द्वितीयक krbtgt
खाता जिसका नाम krbtgt_AzureAD
है। यह खाता उन Kerberos कुंजियों को रखता है जो Azure AD टिकटों के लिए उपयोग करता है।
इसलिए, यदि यह खाता समझौता कर लिया जाता है, तो किसी भी उपयोगकर्ता का अनुकरण करना संभव हो सकता है... हालाँकि यह सच नहीं है क्योंकि इस खाते को किसी सामान्य विशेषाधिकार प्राप्त AD समूह जैसे Domain Admins, Enterprise Admins, Administrators के लिए टिकट बनाने से रोका गया है...
हालांकि, एक वास्तविक परिदृश्य में ऐसे विशेषाधिकार प्राप्त उपयोगकर्ता होंगे जो उन समूहों में नहीं हैं। इसलिए नया krbtgt खाता, यदि समझौता कर लिया जाए, तो उनका अनुकरण करने के लिए उपयोग किया जा सकता है।
इसके अलावा, जब एक उपयोगकर्ता Windows पर हाइब्रिड पहचान का उपयोग करके प्रमाणित होता है, तो Azure AD आंशिक Kerberos टिकट के साथ PRT जारी करेगा। TGT आंशिक है क्योंकि AzureAD के पास ऑन-प्रिम AD में उपयोगकर्ता की सीमित जानकारी होती है (जैसे सुरक्षा पहचानकर्ता (SID) और नाम)।
Windows तब इस आंशिक TGT को पूर्ण TGT के लिए विनिमय कर सकता है krbtgt
सेवा के लिए सेवा टिकट का अनुरोध करके।
चूंकि ऐसी सेवाएँ हो सकती हैं जो kerberos प्रमाणीकरण का समर्थन नहीं करती हैं बल्कि NTLM करती हैं, इसलिए एक आंशिक TGT को द्वितीयक krbtgt
कुंजी का उपयोग करके हस्ताक्षरित करने का अनुरोध करना संभव है जिसमें KERB-KEY-LIST-REQ
फ़ील्ड को PADATA अनुरोध के भाग में शामिल किया गया है और फिर प्राथमिक krbtgt
कुंजी के साथ हस्ताक्षरित पूर्ण TGT प्राप्त करें प्रतिक्रिया में NT हैश शामिल है।
जब AzureAD एक आंशिक TGT उत्पन्न करता है, तो यह उपयोगकर्ता के बारे में उसके पास मौजूद विवरण का उपयोग करेगा। इसलिए, यदि एक Global Admin उपयोगकर्ता के सुरक्षा पहचानकर्ता और नाम को AzureAD में संशोधित कर सकता है, तो उस उपयोगकर्ता के लिए TGT का अनुरोध करते समय सुरक्षा पहचानकर्ता एक अलग होगा।
Microsoft Graph या Azure AD Graph के माध्यम से ऐसा करना संभव नहीं है, लेकिन API Active Directory Connect का उपयोग करना संभव है जिसका उपयोग Global Admins द्वारा संशोधित करने के लिए किया जा सकता है SAM नाम और किसी भी हाइब्रिड उपयोगकर्ता का SID, और फिर यदि हम प्रमाणित होते हैं, तो हमें संशोधित SID वाला आंशिक TGT प्राप्त होता है।
ध्यान दें कि हम AADInternals के साथ ऐसा कर सकते हैं और Set-AADIntAzureADObject cmdlet के माध्यम से समन्वयित उपयोगकर्ताओं को अपडेट कर सकते हैं।
हमले की सफलता और Domain Admin विशेषाधिकारों की प्राप्ति कुछ पूर्वापेक्षाओं को पूरा करने पर निर्भर करती है:
Synchronization API के माध्यम से खातों को बदलने की क्षमता महत्वपूर्ण है। यह Global Admin की भूमिका या AD Connect समन्वय खाता होने से प्राप्त किया जा सकता है। वैकल्पिक रूप से, Hybrid Identity Administrator भूमिका पर्याप्त होगी, क्योंकि यह AD Connect को प्रबंधित करने और नए समन्वय खातों की स्थापना की अनुमति देती है।
एक हाइब्रिड खाता का होना आवश्यक है। इस खाते को पीड़ित खाते के विवरण के साथ संशोधित करने के लिए अनुकूल होना चाहिए और इसे प्रमाणन के लिए भी सुलभ होना चाहिए।
Active Directory में एक लक्षित पीड़ित खाता की पहचान करना आवश्यक है। हालाँकि हमले को पहले से समन्वयित किसी भी खाते पर निष्पादित किया जा सकता है, Azure AD टेनेट को ऑन-प्रिमिस सुरक्षा पहचानकर्ताओं को पुन: उत्पन्न नहीं करना चाहिए, जिससे टिकट प्राप्त करने के लिए एक असमर्थित खाते को संशोधित करने की आवश्यकता होती है।
इसके अलावा, इस खाते में डोमेन एडमिन समकक्ष विशेषाधिकार होना चाहिए लेकिन इसे सामान्य AD प्रशासक समूहों का सदस्य नहीं होना चाहिए ताकि AzureAD RODC द्वारा अमान्य TGT उत्पन्न करने से बचा जा सके।
सबसे उपयुक्त लक्ष्य AD Connect Sync सेवा द्वारा उपयोग किया जाने वाला Active Directory खाता है। यह खाता Azure AD के साथ समन्वयित नहीं है, जिससे इसका SID एक संभावित लक्ष्य बन जाता है, और यह स्वाभाविक रूप से पासवर्ड हैश को समन्वयित करने की भूमिका के कारण डोमेन एडमिन समकक्ष विशेषाधिकार रखता है (मानते हुए कि पासवर्ड हैश समन्वय सक्रिय है)। एक्सप्रेस स्थापना वाले डोमेन के लिए, इस खाते का उपसर्ग MSOL_ है। अन्य उदाहरणों के लिए, इस खाते को डोमेन ऑब्जेक्ट पर निर्देशिका पुनरुत्पादन विशेषाधिकारों के साथ सभी खातों की गणना करके पहचाना जा सकता है।
Check it in the original post: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)