Az - Federation
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Uit die dokumentasie:Federasie is 'n versameling van domeine wat vertroue gevestig het. Die vlak van vertroue kan verskil, maar sluit tipies autentisering in en sluit byna altyd autorisering in. 'n Tipiese federasie kan 'n aantal organisasies insluit wat vertroue gevestig het vir gedeelde toegang tot 'n stel hulpbronne.
Jy kan jou on-premises omgewing met Azure AD federate en hierdie federasie gebruik vir autentisering en autorisering. Hierdie aanmeldmetode verseker dat alle gebruiker autentisering plaasvind op-premises. Hierdie metode stel administrateurs in staat om meer streng vlakke van toegangbeheer te implementeer. Federasie met AD FS en PingFederate is beskikbaar.
Basies, in Federasie, vind alle autentisering plaas in die on-prem omgewing en die gebruiker ervaar SSO oor al die vertroude omgewings. Daarom kan gebruikers toegang tot cloud toepassings verkry deur hul on-prem kredensiale te gebruik.
Security Assertion Markup Language (SAML) word gebruik vir uitruiling van alle autentisering en autorisering inligting tussen die verskaffers.
In enige federasie-opstelling is daar drie partye:
Gebruiker of Kliënt
Identiteitsverskaffer (IdP)
Diensverskaffer (SP)
(Beelde van https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps)
Aanvanklik word 'n toepassing (Diensverskaffer of SP, soos AWS-konsol of vSphere-webkliënt) deur 'n gebruiker toegang verkry. Hierdie stap kan oorgeslaan word, wat die kliënt direk na die IdP (Identiteitsverskaffer) lei, afhangende van die spesifieke implementering.
Vervolgens identifiseer die SP die toepaslike IdP (bv. AD FS, Okta) vir gebruiker autentisering. Dit stel dan 'n SAML (Security Assertion Markup Language) AuthnRequest op en herlei die kliënt na die gekose IdP.
Die IdP neem oor, wat die gebruiker autentiseer. Na autentisering word 'n SAMLResponse deur die IdP geformuleer en aan die SP deur die gebruiker gestuur.
Laastens evalueer die SP die SAMLResponse. As dit suksesvol geverifieer word, wat 'n vertrouensverhouding met die IdP impliseer, word die gebruiker toegang verleen. Dit merk die voltooiing van die aanmeldproses, wat die gebruiker in staat stel om die diens te gebruik.
As jy meer wil leer oor SAML-autentisering en algemene aanvalle, gaan na:
AD FS is 'n eise-gebaseerde identiteitsmodel.
"..eise is eenvoudig stellings (byvoorbeeld, naam, identiteit, groep), gemaak oor gebruikers, wat hoofsaaklik gebruik word om toegang tot eise-gebaseerde toepassings wat oral op die Internet geleë is, te autoriseer."
Eise vir 'n gebruiker word binne die SAML tokens geskryf en word dan onderteken om vertroulikheid deur die IdP te bied.
'n Gebruiker word geïdentifiseer deur ImmutableID. Dit is wêreldwyd uniek en word in Azure AD gestoor.
Die ImmutableID word op-premises gestoor as ms-DS-ConsistencyGuid vir die gebruiker en/of kan afgelei word van die GUID van die gebruiker.
Goue SAML-aanval:
In ADFS word die SAML Response onderteken deur 'n token-ondertekeningssertifikaat.
As die sertifikaat gecompromitteer is, is dit moontlik om as ENIGE gebruiker wat met Azure AD gesinkroniseer is, te autentiseer!
Net soos ons PTA misbruik, sal 'n wagwoordverandering vir 'n gebruiker of MFA geen effek hê nie omdat ons die autentisering respons vervals.
Die sertifikaat kan van die AD FS-bediener met DA voorregte onttrek word en kan dan van enige internet-verbonden masjien gebruik word.
Die proses waar 'n Identiteitsverskaffer (IdP) 'n SAMLResponse produseer om gebruiker aanmelding te autoriseer, is van kardinale belang. Afhangende van die spesifieke implementering van die IdP, kan die respons onderteken of geënkripteer word met die IdP se privaat sleutel. Hierdie prosedure stel die Diensverskaffer (SP) in staat om die egtheid van die SAMLResponse te bevestig, wat verseker dat dit inderdaad deur 'n vertroude IdP uitgereik is.
'n Parallel kan getrek word met die goue kaart aanval, waar die sleutel wat die gebruiker se identiteit en regte autentiseer (KRBTGT vir goue kaarte, token-ondertekenings privaat sleutel vir goue SAML) gemanipuleer kan word om 'n autentisering objek (TGT of SAMLResponse) te vervals. Dit stel die vermoë om enige gebruiker na te boots, wat ongeoorloofde toegang tot die SP verleen.
Goue SAMLs bied sekere voordele:
Hulle kan afgeleë geskep word, sonder die behoefte om deel te wees van die domein of federasie in kwestie.
Hulle bly effektief selfs met Twee-Faktor Autentisering (2FA) geaktiveer.
Die token-ondertekenings privaat sleutel hernu nie outomaties nie.
Die verandering van 'n gebruiker se wagwoord maak nie 'n reeds gegenereerde SAML ongeldig nie.
Active Directory Federation Services (AD FS) is 'n Microsoft diens wat die veilige uitruiling van identiteitsinligting tussen vertroude besigheidsvennote (federasie) fasiliteer. Dit stel in wese 'n domeindiens in staat om gebruikersidentiteite met ander diensverskaffers binne 'n federasie te deel.
Met AWS wat die gecompromitteerde domein vertrou (in 'n federasie), kan hierdie kwesbaarheid benut word om potensieel enige regte in die AWS-omgewing te verkry. Die aanval vereis die privaat sleutel wat gebruik word om die SAML-objekte te onderteken, soortgelyk aan die behoefte aan die KRBTGT in 'n goue kaart aanval. Toegang tot die AD FS-gebruikersrekening is voldoende om hierdie privaat sleutel te verkry.
Die vereistes om 'n goue SAML-aanval uit te voer sluit in:
Token-ondertekenings privaat sleutel
IdP publieke sertifikaat
IdP naam
Rolnaam (rol om aan te neem)
Domein\gebruikersnaam
Rol sessienaam in AWS
Amazon rekening ID
Slegs die items in vetdruk is verpligtend. Die ander kan na wens ingevul word.
Om die privaat sleutel te verkry, is toegang tot die AD FS-gebruikersrekening nodig. Van daar kan die privaat sleutel uit die persoonlike winkel onttrek word met behulp van gereedskap soos mimikatz. Om die ander vereiste inligting te versamel, kan jy die Microsoft.Adfs.Powershell snapin soos volg gebruik, terwyl jy seker maak jy is aangemeld as die ADFS-gebruiker:
Met al die inligting is dit moontlik om 'n geldige SAMLResponse te vergeet as die gebruiker wat jy wil naboots met behulp van shimit:
Dit is ook moontlik om ImmutableID van slegs wolk gebruikers te skep en hulle na te boots.
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)