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 समूह के लिए टिकट बनाने से रोका गया है...
हालांकि, एक वास्तविक परिदृश्य में ऐसे विशेषाधिकार प्राप्त उपयोगकर्ता होंगे जो उन समूहों में नहीं हैं। इसलिए नया 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 उत्पन्न करता है, तो यह उपयोगकर्ता के बारे में उसके पास मौजूद विवरण का उपयोग करेगा। इसलिए, यदि एक ग्लोबल एडमिन उपयोगकर्ता के सुरक्षा पहचानकर्ता और नाम को AzureAD में संशोधित कर सकता है, तो उस उपयोगकर्ता के लिए TGT का अनुरोध करते समय सुरक्षा पहचानकर्ता एक अलग होगा।
यह Microsoft Graph या Azure AD Graph के माध्यम से करना संभव नहीं है, लेकिन API Active Directory Connect का उपयोग करना संभव है जिसका उपयोग समन्वयित उपयोगकर्ताओं को बनाने और अपडेट करने के लिए किया जाता है, जिसे ग्लोबल एडमिन्स द्वारा किसी भी हाइब्रिड उपयोगकर्ता के SAM नाम और SID को संशोधित करने के लिए उपयोग किया जा सकता है, और फिर यदि हम प्रमाणित होते हैं, तो हमें संशोधित SID वाला आंशिक TGT प्राप्त होता है।
ध्यान दें कि हम AADInternals के साथ यह कर सकते हैं और Set-AADIntAzureADObject cmdlet के माध्यम से समन्वयित उपयोगकर्ताओं को अपडेट कर सकते हैं।
हमले की सफलता और डोमेन एडमिन विशेषाधिकारों की प्राप्ति कुछ पूर्वापेक्षाओं को पूरा करने पर निर्भर करती है:
समन्वय API के माध्यम से खातों को बदलने की क्षमता महत्वपूर्ण है। यह ग्लोबल एडमिन की भूमिका या AD कनेक्ट सिंक खाते के होने से प्राप्त किया जा सकता है। वैकल्पिक रूप से, हाइब्रिड आइडेंटिटी एडमिनिस्ट्रेटर की भूमिका भी पर्याप्त होगी, क्योंकि यह AD कनेक्ट को प्रबंधित करने और नए सिंक खातों की स्थापना की अनुमति देती है।
एक हाइब्रिड खाता होना आवश्यक है। यह खाता पीड़ित खाते के विवरण के साथ संशोधन के लिए अनुकूल होना चाहिए और प्रमाणीकरण के लिए भी सुलभ होना चाहिए।
सक्रिय निर्देशिका में एक लक्षित पीड़ित खाता की पहचान करना आवश्यक है। हालाँकि हमले को पहले से समन्वयित किसी भी खाते पर निष्पादित किया जा सकता है, Azure AD टेनेट को ऑन-प्रिमिस सुरक्षा पहचानकर्ताओं को पुन: उत्पन्न नहीं करना चाहिए, जिससे टिकट प्राप्त करने के लिए एक असमर्थित खाते को संशोधित करने की आवश्यकता होती है।
इसके अलावा, इस खाते में डोमेन एडमिन समकक्ष विशेषाधिकार होना चाहिए लेकिन इसे सामान्य AD प्रशासक समूहों का सदस्य नहीं होना चाहिए ताकि AzureAD RODC द्वारा अमान्य TGT उत्पन्न करने से बचा जा सके।
सबसे उपयुक्त लक्ष्य AD कनेक्ट सिंक सेवा द्वारा उपयोग किया जाने वाला सक्रिय निर्देशिका खाता है। यह खाता 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)