Az - Cloud Kerberos Trust
Reading time: 5 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.
Post hii ni muhtasari wa https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ ambayo inaweza kuangaliwa kwa maelezo zaidi kuhusu shambulio. Mbinu hii pia imejadiliwa katika https://www.youtube.com/watch?v=AFay_58QubY.
Taarifa za Msingi
Uaminifu
Wakati uaminifu unapoanzishwa na Azure AD, Kituo cha Kichwa cha Kituo cha Kichwa (RODC) kinaundwa katika AD. Akaunti ya kompyuta ya RODC, inayoitwa AzureADKerberos$
. Pia, akaunti ya pili ya krbtgt
inayoitwa krbtgt_AzureAD
. Akaunti hii ina funguo za Kerberos zinazotumika kwa tiketi ambazo Azure AD inaunda.
Hivyo, ikiwa akaunti hii itavunjwa inaweza kuwa na uwezo wa kujifanya kama mtumiaji yeyote... ingawa hii si kweli kwa sababu akaunti hii imezuia kuunda tiketi kwa kundi lolote la kawaida lenye mamlaka ya AD kama vile Domain Admins, Enterprise Admins, Administrators...
caution
Hata hivyo, katika hali halisi kutakuwa na watumiaji wenye mamlaka ambao hawako katika vikundi hivyo. Hivyo, akaunti mpya ya krbtgt, ikiwa itavunjwa, inaweza kutumika kujifanya kama wao.
Kerberos TGT
Zaidi ya hayo, wakati mtumiaji anajiandikisha kwenye Windows akitumia utambulisho wa mseto Azure AD itatoa tiketi ya Kerberos ya sehemu pamoja na PRT. TGT ni ya sehemu kwa sababu AzureAD ina taarifa chache za mtumiaji katika AD ya ndani (kama kitambulisho cha usalama (SID) na jina).
Windows inaweza kisha kubadilisha TGT hii ya sehemu kwa TGT kamili kwa kuomba tiketi ya huduma kwa huduma ya krbtgt
.
NTLM
Kama kutakuwa na huduma ambazo hazisaidii uthibitisho wa kerberos lakini NTLM, inawezekana kuomba TGT ya sehemu iliyosainiwa kwa kutumia funguo ya pili ya krbtgt
ikiwa na KERB-KEY-LIST-REQ
katika sehemu ya PADATA ya ombi na kisha kupata TGT kamili iliyosainiwa kwa funguo ya msingi ya krbtgt
ikiwa na hash ya NT katika jibu.
Kutumia Cloud Kerberos Trust kupata Domain Admin
Wakati AzureAD inaunda TGT ya sehemu itakuwa ikitumia maelezo iliyonayo kuhusu mtumiaji. Hivyo, ikiwa Msimamizi wa Global anaweza kubadilisha data kama kitambulisho cha usalama na jina la mtumiaji katika AzureAD, wakati wa kuomba TGT kwa mtumiaji huyo kitambulisho cha usalama kitakuwa tofauti.
Haiwezekani kufanya hivyo kupitia Microsoft Graph au Azure AD Graph, lakini inawezekana kutumia API ambayo Active Directory Connect inatumia kuunda na kusasisha watumiaji waliounganishwa, ambayo inaweza kutumika na Msimamizi wa Global kubadilisha jina la SAM na SID ya mtumiaji yeyote wa mseto, na kisha ikiwa tunaandika, tunapata TGT ya sehemu yenye SID iliyobadilishwa.
Kumbuka kwamba tunaweza kufanya hivi na AADInternals na kusasisha kwa watumiaji waliounganishwa kupitia cmdlet Set-AADIntAzureADObject.
Masharti ya shambulio
Mafanikio ya shambulio na kupata mamlaka ya Domain Admin yanategemea kukutana na masharti fulani:
- Uwezo wa kubadilisha akaunti kupitia API ya Usawazishaji ni muhimu. Hii inaweza kupatikana kwa kuwa na jukumu la Msimamizi wa Global au kuwa na akaunti ya usawazishaji ya AD Connect. Vinginevyo, jukumu la Msimamizi wa Utambulisho wa Mseto litatosha, kwani linatoa uwezo wa kusimamia AD Connect na kuanzisha akaunti mpya za usawazishaji.
- Uwepo wa akaunti ya mseto ni muhimu. Akaunti hii lazima iweze kubadilishwa kwa maelezo ya akaunti ya mwathirika na pia inapaswa kuwa inapatikana kwa uthibitisho.
- Utambuzi wa akaunti ya mwathirika ndani ya Active Directory ni lazima. Ingawa shambulio linaweza kutekelezwa kwenye akaunti yoyote iliyosawazishwa tayari, mpangilio wa Azure AD haupaswi kuwa na kitambulisho cha usalama wa ndani kilichorejelewa, hivyo inahitajika kubadilisha akaunti isiyosawazishwa ili kupata tiketi.
- Aidha, akaunti hii inapaswa kuwa na mamlaka sawa na ya admin wa domain lakini haipaswi kuwa mwanachama wa vikundi vya kawaida vya wasimamizi wa AD ili kuepuka kuundwa kwa TGT zisizo sahihi na RODC ya AzureAD.
- Lengo bora ni akaunti ya Active Directory inayotumiwa na huduma ya AD Connect Sync. Akaunti hii haisawazishwi na Azure AD, ikiacha SID yake kama lengo linalofaa, na kwa asili ina mamlaka sawa na ya Domain Admin kutokana na jukumu lake katika kusawazisha hash za nywila (ikiwa Usawazishaji wa Hash ya Nywila unafanya kazi). Kwa maeneo yenye usakinishaji wa haraka, akaunti hii imeandikwa kwa MSOL_. Kwa matukio mengine, akaunti inaweza kupatikana kwa kuorodhesha akaunti zote zilizo na mamlaka ya Urejeleaji wa Katalogi kwenye kituo cha domain.
Shambulio kamili
Angalia katika chapisho la asili: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
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.