Az - OAuth Apps Phishing
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)
Azure Toepassings is geconfigureer met die toestemmings wat hulle sal kan gebruik wanneer 'n gebruiker die toepassing goedkeur (soos om die gids te enumereer, toegang tot lêers te verkry, of ander aksies uit te voer). Let daarop dat die toepassing namens die gebruiker sal optree, so selfs al kan die app om administratiewe toestemmings vra, as die gebruiker wat dit goedkeur nie daardie toestemming het nie, sal die app nie in staat wees om administratiewe aksies uit te voer nie.
Standaard kan enige gebruiker toestemming gee aan apps, alhoewel dit geconfigureer kan word sodat gebruikers slegs toestemming kan gee aan apps van geverifieerde uitgewers vir geselekteerde toestemmings of om selfs die toestemming te verwyder vir gebruikers om toestemming te gee aan toepassings.
As gebruikers nie toestemming kan gee nie, kan administrateurs soos GA
, Application Administrator
of Cloud Application
Administrator
die toepassings goedkeur wat gebruikers sal kan gebruik.
Boonop, as gebruikers slegs toestemming kan gee aan apps wat lae risiko toestemmings gebruik, is hierdie toestemmings standaard openid, profile, email, User.Read en offline_access, alhoewel dit moontlik is om meer aan hierdie lys toe te voeg.
En as hulle toestemming kan gee aan alle apps, kan hulle toestemming gee aan alle apps.
Ongedokumenteer: Van 'n eksterne rekening 'n toepassing skep met die lae risiko toestemmings User.Read
en User.ReadBasic.All
byvoorbeeld, phish 'n gebruiker, en jy sal in staat wees om gidsinligting te verkry.
Dit vereis dat die gephishde gebruiker in staat is om OAuth-apps van eksterne huurders te aanvaar
As die gephishde gebruiker 'n admin is wat enige app met enige toestemmings kan goedkeur, kan die toepassing ook privilegieerde toestemmings aanvra
Gegeldig: Nadat 'n prinsiep met genoeg privileges gecompromitteer is, skep 'n toepassing binne die rekening en phish 'n paar privilegieerde gebruikers wat privilegieerde OAuth-toestemmings kan aanvaar.
In hierdie geval kan jy reeds toegang tot die inligting van die gids verkry, so die toestemming User.ReadBasic.All
is nie meer interessant nie.
Jy is waarskynlik geïnteresseerd in toestemmings wat 'n admin moet toeken, omdat 'n gewone gebruiker nie OAuth-apps enige toestemming kan gee nie, daarom moet jy slegs daardie gebruikers phish (meer oor watter rolle/toestemmings hierdie voorreg gee later)
Let daarop dat jy hierdie opdrag vanaf 'n gebruiker binne die huurder moet uitvoer, jy kan nie hierdie konfigurasie van 'n eksterne huurder vind nie. Die volgende cli kan jou help om die gebruikers se toestemmings te verstaan:
Gebruikers kan toestemming gee vir alle toepassings: As jy binne permissionGrantPoliciesAssigned
kan vind: ManagePermissionGrantsForSelf.microsoft-user-default-legacy
dan kan gebruikers elke toepassing aanvaar.
Gebruikers kan toestemming gee vir toepassings van geverifieerde uitgewers of jou organisasie, maar net vir toestemmings wat jy kies: As jy binne permissionGrantPoliciesAssigned
kan vind: ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team
dan kan gebruikers elke toepassing aanvaar.
Deaktiveer gebruikers toestemming: As jy binne permissionGrantPoliciesAssigned
kan net vind: ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-chat
en ManagePermissionGrantsForOwnedResource.microsoft-dynamically-managed-permissions-for-team
dan kan gebruikers nie enige toestemming gee nie.
Dit is moontlik om die betekenis van elke van die kommentaarbeleide te vind in:
Kontroleer gebruikers wat as toepassing administrateurs beskou word (kan nuwe toepassings aanvaar):
Die aanval behels verskeie stappe wat 'n generiese maatskappy teiken. Hier is hoe dit mag ontvou:
Domeinregistrasie en Aansoekhosting: Die aanvaller registreer 'n domein wat op 'n betroubare webwerf lyk, byvoorbeeld, "safedomainlogin.com". Onder hierdie domein word 'n subdomein geskep (bv. "companyname.safedomainlogin.com") om 'n aansoek te huisves wat ontwerp is om magtigingskode te vang en toegangstokens aan te vra.
Aansoekregistrasie in Azure AD: Die aanvaller registreer dan 'n Multi-Tenant Aansoek in hul Azure AD Tenant, en noem dit na die teikenmaatskappy om wettig te lyk. Hulle stel die aansoek se Oorgangs-URL in om na die subdomein te wys wat die kwaadwillige aansoek huisves.
Instelling van Toestemmings: Die aanvaller stel die aansoek op met verskeie API-toestemmings (bv. Mail.Read
, Notes.Read.All
, Files.ReadWrite.All
, User.ReadBasic.All
, User.Read
). Hierdie toestemmings, sodra dit deur die gebruiker toegestaan is, laat die aanvaller toe om sensitiewe inligting namens die gebruiker te onttrek.
Verspreiding van Kwaadwillige Skakels: Die aanvaller skep 'n skakel wat die kliënt-id van die kwaadwillige aansoek bevat en deel dit met teikengebruikers, wat hulle mislei om toestemming te gee.
Registreer 'n nuwe aansoek. Dit kan slegs vir die huidige gids wees as jy 'n gebruiker van die aangevalde gids gebruik of vir enige gids as dit 'n eksterne aanval is (soos in die volgende beeld).
Stel ook die oorgangs-URI in op die verwagte URL waar jy die kode wil ontvang om die tokens te kry (http://localhost:8000/callback
per standaard).
Skep dan 'n aansoekgeheim:
Kies API-toestemmings (bv. Mail.Read
, Notes.Read.All
, Files.ReadWrite.All
, User.ReadBasic.All
, User.Read
)
Voer die webblad uit (azure_oauth_phishing_example) wat om die toestemmings vra:
Stuur die URL na die slagoffer
In hierdie geval http://localhost:8000
Slagoffers moet die prompt aanvaar:
Gebruik die toegangstoken om toegang te verkry tot die versoekte toestemmings:
365-Stealer: Kyk https://www.alteredsecurity.com/post/introduction-to-365-stealer om te leer hoe om dit te konfigureer.
Afhangende van die aangevraagde toestemmings mag jy in staat wees om verskillende data van die tenant te bekom (lys gebruikers, groepe... of selfs instellings te wysig) en inligting van die gebruiker (lêers, notas, e-posse...). Dan kan jy hierdie toestemmings gebruik om daardie aksies uit te voer.
Kyk na die Aansoeke en Diens Prinsipaal afdelings van die bladsy:
Az - EntraID PrivescLeer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)