Az - PTA - Pass-through Authentication

Reading time: 5 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

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

Basic Information

From the docs: Azure Active Directory (Azure AD) Pass-through Authentication आपके उपयोगकर्ताओं को एक ही पासवर्ड का उपयोग करके ऑन-प्रिमाइसेस और क्लाउड-आधारित अनुप्रयोगों में साइन इन करने की अनुमति देता है। यह सुविधा आपके उपयोगकर्ताओं को एक बेहतर अनुभव प्रदान करती है - याद रखने के लिए एक पासवर्ड कम, और आईटी हेल्पडेस्क लागत को कम करती है क्योंकि आपके उपयोगकर्ता साइन इन करना भूलने की संभावना कम होती है। जब उपयोगकर्ता Azure AD का उपयोग करके साइन इन करते हैं, तो यह सुविधा उपयोगकर्ताओं के पासवर्ड को सीधे आपके ऑन-प्रिमाइसेस Active Directory के खिलाफ मान्य करती है

PTA में पहचानें सिंक्रनाइज़ होती हैं लेकिन पासवर्ड नहीं होते जैसे कि PHS में।

प्रमाणीकरण ऑन-प्रिम AD में मान्य किया जाता है और क्लाउड के साथ संचार एक प्रमाणीकरण एजेंट द्वारा किया जाता है जो एक ऑन-प्रिम सर्वर पर चल रहा है (यह ऑन-प्रिम DC पर होना आवश्यक नहीं है)।

Authentication flow

  1. लॉगिन करने के लिए उपयोगकर्ता को Azure AD पर पुनर्निर्देशित किया जाता है, जहां वह उपयोगकर्ता नाम और पासवर्ड भेजता है।
  2. क्रेडेंशियल्स एन्क्रिप्ट किए जाते हैं और Azure AD में एक क्यू में सेट किए जाते हैं।
  3. ऑन-प्रिम प्रमाणीकरण एजेंट क्यू से क्रेडेंशियल्स इकट्ठा करता है और उन्हें डिक्रिप्ट करता है। इस एजेंट को "Pass-through authentication agent" या PTA एजेंट कहा जाता है।
  4. एजेंट क्रेड्स को ऑन-प्रिम AD के खिलाफ मान्य करता है और प्रतिक्रिया वापस Azure AD को भेजता है, जो यदि प्रतिक्रिया सकारात्मक है, तो उपयोगकर्ता का लॉगिन पूरा करता है

warning

यदि एक हमलावर PTA को समझौता करता है, तो वह क्यू से सभी क्रेडेंशियल्स ( स्पष्ट-टेक्स्ट में) देख सकता है।
वह AzureAD के लिए किसी भी क्रेडेंशियल्स को भी मान्य कर सकता है (Skeleton key के समान हमला)।

On-Prem -> cloud

यदि आपके पास Azure AD Connect सर्वर पर PTA एजेंट चलाने के लिए व्यवस्थापक पहुंच है, तो आप AADInternals मॉड्यूल का उपयोग करके एक बैकडोर डाल सकते हैं जो सभी पासवर्ड को मान्य करेगा (तो सभी पासवर्ड प्रमाणीकरण के लिए मान्य होंगे):

bash
Install-AADIntPTASpy

note

यदि स्थापना विफल होती है, तो यह संभवतः Microsoft Visual C++ 2015 Redistributables की कमी के कारण है।

यह भी संभव है कि PTA एजेंट को भेजे गए स्पष्ट-पाठ पासवर्ड देखें निम्नलिखित cmdlet का उपयोग करके उस मशीन पर जहां पिछला बैकडोर स्थापित किया गया था:

bash
Get-AADIntPTASpyLog -DecodePasswords

यह बैकडोर करेगा:

  • एक छिपा हुआ फ़ोल्डर C:\PTASpy बनाएगा
  • PTASpy.dll को C:\PTASpy में कॉपी करेगा
  • PTASpy.dll को AzureADConnectAuthenticationAgentService प्रक्रिया में इंजेक्ट करेगा

note

जब AzureADConnectAuthenticationAgent सेवा को पुनः प्रारंभ किया जाता है, तो PTASpy "अनलोड" हो जाता है और इसे फिर से स्थापित करना आवश्यक है।

क्लाउड -> ऑन-प्रेम

caution

क्लाउड पर GA विशेषाधिकार प्राप्त करने के बाद, इसे हमलावर द्वारा नियंत्रित मशीन पर सेट करके एक नया PTA एजेंट पंजीकृत करना संभव है। एक बार जब एजेंट सेटअप हो जाता है, तो हम किसी भी पासवर्ड का उपयोग करके प्रमाणित करने के लिए पिछले चरणों को दोहरा सकते हैं और साथ ही, स्पष्ट-टेक्स्ट में पासवर्ड प्राप्त कर सकते हैं।

निर्बाध SSO

PTA के साथ निर्बाध SSO का उपयोग करना संभव है, जो अन्य दुरुपयोगों के प्रति संवेदनशील है। इसे देखें:

Az - Seamless SSO

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

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