Az - Pass the Certificate

Support HackTricks

Pass the Certificate (Azure)

Azure में जुड़े मशीनों में, एक मशीन से दूसरी मशीन पर प्रमाणपत्रों का उपयोग करके प्रमाणित करना संभव है जो Azure AD CA द्वारा आवश्यक उपयोगकर्ता (विषय के रूप में) के लिए जारी किए जाने चाहिए जब दोनों मशीनें NegoEx प्रमाणीकरण तंत्र का समर्थन करती हैं।

अत्यधिक सरल शब्दों में:

  • कनेक्शन शुरू करने वाली मशीन (क्लाइंट) को उपयोगकर्ता के लिए Azure AD से एक प्रमाणपत्र की आवश्यकता होती है

  • क्लाइंट एक JSON वेब टोकन (JWT) हेडर बनाता है जिसमें PRT और अन्य विवरण होते हैं, इसे व्युत्पन्न कुंजी (सत्र कुंजी और सुरक्षा संदर्भ का उपयोग करके) का उपयोग करके साइन करता है और इसे Azure AD को भेजता है

  • Azure AD JWT हस्ताक्षर को क्लाइंट सत्र कुंजी और सुरक्षा संदर्भ का उपयोग करके सत्यापित करता है, PRT की वैधता की जांच करता है और प्रतिक्रिया के रूप में प्रमाणपत्र के साथ उत्तर देता है

इस परिदृश्य में और Pass the PRT हमले के लिए आवश्यक सभी जानकारी प्राप्त करने के बाद:

  • उपयोगकर्ता नाम

  • टेनेट आईडी

  • PRT

  • सुरक्षा संदर्भ

  • व्युत्पन्न कुंजी

उपकरण PrtToCert** के लिए उपयोगकर्ता के लिए P2P प्रमाणपत्र अनुरोध करना संभव है:

RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]

प्रमाणपत्र PRT के समान समय तक वैध रहेंगे। प्रमाणपत्र का उपयोग करने के लिए, आप पायथन टूल AzureADJoinedMachinePTC का उपयोग कर सकते हैं जो दूरस्थ मशीन पर प्रमाणित करेगा, PSEXEC चलाएगा और पीड़ित मशीन पर CMD खोलेगा। यह हमें Mimikatz का फिर से उपयोग करने की अनुमति देगा ताकि हम किसी अन्य उपयोगकर्ता का PRT प्राप्त कर सकें।

Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP

संदर्भ

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

Last updated