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)
Iz dokumenata:Federacija je skup domena koje su uspostavile povjerenje. Nivo povjerenja može varirati, ali obično uključuje autentifikaciju i gotovo uvek uključuje autorizaciju. Tipična federacija može uključivati broj organizacija koje su uspostavile povjerenje za deljenje pristupa skupu resursa.
Možete federisati svoje on-premises okruženje sa Azure AD i koristiti ovu federaciju za autentifikaciju i autorizaciju. Ova metoda prijavljivanja osigurava da se sva autentifikacija korisnika vrši on-premises. Ova metoda omogućava administratorima da implementiraju rigoroznije nivoe kontrole pristupa. Federacija sa AD FS i PingFederate je dostupna.
U suštini, u Federaciji, sva autentifikacija se vrši u on-prem okruženju i korisnik doživljava SSO kroz sva poverena okruženja. Stoga, korisnici mogu pristupiti cloud aplikacijama koristeći svoje on-prem kredencijale.
Security Assertion Markup Language (SAML) se koristi za razmenu svih informacija o autentifikaciji i autorizaciji između provajdera.
U bilo kojoj federacijskoj postavci postoje tri strane:
Korisnik ili Klijent
Provajder identiteta (IdP)
Provajder usluga (SP)
(Images from https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps)
Prvo, aplikaciju (Provajder usluga ili SP, kao što je AWS konzola ili vSphere web klijent) pristupa korisnik. Ovaj korak može biti zaobiđen, vodeći klijenta direktno do IdP (Provajder identiteta) u zavisnosti od specifične implementacije.
Zatim, SP identifikuje odgovarajući IdP (npr., AD FS, Okta) za autentifikaciju korisnika. Zatim kreira SAML (Security Assertion Markup Language) AuthnRequest i preusmerava klijenta na odabrani IdP.
IdP preuzima, autentifikujući korisnika. Nakon autentifikacije, SAMLResponse formuliše IdP i prosleđuje ga SP-u kroz korisnika.
Na kraju, SP procenjuje SAMLResponse. Ako je uspešno validiran, što implicira odnos poverenja sa IdP-om, korisniku se odobrava pristup. Ovo označava završetak procesa prijavljivanja, omogućavajući korisniku da koristi uslugu.
Ako želite da saznate više o SAML autentifikaciji i uobičajenim napadima, idite na:
AD FS je model identiteta zasnovan na tvrdnjama.
"..tvrdnje su jednostavno izjave (na primer, ime, identitet, grupa), koje se daju o korisnicima, a koriste se prvenstveno za autorizaciju pristupa aplikacijama zasnovanim na tvrdnjama smeštenim bilo gde na Internetu."
Tvrdnje za korisnika se pišu unutar SAML tokena i zatim se potpisuju kako bi se obezbedila poverljivost od strane IdP-a.
Korisnik se identifikuje pomoću ImmutableID. On je globalno jedinstven i čuva se u Azure AD.
ImmutableID se čuva on-prem kao ms-DS-ConsistencyGuid za korisnika i/ili se može izvesti iz GUID-a korisnika.
Golden SAML napad:
U ADFS-u, SAML Response se potpisuje sertifikatom za potpisivanje tokena.
Ako je sertifikat kompromitovan, moguće je autentifikovati se na Azure AD kao BILO KOJI korisnik sinhronizovan sa Azure AD!
Baš kao i naš zlostavljanje PTA, promena lozinke za korisnika ili MFA neće imati nikakav efekat jer falsifikujemo odgovor na autentifikaciju.
Sertifikat se može izvući sa AD FS servera sa DA privilegijama i zatim se može koristiti sa bilo kog računara povezanog na internet.
Proces u kojem Provajder identiteta (IdP) proizvodi SAMLResponse za autorizaciju prijavljivanja korisnika je od suštinskog značaja. U zavisnosti od specifične implementacije IdP-a, odgovor može biti potpisan ili šifrovan koristeći privatni ključ IdP-a. Ova procedura omogućava Provajderu usluga (SP) da potvrdi autentičnost SAMLResponse-a, osiguravajući da je zaista izdat od strane poverenog IdP-a.
Paralela se može povući sa napadom zlatne karte, gde se ključ koji autentifikuje identitet i dozvole korisnika (KRBTGT za zlatne karte, privatni ključ za potpisivanje tokena za zlatne SAML) može manipulisati da falsifikuje objekat autentifikacije (TGT ili SAMLResponse). Ovo omogućava impersonaciju bilo kog korisnika, dajući neovlašćen pristup SP-u.
Zlatni SAML-ovi nude određene prednosti:
Mogu se kreirati na daljinu, bez potrebe da budu deo domena ili federacije u pitanju.
Ostaju efikasni čak i sa dvofaktorskom autentifikacijom (2FA) uključenom.
Privatni ključ za potpisivanje tokena se automatski ne obnavlja.
Promena lozinke korisnika ne poništava već generisani SAML.
Active Directory Federation Services (AD FS) je Microsoftova usluga koja olakšava sigurnu razmenu informacija o identitetu između poverenih poslovnih partnera (federacija). U suštini, omogućava usluzi domena da deli identitete korisnika sa drugim provajderima usluga unutar federacije.
Sa AWS-om koji veruje kompromitovanom domenu (u federaciji), ova ranjivost se može iskoristiti da potencijalno dobije bilo koja prava u AWS okruženju. Napad zahteva privatni ključ koji se koristi za potpisivanje SAML objekata, slično kao što je potrebno KRBTGT u napadu zlatne karte. Pristup AD FS korisničkom nalogu je dovoljan da se dobije ovaj privatni ključ.
Zahtevi za izvršavanje napada zlatnog SAML-a uključuju:
Privatni ključ za potpisivanje tokena
IdP javni sertifikat
Ime IdP-a
Ime uloge (uloga koja se preuzima)
Domen\korisničko ime
Ime sesije uloge u AWS-u
Amazon ID naloga
Samo stavke u podebljanom su obavezne. Ostale se mogu popuniti po želji.
Da biste dobili privatni ključ, potreban je pristup AD FS korisničkom nalogu. Odatle se privatni ključ može izvesti iz lične prodavnice koristeći alate kao što je mimikatz. Da biste prikupili druge potrebne informacije, možete koristiti Microsoft.Adfs.Powershell snapin na sledeći način, osiguravajući da ste prijavljeni kao ADFS korisnik:
Sa svim informacijama, moguće je zaboraviti validan SAMLResponse kao korisnik kojeg želite da imitirate koristeći shimit:
Takođe je moguće kreirati ImmutableID za korisnike koji su samo u oblaku i imitirati ih.
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)