Az - Cloud Kerberos Trust

Support HackTricks

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.

Basic Information

Trust

Wakati uaminifu unapoanzishwa 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.

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.

Abusing Cloud Kerberos Trust to obtain Domain Admin

Wakati AzureAD inaunda TGT ya sehemu itakuwa ikitumia maelezo ambayo ina 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.

Attack prerequisites

Mafanikio ya shambulio na kupata mamlaka ya Domain Admin yanategemea kutimizwa kwa masharti fulani:

  • Uwezo wa kubadilisha akaunti kupitia API ya Usawazishaji ni muhimu. Hii inaweza kupatikana kwa kuwa na jukumu la Msimamizi wa Kimataifa 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 na uwezo wa kuingia.

  • Utambuzi wa 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 RODC ya AzureAD.

  • Lengo bora zaidi ni akaunti ya Active Directory inayotumiwa na huduma ya Usawazishaji ya AD Connect. 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 kusawazisha hash za nywila (ikiwa Usawazishaji wa Hash za Nywila unafanya kazi). Kwa maeneo yenye usakinishaji wa haraka, akaunti hii huanza na MSOL_. Kwa matukio mengine, akaunti inaweza kupatikana kwa kuorodhesha akaunti zote zenye mamlaka ya Urejeleaji wa Katalogi kwenye kituo cha domain.

The full attack

Check it in the original post: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/

Support HackTricks

Last updated