Az - Federation
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)
From the docs:Federation ni mkusanyiko wa domains ambazo zimeanzisha trust. Kiwango cha trust kinaweza kutofautiana, lakini kwa kawaida kinajumuisha authentication na karibu kila wakati kinajumuisha authorization. Federation ya kawaida inaweza kujumuisha idara kadhaa ambazo zimeanzisha trust kwa upatikanaji wa pamoja wa seti ya rasilimali.
Unaweza federate mazingira yako ya on-premises na Azure AD na kutumia federation hii kwa ajili ya authentication na authorization. Njia hii ya kuingia inahakikisha kwamba authentication ya mtumiaji inafanyika kwenye on-premises. Njia hii inaruhusu wasimamizi kutekeleza viwango vya juu vya udhibiti wa upatikanaji. Federation na AD FS na PingFederate inapatikana.
Kimsingi, katika Federation, authentication yote inafanyika katika mazingira ya on-prem na mtumiaji anapata SSO katika mazingira yote ya kuaminika. Hivyo, watumiaji wanaweza kupata cloud maombi kwa kutumia on-prem credentials zao.
Security Assertion Markup Language (SAML) inatumika kwa ajili ya kubadilishana taarifa zote za authentication na authorization kati ya watoa huduma.
Katika mpangilio wowote wa federation kuna pande tatu:
Mtumiaji au Mteja
Mtoa Kitambulisho (IdP)
Mtoa Huduma (SP)
(Images from https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps)
Kwanza, programu (Mtoa Huduma au SP, kama vile AWS console au vSphere web client) inafikiwa na mtumiaji. Hatua hii inaweza kupuuziliwa mbali, ikimpeleka mteja moja kwa moja kwa IdP (Mtoa Kitambulisho) kulingana na utekelezaji maalum.
Kisha, SP inatambua IdP sahihi (mfano, AD FS, Okta) kwa ajili ya authentication ya mtumiaji. Kisha inaunda SAML (Security Assertion Markup Language) AuthnRequest na inampeleka mteja kwa IdP iliyochaguliwa.
IdP inachukua jukumu, ikimthibitisha mtumiaji. Baada ya authentication, SAMLResponse inaundwa na IdP na kupelekwa kwa SP kupitia mtumiaji.
Hatimaye, SP inakagua SAMLResponse. Ikiwa imethibitishwa kwa mafanikio, ikionyesha uhusiano wa kuaminiana na IdP, mtumiaji anapewa upatikanaji. Hii inamaanisha kumalizika kwa mchakato wa kuingia, ikimruhusu mtumiaji kutumia huduma hiyo.
Ikiwa unataka kujifunza zaidi kuhusu SAML authentication na mashambulizi ya kawaida nenda kwa:
AD FS ni mfano wa kitambulisho unaotegemea madai.
"..madai ni kauli tu (kwa mfano, jina, kitambulisho, kundi), zinazotolewa kuhusu watumiaji, ambazo zinatumika hasa kwa ajili ya kuidhinisha upatikanaji wa maombi yanayotegemea madai yaliyoko popote kwenye Mtandao."
Madai ya mtumiaji yanaandikwa ndani ya SAML tokens na kisha kusainiwa ili kutoa usiri na IdP.
Mtumiaji anajulikana kwa ImmutableID. Ni ya kipekee duniani na inahifadhiwa katika Azure AD.
ImmutableID inahifadhiwa kwenye on-prem kama ms-DS-ConsistencyGuid kwa mtumiaji na/au inaweza kutolewa kutoka kwa GUID wa mtumiaji.
Golden SAML attack:
Katika ADFS, SAML Response inasainiwa na cheti cha kusaini token.
Ikiwa cheti kimeharibiwa, inawezekana kuthibitisha kwa Azure AD kama MTUMIAJI YEYOTE aliyeunganishwa na Azure AD!
Kama vile unavyofanya abuse ya PTA, kubadilisha nenosiri la mtumiaji au MFA hakutakuwa na athari yoyote kwa sababu tunaunda jibu la uthibitisho.
Cheti kinaweza kutolewa kutoka kwa seva ya AD FS kwa ruhusa za DA na kisha kinaweza kutumika kutoka kwa mashine yoyote iliyo na muunganisho wa intaneti.
Mchakato ambapo Mtoa Kitambulisho (IdP) anatoa SAMLResponse ili kuidhinisha kuingia kwa mtumiaji ni muhimu. Kulingana na utekelezaji maalum wa IdP, jibu linaweza kuwa limesainiwa au limefichwa kwa kutumia funguo binafsi za IdP. Utaratibu huu unaruhusu Mtoa Huduma (SP) kuthibitisha uhalali wa SAMLResponse, kuhakikisha kwamba ilitolewa na IdP inayotambulika.
Mfanoweza kuhusishwa na shambulio la tiketi ya dhahabu, ambapo funguo inayothibitisha kitambulisho na ruhusa za mtumiaji (KRBTGT kwa tiketi za dhahabu, funguo binafsi za kusaini token kwa golden SAML) inaweza kudhibitiwa ili kuunda kitu cha uthibitisho (TGT au SAMLResponse). Hii inaruhusu kuiga mtumiaji yeyote, ikitoa upatikanaji usioidhinishwa kwa SP.
Golden SAMLs hutoa faida fulani:
Zinaweza kuundwa kwa mbali, bila haja ya kuwa sehemu ya domain au federation husika.
Zinabaki kuwa na ufanisi hata na Uthibitisho wa Mbili (2FA) umewezeshwa.
Funguo binafsi ya kusaini token haijazuiliwa kiotomatiki.
Kubadilisha nenosiri la mtumiaji hakuharibu SAML iliyotengenezwa tayari.
Active Directory Federation Services (AD FS) ni huduma ya Microsoft inayowezesha kubadilishana kwa usalama wa taarifa za kitambulisho kati ya washirika wa biashara wanaoaminiana (federation). Kimsingi inaruhusu huduma ya domain kushiriki vitambulisho vya watumiaji na watoa huduma wengine ndani ya federation.
Kwa AWS kuamini domain iliyoharibiwa (katika federation), udhaifu huu unaweza kutumika ili kupata ruhusa yoyote katika mazingira ya AWS. Shambulio hili linahitaji funguo binafsi inayotumika kusaini vitu vya SAML, kama vile inavyohitajika KRBTGT katika shambulio la tiketi ya dhahabu. Upatikanaji wa akaunti ya mtumiaji wa AD FS unatosha kupata funguo hii binafsi.
Mahitaji ya kutekeleza shambulio la golden SAML ni pamoja na:
Funguo binafsi ya kusaini token
Cheti cha umma cha IdP
Jina la IdP
Jina la jukumu (jukumu la kuchukua)
Domain\username
Jina la kikao cha jukumu katika AWS
Amazon account ID
Vitu vilivyo katika maandiko makubwa pekee ndivyo vinahitajika. Vingine vinaweza kujazwa kama inavyotakiwa.
Ili kupata funguo binafsi, upatikanaji wa akaunti ya mtumiaji wa AD FS unahitajika. Kutoka hapo, funguo binafsi inaweza kuzalishwa kutoka kwenye duka la kibinafsi kwa kutumia zana kama mimikatz. Ili kukusanya taarifa nyingine zinazohitajika, unaweza kutumia Microsoft.Adfs.Powershell snapin kama ifuatavyo, ukihakikisha umeingia kama mtumiaji wa ADFS:
Kwa kutumia taarifa zote, inawezekana kusahau SAMLResponse halali kama mtumiaji unayetaka kujifanya kutumia shimit:
Ni pia inawezekana kuunda ImmutableID ya watumiaji wa wingu pekee na kujifanya kuwao.
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)