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

This commit is contained in:
Translator
2025-08-18 14:44:30 +00:00
parent 2f7425aba8
commit 5c3e81ce12
2 changed files with 8 additions and 8 deletions
@@ -4,12 +4,12 @@
## Basic Information
Οι πισίνες ταυτότητας παίζουν κρίσιμο ρόλο επιτρέποντας στους χρήστες σας να **αποκτούν προσωρινές πιστοποιήσεις**. Αυτές οι πιστοποιήσεις είναι απαραίτητες για την πρόσβαση σε διάφορες υπηρεσίες AWS, συμπεριλαμβανομένων αλλά όχι περιορισμένων σε Amazon S3 και DynamoDB. Μια αξιοσημείωτη δυνατότητα των πισινών ταυτότητας είναι η υποστήριξή τους για ανώνυμους επισκέπτες καθώς και για μια σειρά παρόχων ταυτότητας για την αυθεντικοποίηση χρηστών. Οι υποστηριζόμενοι πάροχοι ταυτότητας περιλαμβάνουν:
Οι πισίνες ταυτοτήτων παίζουν κρίσιμο ρόλο επιτρέποντας στους χρήστες σας να **αποκτούν προσωρινές πιστοποιήσεις**. Αυτές οι πιστοποιήσεις είναι απαραίτητες για την πρόσβαση σε διάφορες υπηρεσίες AWS, συμπεριλαμβανομένων αλλά όχι περιορισμένων σε Amazon S3 και DynamoDB. Ένα αξιοσημείωτο χαρακτηριστικό των πισινών ταυτοτήτων είναι η υποστήριξή τους για ανώνυμους επισκέπτες καθώς και για μια σειρά παρόχων ταυτοτήτων για την αυθεντικοποίηση χρηστών. Οι υποστηριζόμενοι πάροχοι ταυτοτήτων περιλαμβάνουν:
- Amazon Cognito user pools
- Επιλογές κοινωνικής σύνδεσης όπως Facebook, Google, Login with Amazon, και Sign in with Apple
- Πάροχοι συμβατοί με OpenID Connect (OIDC)
- SAML (Security Assertion Markup Language) πάροχοι ταυτότητας
- SAML (Security Assertion Markup Language) πάροχοι ταυτοτήτων
- Ταυτότητες που πιστοποιούνται από προγραμματιστές
```python
# Sample code to demonstrate how to integrate an identity provider with an identity pool can be structured as follows:
@@ -35,7 +35,7 @@ print(response)
```
### Cognito Sync
Για να δημιουργήσετε συνεδρίες Identity Pool, πρέπει πρώτα να **δημιουργήσετε μια Identity ID**. Αυτή η Identity ID είναι η **ταυτοποίηση της συνεδρίας αυτού του χρήστη**. Αυτές οι ταυτοποιήσεις μπορούν να έχουν έως 20 σύνολα δεδομένων που μπορούν να αποθηκεύσουν έως 1MB ζευγών κλειδιού-τιμής.
Για να δημιουργήσετε συνεδρίες Identity Pool, πρέπει πρώτα να **δημιουργήσετε μια Identity ID**. Αυτή η Identity ID είναι η **ταυτοποίηση της συνεδρίας αυτού του χρήστη**. Αυτές οι ταυτοποιήσεις μπορούν να έχουν έως και 20 σύνολα δεδομένων που μπορούν να αποθηκεύσουν έως 1MB ζευγών κλειδιού-τιμής.
Αυτό είναι **χρήσιμο για να διατηρείτε πληροφορίες ενός χρήστη** (ο οποίος θα χρησιμοποιεί πάντα την ίδια Identity ID).
@@ -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
```
Δείγμα χρήσης cognito\_\_enum για τη συλλογή όλων των πισίνων χρηστών, πελατών πισίνας χρηστών, πισίνων ταυτότητας, χρηστών κ.λπ. που είναι ορατές στον τρέχοντα λογαριασμό AWS:
Δείγμα χρήσης cognito\_\_enum για τη συλλογή όλων των πισινών χρηστών, πελατών πισινών χρηστών, πισινών ταυτοτήτων, χρηστών κ.λπ. που είναι ορατές στον τρέχοντα λογαριασμό AWS:
```bash
Pacu (new:test) > run cognito__enum
```
@@ -106,7 +106,7 @@ r = requests.post(url, json=params, headers=headers)
print(r.json())
```
Ή θα μπορούσατε να χρησιμοποιήσετε τις παρακάτω **aws cli εντολές**:
Ή μπορείτε να χρησιμοποιήσετε τις παρακάτω **aws cli εντολές**:
```bash
aws cognito-identity get-id --identity-pool-id <identity_pool_id> --no-sign
aws cognito-identity get-credentials-for-identity --identity-id <identity_id> --no-sign
@@ -184,6 +184,6 @@ aws cognito-identity get-credentials-for-identity \
</code></pre>
> [!WARNING]
> Είναι δυνατόν να **ρυθμίσετε διαφορετικούς ρόλους IAM ανάλογα με τον πάροχο ταυτότητας** με τον οποίο ο χρήστης συνδέεται ή ακόμη και απλά ανάλογα **με τον χρήστη** (χρησιμοποιώντας claims). Επομένως, αν έχετε πρόσβαση σε διαφορετικούς χρήστες μέσω του ίδιου ή διαφορετικών παρόχων, ίσως αξίζει να συνδεθείτε και να αποκτήσετε πρόσβαση στους ρόλους IAM όλων τους.
> Είναι δυνατόν να **ρυθμίσετε διαφορετικούς ρόλους IAM ανάλογα με τον πάροχο ταυτότητας** που έχει συνδεθεί ο χρήστης ή ακόμη και απλά ανάλογα **με τον χρήστη** (χρησιμοποιώντας δηλώσεις). Επομένως, αν έχετε πρόσβαση σε διαφορετικούς χρήστες μέσω του ίδιου ή διαφορετικών παρόχων, ίσως αξίζει να συνδεθείτε και να αποκτήσετε πρόσβαση στους ρόλους IAM όλων τους.
{{#include ../../../../banners/hacktricks-training.md}}
@@ -6,7 +6,7 @@
### `cloudtasks.tasks.create`, `iam.serviceAccounts.actAs`
Ένας επιτιθέμενος με αυτές τις άδειες μπορεί να **παριστάνει άλλους λογαριασμούς υπηρεσιών** δημιουργώντας εργασίες που εκτελούνται με την ταυτότητα του καθορισμένου λογαριασμού υπηρεσίας. Αυτό επιτρέπει την αποστολή **επαληθευμένων HTTP αιτημάτων σε υπηρεσίες Cloud Run ή Cloud Functions που προστατεύονται από IAM**.
Ένας επιτιθέμενος με αυτές τις άδειες μπορεί να **παριστάνει άλλους λογαριασμούς υπηρεσιών** δημιουργώντας εργασίες που εκτελούνται με την ταυτότητα του συγκεκριμένου λογαριασμού υπηρεσίας. Αυτό επιτρέπει την αποστολή **επαληθευμένων HTTP αιτημάτων σε υπηρεσίες Cloud Run ή Cloud Functions που προστατεύονται από IAM**.
```bash
gcloud tasks create-http-task \
task-$(date '+%Y%m%d%H%M%S') \
@@ -36,7 +36,7 @@ gcloud tasks queues add-iam-policy-binding \
--member serviceAccount:<account>@<project_id>.iam.gserviceaccount.com \
--role roles/cloudtasks.admin
```
Αυτό επιτρέπει στον επιτιθέμενο να παραχωρήσει πλήρη δικαιώματα διαχειριστή Cloud Tasks στην ουρά σε οποιονδήποτε λογαριασμό υπηρεσίας ελέγχει.
Αυτό επιτρέπει στον επιτιθέμενο να παραχωρήσει πλήρη δικαιώματα διαχειριστή Cloud Tasks στην ουρά σε οποιονδήποτε λογαριασμό υπηρεσίας ελέγχουν.
## Αναφορές