AWS - Cognito Neautentifikovana Enum

Reading time: 3 minutes

tip

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Neautentifikovani Cognito

Cognito je AWS usluga koja omogućava programerima da dodele svojim korisnicima aplikacije pristup AWS uslugama. Programeri će dodeliti IAM uloge autentifikovanim korisnicima u svojoj aplikaciji (potencijalno će ljudi moći samo da se prijave) i takođe mogu dodeliti IAM ulogu neautentifikovanim korisnicima.

Za osnovne informacije o Cognitu pogledajte:

AWS - Cognito Enum

ID identiteta

Identitetski bazeni mogu dodeliti IAM uloge neautentifikovanim korisnicima koji samo znaju ID identiteta (što je prilično uobičajeno da se pronađe), a napadač sa ovom informacijom mogao bi pokušati da pristupi toj IAM ulozi i iskoristi je.
Pored toga, IAM uloge takođe mogu biti dodeljene autentifikovanim korisnicima koji pristupaju identitetskom bazenu. Ako napadač može registrovati korisnika ili već ima pristup provajderu identiteta koji se koristi u identitetskom bazenu, mogao bi pristupiti IAM ulozi koja se dodeljuje autentifikovanim korisnicima i zloupotrebiti njene privilegije.

Pogledajte kako to uraditi ovde.

ID korisničkog bazena

Po defaultu, Cognito omogućava registraciju novog korisnika. Mogućnost registracije korisnika može vam dati pristup osnovnoj aplikaciji ili autentifikovanoj IAM ulozi pristupa identitetskom bazenu koji prihvata kao provajdera identiteta Cognito korisnički bazen. Pogledajte kako to uraditi ovde.

Pacu moduli za pentesting i enumeraciju

Pacu, AWS okvir za eksploataciju, sada uključuje module "cognito__enum" i "cognito__attack" koji automatizuju enumeraciju svih Cognito resursa u nalogu i označavaju slabe konfiguracije, atribute korisnika korišćene za kontrolu pristupa, itd., i takođe automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih kredencijala identitetskog bazena, preuzimljivih uloga u ID tokenima, itd.

Za opis funkcija modula pogledajte deo 2 blog posta. Za uputstva za instalaciju pogledajte glavnu Pacu stranicu.

Upotreba

Primer upotrebe cognito__attack za pokušaj kreiranja korisnika i svih privesc vektora protiv datog identitetskog bazena i klijenta korisničkog bazena:

bash
Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX

Primer korišćenja cognito__enum za prikupljanje svih korisničkih bazena, klijenata korisničkih bazena, identitetskih bazena, korisnika itd. vidljivih u trenutnom AWS nalogu:

bash
Pacu (new:test) > run cognito__enum

tip

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks