Translated ['src/pentesting-cloud/aws-security/aws-services/aws-cognito-

This commit is contained in:
Translator
2025-08-18 14:45:00 +00:00
parent 247dad0fd7
commit 7d02f8d527
2 changed files with 14 additions and 14 deletions

View File

@@ -4,13 +4,13 @@
## Osnovne informacije
Identity pools imaju ključnu ulogu omogućavajući vašim korisnicima da **dobiju privremene akreditive**. Ovi akreditivi su neophodni za pristup raznim AWS uslugama, uključujući, ali ne ograničavajući se na Amazon S3 i DynamoDB. Istaknuta karakteristika identity pools je njihova podrška za anonimne gostujuće korisnike i niz provajdera identiteta za autentifikaciju korisnika. Podržani provajderi identiteta uključuju:
Identity pools imaju ključnu ulogu omogućavajući vašim korisnicima da **dobiju privremene akreditive**. Ovi akreditive su neophodni za pristup raznim AWS uslugama, uključujući, ali ne ograničavajući se na Amazon S3 i DynamoDB. Istaknuta karakteristika identity pools je njihova podrška za anonimne gostujuće korisnike i niz provajdera identiteta za autentifikaciju korisnika. Podržani provajderi identiteta uključuju:
- Amazon Cognito user pools
- Opcije prijave putem društvenih mreža kao što su Facebook, Google, Login with Amazon i Sign in with Apple
- Opcije prijave putem društvenih mreža kao što su Facebook, Google, Login with Amazon, i Sign in with Apple
- Provajderi usklađeni sa OpenID Connect (OIDC)
- SAML (Security Assertion Markup Language) provajderi identiteta
- Identiteti koje autentifikuje programer
- Identiteti koje autentifikuju programeri
```python
# Sample code to demonstrate how to integrate an identity provider with an identity pool can be structured as follows:
import boto3
@@ -45,7 +45,7 @@ Ovo je **korisno za čuvanje informacija o korisniku** (koji će uvek koristiti
- [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., kao i automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih kredencijala identity pool-a, 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.
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 stranicu [Pacu](https://github.com/RhinoSecurityLabs/pacu).
#### Usage
@@ -59,7 +59,7 @@ Primer korišćenja cognito\_\_enum za prikupljanje svih korisničkih bazena, kl
```bash
Pacu (new:test) > run cognito__enum
```
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u pythonu koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i eskalaciju identitetskog bazena.
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u python-u koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i eskalaciju identiteta.
#### Instalacija
```bash
@@ -71,16 +71,16 @@ $ cognito-scanner --help
```
Za više informacija proverite https://github.com/padok-team/cognito-scanner
## Pristupanje IAM rolama
## Pristup IAM rolama
### Neautentifikovani
Jedina stvar koju napadač treba da zna da bi **dobio AWS kredencijale** u Cognito aplikaciji kao neautentifikovani korisnik je **ID identitetskog bazena**, i ovaj **ID mora biti hardkodiran** u web/mobilnoj **aplikaciji** da bi se koristio. ID izgleda ovako: `eu-west-1:098e5341-8364-038d-16de-1865e435da3b` (nije moguće izvršiti bruteforce).
Jedina stvar koju napadač treba da zna da bi **dobio AWS kredencijale** u Cognito aplikaciji kao neautentifikovani korisnik je **ID identiteta**, i ovaj **ID mora biti hardkodiran** u web/mobilnoj **aplikaciji** da bi se koristio. ID izgleda ovako: `eu-west-1:098e5341-8364-038d-16de-1865e435da3b` (nije moguće izvršiti bruteforce).
> [!TIP]
> **IAM Cognito neautentifikovana uloga kreirana putem** se po defaultu zove `Cognito_<Ime identitetskog bazena>Unauth_Role`
> **IAM Cognito neautentifikovana uloga kreirana putem se zove** po defaultu `Cognito_<Ime identiteta>Unauth_Role`
Ako pronađete ID identitetskog bazena hardkodiran i omogućava neautentifikovanim korisnicima, možete dobiti AWS kredencijale sa:
Ako pronađete ID identiteta hardkodiran i omogućava neautentifikovanim korisnicima, možete dobiti AWS kredencijale sa:
```python
import requests
@@ -142,14 +142,14 @@ Imajući set IAM kredencijala, trebali biste proveriti [koje pristupe imate](../
> [!NOTE]
> Zapamtite da će **autentifikovani korisnici** verovatno imati **različite dozvole**, pa ako možete **da se prijavite unutar aplikacije**, pokušajte to i dobijte nove kredencijale.
Takođe mogu postojati **uloge** dostupne za **autentifikovane korisnike koji pristupaju Identity Pool**.
Takođe bi mogle biti dostupne **uloge** za **autentifikovane korisnike koji pristupaju Identity Pool**.
Za to možda treba da imate pristup **provajderu identiteta**. Ako je to **Cognito User Pool**, možda možete iskoristiti podrazumevano ponašanje i **sami kreirati novog korisnika**.
Za to možda treba da imate pristup **provajderu identiteta**. Ako je to **Cognito User Pool**, možda možete iskoristiti podrazumevano ponašanje i **napraviti novog korisnika sami**.
> [!TIP]
> **IAM Cognito autentifikovana uloga kreirana putem** se podrazumevano naziva `Cognito_<Ime Identity Pool>Auth_Role`
U svakom slučaju, **sledeći primer** očekuje da ste se već prijavili unutar **Cognito User Pool** koji se koristi za pristup Identity Pool-u (ne zaboravite da se drugi tipovi provajdera identiteta takođe mogu konfigurisati).
U svakom slučaju, **sledeći primer** očekuje da ste se već prijavili unutar **Cognito User Pool** koji se koristi za pristup Identity Pool-u (ne zaboravite da bi drugi tipovi provajdera identiteta takođe mogli biti konfigurisani).
<pre class="language-bash"><code class="lang-bash">
# Ažurirani format
@@ -167,7 +167,7 @@ aws cognito-identity get-credentials-for-identity \
--logins '{"cognito-idp.<region>.amazonaws.com/<user_pool_id>": "<ID_TOKEN>"}'
</code></pre>
> **Zastarjeli format** — ovi možda više ne rade sa trenutnim AWS CLI:
> **Zastarjeli format** — ovi možda više ne funkcionišu sa trenutnim AWS CLI:
<pre class="language-bash"><code class="lang-bash">
aws cognito-identity get-id \
--identity-pool-id <identity_pool_id> \