Az - PTA - Pass-through Authentication
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)
From the docs: Η Πιστοποίηση μέσω Πέρασμα (Pass-through Authentication) του Azure Active Directory (Azure AD) επιτρέπει στους χρήστες σας να συνδέονται τόσο σε τοπικές όσο και σε εφαρμογές που βασίζονται στο cloud χρησιμοποιώντας τους ίδιους κωδικούς πρόσβασης. Αυτή η δυνατότητα παρέχει στους χρήστες σας μια καλύτερη εμπειρία - ένας λιγότερος κωδικός πρόσβασης για να θυμούνται, και μειώνει τα κόστη του IT helpdesk επειδή οι χρήστες σας είναι λιγότερο πιθανό να ξεχάσουν πώς να συνδεθούν. Όταν οι χρήστες συνδέονται χρησιμοποιώντας το Azure AD, αυτή η δυνατότητα επικυρώνει τους κωδικούς πρόσβασης των χρηστών απευθείας με το τοπικό σας Active Directory.
Στην PTA οι ταυτότητες είναι συγχρονισμένες αλλά οι κωδικοί πρόσβασης δεν είναι όπως στην PHS.
Η πιστοποίηση επικυρώνεται στο τοπικό AD και η επικοινωνία με το cloud γίνεται μέσω ενός πράκτορα πιστοποίησης που εκτελείται σε έναν τοπικό διακομιστή (δεν χρειάζεται να είναι στον τοπικό DC).
Για να συνδεθεί ο χρήστης ανακατευθύνεται στο Azure AD, όπου στέλνει το όνομα χρήστη και τον κωδικό πρόσβασης
Οι διαπιστευτήρια είναι κρυπτογραφημένα και τοποθετούνται σε μια ουρά στο Azure AD
Ο τοπικός πράκτορας πιστοποίησης συλλέγει τα διαπιστευτήρια από την ουρά και τα αποκρυπτογραφεί. Αυτός ο πράκτορας ονομάζεται "Πράκτορας Πιστοποίησης μέσω Πέρασμα" ή πράκτορας PTA.
Ο πράκτορας επικυρώνει τα διαπιστευτήρια με το τοπικό AD και στέλνει την απάντηση πίσω στο Azure AD, το οποίο, αν η απάντηση είναι θετική, ολοκληρώνει τη σύνδεση του χρήστη.
Εάν ένας επιτιθέμενος παραβιάσει την PTA μπορεί να δει όλα τα διαπιστευτήρια από την ουρά (σε καθαρό κείμενο). Μπορεί επίσης να επικυρώσει οποιαδήποτε διαπιστευτήρια στο AzureAD (παρόμοια επίθεση με το Skeleton key).
Εάν έχετε διαχειριστική πρόσβαση στον διακομιστή Azure AD Connect με τον πράκτορα PTA να εκτελείται, μπορείτε να χρησιμοποιήσετε το AADInternals module για να εισάγετε μια πίσω πόρτα που θα επικυρώνει ΟΛΟΥΣ τους κωδικούς πρόσβασης που εισάγονται (έτσι όλοι οι κωδικοί πρόσβασης θα είναι έγκυροι για πιστοποίηση):
Εάν η εγκατάσταση αποτύχει, αυτό πιθανώς οφείλεται σε ελλείποντα Microsoft Visual C++ 2015 Redistributables.
Είναι επίσης δυνατό να δείτε τους κωδικούς πρόσβασης σε καθαρό κείμενο που αποστέλλονται στον πράκτορα PTA χρησιμοποιώντας την παρακάτω cmdlet στη μηχανή όπου εγκαταστάθηκε η προηγούμενη πίσω πόρτα:
This backdoor will:
Δημιουργήσει έναν κρυφό φάκελο C:\PTASpy
Αντιγράψει ένα PTASpy.dll
στο C:\PTASpy
Εισάγει το PTASpy.dll
στη διαδικασία AzureADConnectAuthenticationAgentService
Όταν η υπηρεσία AzureADConnectAuthenticationAgent επανεκκινείται, το PTASpy “απεγκαθίσταται” και πρέπει να επανεγκατασταθεί.
Αφού αποκτήσουμε GA privileges στο cloud, είναι δυνατό να καταχωρήσουμε έναν νέο PTA agent ρυθμίζοντάς τον σε μια μηχανή ελεγχόμενη από τον επιτιθέμενο. Μόλις ο agent είναι ρυθμισμένος, μπορούμε να επαναλάβουμε τα προηγούμενα βήματα για να αυθεντικοποιηθούμε χρησιμοποιώντας οποιονδήποτε κωδικό πρόσβασης και επίσης, να αποκτήσουμε τους κωδικούς πρόσβασης σε καθαρό κείμενο.
Είναι δυνατό να χρησιμοποιήσουμε το Seamless SSO με PTA, το οποίο είναι ευάλωτο σε άλλες καταχρήσεις. Ελέγξτε το στο:
Az - Seamless SSOLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)