AWS - Cognito Unauthenticated Enum
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)
Cognito is 'n AWS diens wat ontwikkelaars in staat stel om hul app gebruikers toegang tot AWS dienste te gee. Ontwikkelaars sal IAM rolle aan geverifieerde gebruikers in hul app toeken (mense kan moontlik net aanmeld) en hulle kan ook 'n IAM rol aan nie-geverifieerde gebruikers toeken.
Vir basiese inligting oor Cognito kyk:
Identiteit Pools kan IAM rolle aan nie-geverifieerde gebruikers toeken wat net die Identiteit Pool ID ken (wat redelik algemeen is om te vind), en 'n aanvaller met hierdie inligting kan probeer om toegang tot daardie IAM rol te verkry en dit te misbruik. Boonop kan IAM rolle ook toegeken word aan geverifieerde gebruikers wat toegang tot die Identiteit Pool het. As 'n aanvaller 'n gebruiker kan registreer of reeds toegang tot die identiteitsverskaffer het wat in die identiteits pool gebruik word, kan jy toegang verkry tot die IAM rol wat aan geverifieerde gebruikers gegee word en sy voorregte misbruik.
Standaard laat Cognito toe om nuwe gebruikers te registreer. In staat wees om 'n gebruiker te registreer kan jou toegang gee tot die onderliggende toepassing of tot die geverifieerde IAM toegang rol van 'n Identiteit Pool wat die Cognito Gebruiker Pool as identiteitsverskaffer aanvaar. Kyk hoe om dit hier te doen.
Pacu, die AWS eksploitering raamwerk, sluit nou die "cognito__enum" en "cognito__attack" modules in wat die enumerasie van alle Cognito bates in 'n rekening outomatiseer en swak konfigurasies, gebruikersattributen wat vir toegangbeheer gebruik word, ens., merk, en ook gebruikersskepping outomatiseer (insluitend MFA ondersteuning) en voorregte-eskalasie gebaseer op aanpasbare aangepaste attributen, bruikbare identiteits pool akrediteer, aanneembare rolle in id tokens, ens.
Vir 'n beskrywing van die modules se funksies, sien deel 2 van die blogpos. Vir installasie instruksies, sien die hoof Pacu bladsy.
Voorbeeld cognito__attack
gebruik om te probeer om gebruiker skepping en alle privesc vektore teen 'n gegewe identiteits pool en gebruiker pool kliënt:
Voorbeeld cognito__enum gebruik om al die gebruikerspoele, gebruikerspoel kliënte, identiteitspoele, gebruikers, ens. wat sigbaar is in die huidige AWS-rekening, te versamel:
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)