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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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:
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:
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:
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.