Az - Cloud Kerberos Trust

Support HackTricks

यह पोस्ट https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ का सारांश है जिसे हमले के बारे में अधिक जानकारी के लिए चेक किया जा सकता है। इस तकनीक पर भी टिप्पणी की गई है https://www.youtube.com/watch?v=AFay_58QubY

Basic Information

Trust

जब Azure AD के साथ एक ट्रस्ट स्थापित किया जाता है, तो AD में एक Read Only Domain Controller (RODC) बनाया जाता है। RODC कंप्यूटर खाता, जिसका नाम AzureADKerberos$ है। इसके अलावा, एक द्वितीयक krbtgt खाता जिसका नाम krbtgt_AzureAD है। यह खाता उन Kerberos कुंजियों को रखता है जो Azure AD टिकटों के लिए उपयोग करता है।

इसलिए, यदि यह खाता समझौता कर लिया जाता है, तो किसी भी उपयोगकर्ता का अनुकरण करना संभव हो सकता है... हालाँकि यह सच नहीं है क्योंकि इस खाते को डोमेन एडमिन, एंटरप्राइज एडमिन, प्रशासकों जैसे किसी सामान्य विशेषाधिकार प्राप्त AD समूह के लिए टिकट बनाने से रोका गया है...

हालांकि, एक वास्तविक परिदृश्य में ऐसे विशेषाधिकार प्राप्त उपयोगकर्ता होंगे जो उन समूहों में नहीं हैं। इसलिए नया krbtgt खाता, यदि समझौता कर लिया जाए, तो उनका अनुकरण करने के लिए उपयोग किया जा सकता है।

Kerberos TGT

इसके अलावा, जब एक उपयोगकर्ता Windows पर हाइब्रिड पहचान का उपयोग करके प्रमाणित होता है, तो Azure AD आंशिक Kerberos टिकट के साथ PRT जारी करेगा। TGT आंशिक है क्योंकि AzureAD के पास ऑन-प्रिम AD में उपयोगकर्ता की सीमित जानकारी होती है (जैसे सुरक्षा पहचानकर्ता (SID) और नाम)। Windows तब इस आंशिक TGT को पूर्ण TGT के लिए विनिमय कर सकता है krbtgt सेवा के लिए सेवा टिकट का अनुरोध करके।

NTLM

चूंकि ऐसी सेवाएँ हो सकती हैं जो kerberos प्रमाणीकरण का समर्थन नहीं करती हैं बल्कि NTLM करती हैं, इसलिए एक आंशिक TGT को द्वितीयक krbtgt कुंजी का उपयोग करके हस्ताक्षरित करने का अनुरोध करना संभव है जिसमें KERB-KEY-LIST-REQ फ़ील्ड को PADATA अनुरोध के भाग में शामिल किया गया है और फिर प्राथमिक krbtgt कुंजी के साथ हस्ताक्षरित पूर्ण TGT प्राप्त करें प्रतिक्रिया में NT हैश शामिल है

Abusing Cloud Kerberos Trust to obtain Domain Admin

जब AzureAD एक आंशिक TGT उत्पन्न करता है, तो यह उपयोगकर्ता के बारे में उसके पास मौजूद विवरण का उपयोग करेगा। इसलिए, यदि एक ग्लोबल एडमिन उपयोगकर्ता के सुरक्षा पहचानकर्ता और नाम को AzureAD में संशोधित कर सकता है, तो उस उपयोगकर्ता के लिए TGT का अनुरोध करते समय सुरक्षा पहचानकर्ता एक अलग होगा

यह Microsoft Graph या Azure AD Graph के माध्यम से करना संभव नहीं है, लेकिन API Active Directory Connect का उपयोग करना संभव है जिसका उपयोग समन्वयित उपयोगकर्ताओं को बनाने और अपडेट करने के लिए किया जाता है, जिसे ग्लोबल एडमिन्स द्वारा किसी भी हाइब्रिड उपयोगकर्ता के SAM नाम और SID को संशोधित करने के लिए उपयोग किया जा सकता है, और फिर यदि हम प्रमाणित होते हैं, तो हमें संशोधित SID वाला आंशिक TGT प्राप्त होता है।

ध्यान दें कि हम AADInternals के साथ ऐसा कर सकते हैं और Set-AADIntAzureADObject cmdlet के माध्यम से समन्वयित उपयोगकर्ताओं को अपडेट कर सकते हैं।

Attack prerequisites

हमले की सफलता और डोमेन एडमिन विशेषाधिकारों की प्राप्ति कुछ पूर्वापेक्षाओं को पूरा करने पर निर्भर करती है:

  • समन्वय API के माध्यम से खातों को बदलने की क्षमता महत्वपूर्ण है। यह ग्लोबल एडमिन की भूमिका या AD कनेक्ट समन्वय खाता होने से प्राप्त किया जा सकता है। वैकल्पिक रूप से, हाइब्रिड आइडेंटिटी एडमिनिस्ट्रेटर की भूमिका भी पर्याप्त होगी, क्योंकि यह AD कनेक्ट को प्रबंधित करने और नए समन्वय खातों की स्थापना की अनुमति देती है।

  • एक हाइब्रिड खाता होना आवश्यक है। इस खाते को पीड़ित खाते के विवरण के साथ संशोधित करने के लिए अनुकूल होना चाहिए और प्रमाणीकरण के लिए भी सुलभ होना चाहिए।

  • सक्रिय निर्देशिका में एक लक्षित पीड़ित खाता की पहचान करना आवश्यक है। हालाँकि हमले को पहले से समन्वयित किसी भी खाते पर निष्पादित किया जा सकता है, Azure AD टेनेन्ट को ऑन-प्रिमिस सुरक्षा पहचानकर्ताओं को पुन: उत्पन्न नहीं करना चाहिए, जिससे टिकट प्राप्त करने के लिए एक असमर्थित खाते को संशोधित करने की आवश्यकता होती है।

  • इसके अलावा, इस खाते में डोमेन एडमिन समकक्ष विशेषाधिकार होना चाहिए लेकिन इसे सामान्य AD प्रशासक समूहों का सदस्य नहीं होना चाहिए ताकि AzureAD RODC द्वारा अमान्य TGT का निर्माण न हो।

  • सबसे उपयुक्त लक्ष्य AD कनेक्ट सिंक सेवा द्वारा उपयोग किया जाने वाला सक्रिय निर्देशिका खाता है। यह खाता Azure AD के साथ समन्वयित नहीं है, जिससे इसका SID एक संभावित लक्ष्य बन जाता है, और यह स्वाभाविक रूप से पासवर्ड हैश को समन्वयित करने की भूमिका के कारण डोमेन एडमिन समकक्ष विशेषाधिकार रखता है (मानते हुए कि पासवर्ड हैश सिंक सक्रिय है)। एक्सप्रेस इंस्टॉलेशन वाले डोमेन के लिए, इस खाते का उपसर्ग MSOL_ होता है। अन्य उदाहरणों के लिए, खाते को डोमेन ऑब्जेक्ट पर निर्देशिका पुनरुत्पादन विशेषाधिकारों के साथ सभी खातों को सूचीबद्ध करके पहचाना जा सकता है।

The full attack

Check it in the original post: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/

Support HackTricks

Last updated