AWS - Cognito Unauthenticated Enum
Last updated
Last updated
Cognito is 'n AWS-diens wat ontwikkelaars in staat stel om hul app-gebruikers toegang tot AWS-diens te gee. Ontwikkelaars sal IAM-rolle aan geautehtiseerde gebruikers in hul app toeken (moontlik kan mense net registreer) en hulle kan ook 'n IAM-rol aan ongeverifieerde gebruikers toeken.
Vir basiese inligting oor Cognito, kyk na:
Pacu, die AWS-uitbuitingsraamwerk, sluit nou die "cognito__enum" en "cognito__attack" modules in wat outomatiese enumerasie van alle Cognito-bates in 'n rekening en swak konfigurasies, gebruikerskenmerke wat vir toegangsbeheer gebruik word, ens., outomatiseer. Dit sluit ook outomatiese gebruikerskepping (insluitend MFA-ondersteuning) en bevoorregte eskalasie gebaseer op wysigbare aangepaste kenmerke, bruikbare identiteitspoel-legitimasie, ens.
Vir 'n beskrywing van die modules se funksies, sien deel 2 van die blogpos. Vir installasie-instruksies, sien die hoof Pacu bladsy.
Voorbeeld van cognito__attack-gebruik om gebruikerskepping en alle bevoorregte eskalasie-vektore teen 'n gegewe identiteitspoel en gebruikerspoelklient te probeer:
Voorbeeld cognito__enum gebruik om alle gebruikerspools, gebruikerspoolclients, identiteitspools, gebruikers, ens. te verzamelen wat sigbaar is in die huidige AWS-rekening:
Dit bevel sal alle relevante inligting oor gebruikerspools, gebruikerspoolclients, identiteitspools en gebruikers in die huidige AWS-rekening versamel.
Identiteitspoels kan IAM-rolle aan ongeverifieerde gebruikers toekennen die alleen maar de Identity Pool ID kennen (wat vrij gebruikelijk is om te vinden), en een aanvaller met deze informatie zou kunnen proberen toegang te krijgen tot die IAM-rol en deze te misbruiken. Bovendien kunnen IAM-rollen ook worden toegewezen aan geverifieerde gebruikers die toegang hebben tot de Identity Pool. Als een aanvaller een gebruiker kan registreren of al toegang heeft tot de identiteitsprovider die wordt gebruikt in de identity pool, kan hij toegang krijgen tot de IAM-rol die aan geauthenticeerde gebruikers wordt gegeven en misbruik maken van de privileges ervan.
Bekijk hier hoe je dat kunt doen.
Standaard staat Cognito toe dat er een nieuwe gebruiker wordt geregistreerd. Het kunnen registreren van een gebruiker kan je toegang geven tot de onderliggende applicatie of tot de geauthenticeerde IAM-toegangsrol van een Identity Pool die de Cognito User Pool als identiteitsprovider accepteert. Bekijk hier hoe je dat kunt doen.