Az - Cloud Kerberos Trust
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
This post is a summary of https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ which can be checked for further information about the attack. This technique is also commented in https://www.youtube.com/watch?v=AFay_58QubY.
Wakati uaminifu umeanzishwa na Azure AD, Read Only Domain Controller (RODC) inaundwa katika AD. Akaunti ya RODC computer, 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 Domain Admins, Enterprise Admins, Administrators...
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.
Zaidi ya hayo, wakati mtumiaji anajiandikisha kwenye Windows akitumia utambulisho wa mseto, Azure AD itatoa partial Kerberos ticket 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
.
Kama kutakuwa na huduma ambazo hazisaidii uthibitisho wa kerberos lakini NTLM, inawezekana kuomba partial TGT 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.
Wakati AzureAD inaunda partial TGT itatumia maelezo iliyonayo kuhusu mtumiaji. Hivyo, ikiwa Msimamizi wa Kimataifa 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 Active Directory Connect inayotumika kuunda na kuboresha watumiaji waliounganishwa, ambayo inaweza kutumika na Msimamizi wa Kimataifa kubadilisha jina la SAM na SID ya mtumiaji yeyote wa mseto, na kisha ikiwa tunaingia, tunapata TGT ya sehemu yenye SID iliyobadilishwa.
Kumbuka kwamba tunaweza kufanya hivi na AADInternals na kuboresha kwa watumiaji waliounganishwa kupitia cmdlet Set-AADIntAzureADObject.
Mafanikio ya shambulio na kupata mamlaka ya Domain Admin yanategemea kutimizwa kwa masharti fulani:
Uwezo wa kubadilisha akaunti kupitia Synchronization API ni muhimu. Hii inaweza kupatikana kwa kuwa na jukumu la Msimamizi wa Kimataifa au kuwa na akaunti ya AD Connect sync. Vinginevyo, jukumu la Msimamizi wa Utambulisho wa Mseto litatosha, kwani linatoa uwezo wa kusimamia AD Connect na kuanzisha akaunti mpya za sync.
Uwepo wa akaunti ya mseto ni muhimu. Akaunti hii inapaswa kuwa na uwezo wa kubadilishwa kwa maelezo ya akaunti ya mwathirika na pia inapaswa kuwa inapatikana kwa uthibitisho.
Kutambua akaunti ya mwathirika ndani ya Active Directory ni lazima. Ingawa shambulio linaweza kutekelezwa kwenye akaunti yoyote iliyounganishwa tayari, mpangilio wa Azure AD haupaswi kuwa na kitambulisho cha usalama wa ndani kilichorejelewa, hivyo inahitajika kubadilisha akaunti isiyounganishwa 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 AzureAD RODC.
Lengo bora ni akaunti ya Active Directory inayotumika na huduma ya AD Connect Sync. Akaunti hii haijaundwa na Azure AD, ikiacha SID yake kama lengo linalofaa, na kwa asili ina mamlaka sawa na ya Domain Admin kutokana na jukumu lake katika kuunganisha hash za nywila (kikadiria kuwa Password Hash Sync inafanya kazi). Kwa maeneo yenye usakinishaji wa haraka, akaunti hii huanza na MSOL_. Kwa matukio mengine, akaunti inaweza kutambuliwa kwa kuorodhesha akaunti zote zilizo na mamlaka ya Urejeleaji wa Katalogi kwenye kituo cha domain.
Check it in the original post: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)