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

This commit is contained in:
Translator
2025-08-18 14:43:46 +00:00
parent 881a4aa579
commit 124d68fc23
2 changed files with 10 additions and 10 deletions

View File

@@ -2,14 +2,14 @@
{{#include ../../../../banners/hacktricks-training.md}}
## Informazioni di base
## Informazioni di Base
Le identity pools svolgono un ruolo cruciale consentendo ai tuoi utenti di **acquisire credenziali temporanee**. Queste credenziali sono essenziali per accedere a vari servizi AWS, inclusi, ma non limitati a, Amazon S3 e DynamoDB. Una caratteristica notevole delle identity pools è il loro supporto sia per utenti ospiti anonimi che per una gamma di provider di identità per l'autenticazione degli utenti. I provider di identità supportati includono:
I pool di identità svolgono un ruolo cruciale consentendo ai tuoi utenti di **acquisire credenziali temporanee**. Queste credenziali sono essenziali per accedere a vari servizi AWS, inclusi, ma non limitati a, Amazon S3 e DynamoDB. Una caratteristica notevole dei pool di identità è il loro supporto sia per utenti ospiti anonimi che per una gamma di fornitori di identità per l'autenticazione degli utenti. I fornitori di identità supportati includono:
- Amazon Cognito user pools
- Opzioni di accesso sociale come Facebook, Google, Login with Amazon e Sign in with Apple
- Provider conformi a OpenID Connect (OIDC)
- Provider di identità SAML (Security Assertion Markup Language)
- Fornitori conformi a OpenID Connect (OIDC)
- Fornitori di identità SAML (Security Assertion Markup Language)
- Identità autenticate dagli sviluppatori
```python
# Sample code to demonstrate how to integrate an identity provider with an identity pool can be structured as follows:
@@ -43,7 +43,7 @@ Inoltre, il servizio **cognito-sync** è il servizio che consente di **gestire e
### Tools for pentesting
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), il framework di sfruttamento AWS, ora include i moduli "cognito\_\_enum" e "cognito\_\_attack" che automatizzano l'enumerazione di tutte le risorse Cognito in un account e segnalano configurazioni deboli, attributi utente utilizzati per il controllo degli accessi, ecc., e automatizzano anche la creazione di utenti (incluso il supporto MFA) e l'escalation dei privilegi basata su attributi personalizzati modificabili, credenziali di pool di identità utilizzabili, ruoli assunibili nei token id, ecc.
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), il framework di sfruttamento AWS, ora include i moduli "cognito\_\_enum" e "cognito\_\_attack" che automatizzano l'enumerazione di tutte le risorse Cognito in un account e segnalano configurazioni deboli, attributi utente utilizzati per il controllo degli accessi, ecc., e automatizzano anche la creazione di utenti (incluso il supporto MFA) e l'escalation dei privilegi basata su attributi personalizzabili modificabili, credenziali di pool di identità utilizzabili, ruoli assumibili nei token id, ecc.
Per una descrizione delle funzioni dei moduli vedere la parte 2 del [blog post](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Per le istruzioni di installazione vedere la pagina principale di [Pacu](https://github.com/RhinoSecurityLabs/pacu).
@@ -55,7 +55,7 @@ Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gma
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX
```
Esempio di utilizzo di cognito\_\_enum per raccogliere tutti i pool utenti, i client dei pool utenti, i pool di identità, gli utenti, ecc. visibili nell'attuale account AWS:
Esempio di utilizzo di cognito\_\_enum per raccogliere tutti i pool utenti, i client dei pool utenti, i pool di identità, gli utenti, ecc. visibili nell'account AWS attuale:
```bash
Pacu (new:test) > run cognito__enum
```
@@ -116,7 +116,7 @@ aws cognito-identity get-credentials-for-identity --identity-id <identity_id> --
### Flusso di autenticazione avanzato vs di base
La sezione precedente ha seguito il **flusso di autenticazione avanzato predefinito**. Questo flusso imposta una **policy di sessione** [**restrittiva**](../../aws-basic-information/index.html#session-policies) per la sessione del ruolo IAM generato. Questa policy permetterà solo alla sessione di [**utilizzare i servizi di questo elenco**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services) (anche se il ruolo aveva accesso ad altri servizi).
La sezione precedente ha seguito il **flusso di autenticazione avanzato predefinito**. Questo flusso imposta una **policy di sessione** [**ristrettiva**](../../aws-basic-information/index.html#session-policies) per la sessione del ruolo IAM generato. Questa policy permetterà solo alla sessione di [**utilizzare i servizi di questo elenco**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services) (anche se il ruolo aveva accesso ad altri servizi).
Tuttavia, c'è un modo per bypassare questo, se il **pool di identità ha abilitato il "Flusso di base (classico)"**, l'utente sarà in grado di ottenere una sessione utilizzando quel flusso che **non avrà quella policy di sessione restrittiva**.
```bash
@@ -133,7 +133,7 @@ aws sts assume-role-with-web-identity --role-arn "arn:aws:iam::<acc_id>:role/<ro
> [!WARNING]
> Se ricevi questo **errore**, è perché il **flusso di base non è abilitato (predefinito)**
> `Si è verificato un errore (InvalidParameterException) durante la chiamata all'operazione GetOpenIdToken: Il flusso di base (classico) non è abilitato, si prega di utilizzare il flusso avanzato.`
> `An error occurred (InvalidParameterException) when calling the GetOpenIdToken operation: Basic (classic) flow is not enabled, please use enhanced flow.`
Avendo un insieme di credenziali IAM, dovresti controllare [quali accessi hai](../../index.html#whoami) e provare a [escalare i privilegi](../../aws-privilege-escalation/index.html).
@@ -147,7 +147,7 @@ Potrebbero esserci anche **ruoli** disponibili per gli **utenti autenticati che
Per questo potresti aver bisogno di avere accesso al **fornitore di identità**. Se si tratta di un **Cognito User Pool**, forse puoi sfruttare il comportamento predefinito e **creare un nuovo utente tu stesso**.
> [!TIP]
> Il **ruolo autenticato IAM Cognito creato tramite** si chiama per impostazione predefinita `Cognito_<Nome del Pool di Identità>Auth_Role`
> Il **ruolo IAM Cognito autenticato creato tramite** si chiama per impostazione predefinita `Cognito_<Nome del Pool di Identità>Auth_Role`
Comunque, il **seguente esempio** presuppone che tu sia già loggato all'interno di un **Cognito User Pool** utilizzato per accedere al Pool di Identità (non dimenticare che potrebbero essere configurati anche altri tipi di fornitori di identità).

View File

@@ -28,7 +28,7 @@ Il principale che esegue questo comando **non ha bisogno del permesso `iam.servi
### `cloudtasks.queues.setIamPolicy`
Un attaccante con questo permesso può **assegnare a se stesso o ad altri principali ruoli di Cloud Tasks** su code specifiche, potenzialmente elevando a `roles/cloudtasks.admin` che include la possibilità di creare ed eseguire task.
Un attaccante con questo permesso può **assegnare a se stesso o ad altri principali ruoli di Cloud Tasks** su code specifiche, potenzialmente elevandosi a `roles/cloudtasks.admin` che include la possibilità di creare ed eseguire task.
```bash
gcloud tasks queues add-iam-policy-binding \
<queue_name> \