# AWS - Cognito Neautentifikovana Enum

{{#include ../../../banners/hacktricks-training.md}}

## 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:

{{#ref}}
../aws-services/aws-cognito-enum/
{{#endref}}

### 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**](../aws-services/aws-cognito-enum/cognito-identity-pools.md).

### 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**](../aws-services/aws-cognito-enum/cognito-user-pools.md#registration).

### Pacu moduli za pentesting i enumeraciju

[Pacu](https://github.com/RhinoSecurityLabs/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](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Za uputstva za instalaciju pogledajte glavnu [Pacu](https://github.com/RhinoSecurityLabs/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
```
{{#include ../../../banners/hacktricks-training.md}}
