mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
+21
-9
@@ -21,7 +21,7 @@ aws sesv2 send-email --from sender@example.com --destination file://emails.json
|
||||
|
||||
### `ses:SendRawEmail`
|
||||
|
||||
Στείλτε ένα email.
|
||||
Αποστολή ηλεκτρονικού μηνύματος.
|
||||
```bash
|
||||
aws ses send-raw-email --raw-message file://message.json
|
||||
```
|
||||
@@ -29,29 +29,29 @@ aws ses send-raw-email --raw-message file://message.json
|
||||
|
||||
### `ses:SendTemplatedEmail`
|
||||
|
||||
Αποστολή email με βάση ένα πρότυπο.
|
||||
Αποστολή ηλεκτρονικού μηνύματος με βάση ένα πρότυπο.
|
||||
```bash
|
||||
aws ses send-templated-email --source <value> --destination <value> --template <value>
|
||||
```
|
||||
Πρέπει ακόμη να δοκιμαστεί.
|
||||
Ακόμα δεν έχει δοκιμαστεί.
|
||||
|
||||
### `ses:SendBulkTemplatedEmail`
|
||||
|
||||
Αποστέλλει ένα email σε πολλούς παραλήπτες
|
||||
Αποστολή email σε πολλούς παραλήπτες
|
||||
```bash
|
||||
aws ses send-bulk-templated-email --source <value> --template <value>
|
||||
```
|
||||
Δεν έχει δοκιμαστεί ακόμη.
|
||||
Ακόμα δεν έχει δοκιμαστεί.
|
||||
|
||||
### `ses:SendBulkEmail`
|
||||
|
||||
Αποστολή email σε πολλούς παραλήπτες.
|
||||
Αποστέλλει ένα email σε πολλούς παραλήπτες.
|
||||
```
|
||||
aws sesv2 send-bulk-email --default-content <value> --bulk-email-entries <value>
|
||||
```
|
||||
### `ses:SendBounce`
|
||||
|
||||
Αποστολή ενός **bounce email** πάνω σε ένα ληφθέν email (που υποδεικνύει ότι το email δεν μπόρεσε να παραληφθεί). Αυτό μπορεί να γίνει μόνο **έως 24h μετά τη λήψη** του email.
|
||||
Αποστολή ενός **bounce email** πάνω σε ένα ληφθέν email (που υποδεικνύει ότι το email δεν μπόρεσε να παραδοθεί). Αυτό μπορεί να γίνει μόνο **έως 24 ώρες μετά τη λήψη** του email.
|
||||
```bash
|
||||
aws ses send-bounce --original-message-id <value> --bounce-sender <value> --bounced-recipient-info-list <value>
|
||||
```
|
||||
@@ -59,11 +59,23 @@ aws ses send-bounce --original-message-id <value> --bounce-sender <value> --boun
|
||||
|
||||
### `ses:SendCustomVerificationEmail`
|
||||
|
||||
Αυτό θα στείλει ένα εξατομικευμένο επαληθευτικό μήνυμα ηλεκτρονικού ταχυδρομείου. Μπορεί επίσης να χρειαστείτε δικαιώματα για να δημιουργήσετε το πρότυπο μηνύματος.
|
||||
Αυτό θα στείλει ένα εξατομικευμένο ηλεκτρονικό μήνυμα επαλήθευσης. Ενδέχεται επίσης να χρειαστείτε δικαιώματα για να δημιουργήσετε το πρότυπο ηλεκτρονικού μηνύματος.
|
||||
```bash
|
||||
aws ses send-custom-verification-email --email-address <value> --template-name <value>
|
||||
aws sesv2 send-custom-verification-email --email-address <value> --template-name <value>
|
||||
```
|
||||
Ακόμα πρέπει να δοκιμαστεί.
|
||||
Ακόμα δεν έχει δοκιμαστεί.
|
||||
|
||||
## WorkMail pivot για παράκαμψη του SES sandbox
|
||||
|
||||
Όταν το `ses:GetAccount` δείχνει ότι ο λογαριασμός βρίσκεται ακόμη στο SES sandbox και το `ses:ListIdentities` δεν επιστρέφει επαληθευμένους αποστολείς, οι επιτιθέμενοι μπορούν **pivot to WorkMail** για άμεση αποστολή (χωρίς sandbox και με υψηλότερα προεπιλεγμένα όρια), δημιουργώντας οργανισμούς, επαληθεύοντας domains και καταχωρίζοντας mailboxes.
|
||||
|
||||
{{#ref}}
|
||||
../aws-workmail-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
## Αναφορές
|
||||
|
||||
- [Threat Actors Using AWS WorkMail in Phishing Campaigns](https://www.rapid7.com/blog/post/dr-threat-actors-aws-workmail-phishing-campaigns)
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
# AWS - WorkMail Post Exploitation
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Abusing WorkMail to bypass SES sandbox
|
||||
|
||||
Ακόμη και αν το SES είναι περιορισμένο στο **sandbox** (μόνο verified-recipient, ~200 msgs/24h, 1 msg/s), το WorkMail δεν έχει αντίστοιχο περιορισμό. Ένας επιτιθέμενος με μακροχρόνια κλειδιά μπορεί να στήσει προσωρινή υποδομή email και να αρχίσει να στέλνει αμέσως:
|
||||
|
||||
1. **Create a WorkMail org (region-scoped)**
|
||||
```bash
|
||||
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
|
||||
```
|
||||
2. **Verify attacker-controlled domains** (WorkMail invokes SES APIs as `workmail.amazonaws.com`):
|
||||
```bash
|
||||
aws ses verify-domain-identity --domain attacker-domain.com
|
||||
aws ses verify-domain-dkim --domain attacker-domain.com
|
||||
```
|
||||
3. **Provision mailbox users** and register them:
|
||||
```bash
|
||||
aws workmail create-user --organization-id <org-id> --name marketing --display-name "Marketing"
|
||||
aws workmail register-to-work-mail --organization-id <org-id> --entity-id <user-id> --email marketing@attacker-domain.com
|
||||
```
|
||||
|
||||
Σημειώσεις:
|
||||
- Το προεπιλεγμένο όριο **recipient cap** που τεκμηριώνεται από AWS: **100,000 external recipients/day per org** (συσσωρευτικά μεταξύ χρηστών).
|
||||
- Η δραστηριότητα επαλήθευσης domain θα εμφανιστεί στο CloudTrail υπό SES αλλά με **`invokedBy`: `workmail.<region>.amazonaws.com`**, οπότε τα γεγονότα επαλήθευσης SES μπορεί να ανήκουν στη ρύθμιση WorkMail αντί για καμπάνιες SES.
|
||||
- Οι χρήστες mailbox του WorkMail γίνονται **application-layer persistence** ανεξάρτητοι από τους IAM users.
|
||||
|
||||
## Sending paths & telemetry gaps
|
||||
|
||||
### Web client (WorkMail UI)
|
||||
- Οι αποστολές εμφανίζονται ως **`ses:SendRawEmail`** γεγονότα στο CloudTrail.
|
||||
- `userIdentity.type` = `AWSService`, `invokedBy/sourceIPAddress/userAgent` = `workmail.<region>.amazonaws.com`, οπότε η **πραγματική διεύθυνση IP του client είναι κρυμμένη**.
|
||||
- `requestParameters` εξακολουθούν να leak τον sender (`source`, `fromArn`, `sourceArn`, configuration set) για να συσχετιστούν με πρόσφατα επαληθευμένα domains/mailboxes.
|
||||
|
||||
### SMTP (stealthiest)
|
||||
- Endpoint: `smtp.mail.<region>.awsapps.com:465` (SMTP over SSL) με το mailbox password.
|
||||
- **No CloudTrail data events** are generated for SMTP delivery, even when SES data events are enabled.
|
||||
- Ιδανικά σημεία ανίχνευσης είναι η **org/domain/user provisioning** και τα SES identity ARNs που αναφέρονται σε επακόλουθα web-sent `SendRawEmail` events.
|
||||
|
||||
<details>
|
||||
<summary>Παράδειγμα SMTP send via WorkMail</summary>
|
||||
```python
|
||||
import smtplib
|
||||
from email.message import EmailMessage
|
||||
|
||||
SMTP_SERVER = "smtp.mail.us-east-1.awsapps.com"
|
||||
SMTP_PORT = 465
|
||||
EMAIL_ADDRESS = "marketing@attacker-domain.com"
|
||||
EMAIL_PASSWORD = "SuperSecretPassword!"
|
||||
|
||||
target = "victim@example.com" # can be unverified/external
|
||||
msg = EmailMessage()
|
||||
msg["Subject"] = "WorkMail SMTP"
|
||||
msg["From"] = EMAIL_ADDRESS
|
||||
msg["To"] = target
|
||||
msg.set_content("Delivered via WorkMail SMTP")
|
||||
|
||||
with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as smtp:
|
||||
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
|
||||
smtp.send_message(msg)
|
||||
```
|
||||
</details>
|
||||
|
||||
## Σκέψεις για ανίχνευση
|
||||
|
||||
- Εάν το WorkMail δεν είναι απαραίτητο, μπλοκάρετέ το μέσω **SCPs** (`workmail:*` deny) σε επίπεδο οργανισμού.
|
||||
- Ειδοποίηση για provisioning: `workmail:CreateOrganization`, `workmail:CreateUser`, `workmail:RegisterToWorkMail`, και επαληθεύσεις SES με `invokedBy=workmail.amazonaws.com` (`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`).
|
||||
- Παρακολουθήστε για ανωμαλίες σε γεγονότα **`ses:SendRawEmail`** όπου τα identity ARNs αναφέρονται σε νέους τομείς και η source IP/UA είναι `workmail.<region>.amazonaws.com`.
|
||||
|
||||
## References
|
||||
|
||||
- [Threat Actors Using AWS WorkMail in Phishing Campaigns](https://www.rapid7.com/blog/post/dr-threat-actors-aws-workmail-phishing-campaigns)
|
||||
- [AWS WorkMail limits](https://docs.aws.amazon.com/workmail/latest/adminguide/limits.html)
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
@@ -1,4 +1,4 @@
|
||||
# AWS - IAM, Identity Center & SSO Enum
|
||||
# AWS - IAM, Identity Center & SSO Απογραφή
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
../aws-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
### Enumeration
|
||||
### Απογραφή
|
||||
|
||||
Κύριες άδειες που απαιτούνται:
|
||||
|
||||
@@ -88,37 +88,49 @@ aws iam get-account-password-policy
|
||||
aws iam list-mfa-devices
|
||||
aws iam list-virtual-mfa-devices
|
||||
```
|
||||
### Δικαιώματα Brute Force
|
||||
### Σιωπηρή επιβεβαίωση δικαιωμάτων μέσω σκόπιμων αποτυχιών
|
||||
|
||||
Αν ενδιαφέρεστε για τα δικά σας δικαιώματα αλλά δεν έχετε πρόσβαση για να κάνετε ερωτήσεις στο IAM, μπορείτε πάντα να τα επιτεθείτε με brute-force.
|
||||
Όταν τα `List*` ή τα simulator APIs είναι μπλοκαρισμένα, μπορείτε να **επιβεβαιώσετε δικαιώματα που τροποποιούν χωρίς να δημιουργήσετε μόνιμους πόρους** εξαναγκάζοντας προβλέψιμα σφάλματα επικύρωσης. Η AWS εξακολουθεί να αξιολογεί το IAM πριν επιστρέψει αυτά τα σφάλματα, οπότε η εμφάνιση του σφάλματος αποδεικνύει ότι ο καλών έχει την ενέργεια:
|
||||
```bash
|
||||
# Confirm iam:CreateUser without creating a new principal (fails only after authz)
|
||||
aws iam create-user --user-name <existing_user> # -> EntityAlreadyExistsException
|
||||
|
||||
# Confirm iam:CreateLoginProfile while learning password policy requirements
|
||||
aws iam create-login-profile --user-name <target_user> --password lower --password-reset-required # -> PasswordPolicyViolationException
|
||||
```
|
||||
Αυτές οι απόπειρες εξακολουθούν να δημιουργούν CloudTrail γεγονότα (με το `errorCode` ορισμένο) αλλά αποφεύγουν να αφήνουν νέα IAM artifacts, καθιστώντας τις χρήσιμες για **επικύρωση δικαιωμάτων με χαμηλό θόρυβο** κατά τη διάρκεια του interactive recon.
|
||||
|
||||
### Permissions Brute Force
|
||||
|
||||
Αν ενδιαφέρεστε για τα δικά σας permissions αλλά δεν έχετε πρόσβαση να κάνετε query στο IAM, μπορείτε πάντα να τα brute-force.
|
||||
|
||||
#### bf-aws-permissions
|
||||
|
||||
Το εργαλείο [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions) είναι απλώς ένα bash script που θα εκτελεί χρησιμοποιώντας το υποδεικνυόμενο προφίλ όλες τις **`list*`, `describe*`, `get*`** ενέργειες που μπορεί να βρει χρησιμοποιώντας τα μηνύματα βοήθειας του `aws` cli και **θα επιστρέψει τις επιτυχείς εκτελέσεις**.
|
||||
Το εργαλείο [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions) είναι απλώς ένα bash script που, χρησιμοποιώντας το καθορισμένο profile, θα εκτελέσει όλες τις **`list*`, `describe*`, `get*`** ενέργειες που μπορεί να βρει μέσω των μηνυμάτων βοήθειας του `aws` cli και θα **επιστρέψει τις επιτυχείς εκτελέσεις**.
|
||||
```bash
|
||||
# Bruteforce permissions
|
||||
bash bf-aws-permissions.sh -p default > /tmp/bf-permissions-verbose.txt
|
||||
```
|
||||
#### bf-aws-perms-simulate
|
||||
|
||||
Το εργαλείο [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate) μπορεί να βρει την τρέχουσα άδειά σας (ή τις άδειες άλλων προσώπων) αν έχετε την άδεια **`iam:SimulatePrincipalPolicy`**
|
||||
Το εργαλείο [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate) μπορεί να εντοπίσει τα τρέχοντα δικαιώματά σας (ή εκείνα άλλων principals) εφόσον έχετε την άδεια **`iam:SimulatePrincipalPolicy`**
|
||||
```bash
|
||||
# Ask for permissions
|
||||
python3 aws_permissions_checker.py --profile <AWS_PROFILE> [--arn <USER_ARN>]
|
||||
```
|
||||
#### Perms2ManagedPolicies
|
||||
|
||||
Αν βρήκατε **ορισμένες άδειες που έχει ο χρήστης σας**, και νομίζετε ότι παρέχονται από έναν **διαχειριζόμενο ρόλο AWS** (και όχι από έναν προσαρμοσμένο). Μπορείτε να χρησιμοποιήσετε το εργαλείο [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) για να ελέγξετε όλους τους **διαχειριζόμενους ρόλους AWS που παρέχουν τις άδειες που ανακαλύψατε ότι έχετε**.
|
||||
Εάν βρήκατε **κάποια δικαιώματα που έχει ο χρήστης σας**, και πιστεύετε ότι αυτά χορηγούνται από έναν **managed AWS role** (και όχι από έναν προσαρμοσμένο). Μπορείτε να χρησιμοποιήσετε το εργαλείο [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) για να ελέγξετε όλους τους **AWS managed roles που παραχωρούν τα δικαιώματα που ανακαλύψατε ότι έχετε**.
|
||||
```bash
|
||||
# Run example with my profile
|
||||
python3 aws-Perms2ManagedPolicies.py --profile myadmin --permissions-file example-permissions.txt
|
||||
```
|
||||
> [!WARNING]
|
||||
> Είναι δυνατόν να "γνωρίζετε" αν οι άδειες που έχετε παραχωρούνται από έναν διαχειριζόμενο ρόλο AWS αν δείτε ότι **έχετε άδειες σε υπηρεσίες που δεν χρησιμοποιούνται** για παράδειγμα.
|
||||
> Είναι δυνατό να "γνωρίζετε" αν τα δικαιώματα που έχετε έχουν παραχωρηθεί από έναν διαχειριζόμενο ρόλο του AWS αν δείτε, για παράδειγμα, ότι **έχετε δικαιώματα πάνω σε υπηρεσίες που δεν χρησιμοποιούνται**.
|
||||
|
||||
#### Cloudtrail2IAM
|
||||
|
||||
[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) είναι ένα εργαλείο Python που αναλύει **τα αρχεία καταγραφής AWS CloudTrail για να εξάγει και να συνοψίζει τις ενέργειες** που έχουν γίνει από όλους ή μόνο από έναν συγκεκριμένο χρήστη ή ρόλο. Το εργαλείο θα **αναλύσει κάθε αρχείο καταγραφής cloudtrail από τον καθορισμένο κάδο**.
|
||||
[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) είναι ένα Python εργαλείο που αναλύει **AWS CloudTrail logs για να εξάγει και να συνοψίσει τις ενέργειες** που έγιναν από όλους ή μόνο από έναν συγκεκριμένο χρήστη ή ρόλο. Το εργαλείο θα **αναλύσει κάθε cloudtrail log από το υποδεικνυόμενο bucket**.
|
||||
```bash
|
||||
git clone https://github.com/carlospolop/Cloudtrail2IAM
|
||||
cd Cloudtrail2IAM
|
||||
@@ -126,16 +138,16 @@ pip install -r requirements.txt
|
||||
python3 cloudtrail2IAM.py --prefix PREFIX --bucket_name BUCKET_NAME --profile PROFILE [--filter-name FILTER_NAME] [--threads THREADS]
|
||||
```
|
||||
> [!WARNING]
|
||||
> Αν βρείτε .tfstate (αρχεία κατάστασης Terraform) ή αρχεία CloudFormation (αυτά είναι συνήθως αρχεία yaml που βρίσκονται μέσα σε ένα bucket με το πρόθεμα cf-templates), μπορείτε επίσης να τα διαβάσετε για να βρείτε τη διαμόρφωση aws και να δείτε ποιες άδειες έχουν ανατεθεί σε ποιον.
|
||||
> Αν βρείτε .tfstate (Terraform state files) ή CloudFormation files (these are usually yaml files located inside a bucket with the prefix cf-templates), μπορείτε επίσης να τα διαβάσετε για να βρείτε την aws configuration και να δείτε ποιες άδειες έχουν ανατεθεί σε ποιον.
|
||||
|
||||
#### enumerate-iam
|
||||
|
||||
Για να χρησιμοποιήσετε το εργαλείο [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam) πρέπει πρώτα να κατεβάσετε όλα τα API AWS endpoints, από αυτά το σενάριο **`generate_bruteforce_tests.py`** θα πάρει όλα τα **"list\_", "describe\_", και "get\_" endpoints.** Και τελικά, θα προσπαθήσει να **τα προσπελάσει** με τα δεδομένα πιστοποίησης που δόθηκαν και **θα υποδείξει αν λειτούργησε**.
|
||||
To use the tool [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam) you first need to download all the API AWS endpoints, from those the script **`generate_bruteforce_tests.py`** will get all the **"list\_", "describe\_", and "get\_" endpoints.** And finally, it will try to **access them** with the given credentials and **indicate if it worked**.
|
||||
|
||||
(Στην εμπειρία μου το **εργαλείο κολλάει σε κάποιο σημείο**, [**δείτε αυτή τη διόρθωση**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) για να προσπαθήσετε να το διορθώσετε).
|
||||
(Στην εμπειρία μου το εργαλείο κολλάει σε κάποιο σημείο, [**checkout this fix**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) για να προσπαθήσετε να το διορθώσετε).
|
||||
|
||||
> [!WARNING]
|
||||
> Στην εμπειρία μου αυτό το εργαλείο είναι σαν το προηγούμενο αλλά λειτουργεί χειρότερα και ελέγχει λιγότερες άδειες.
|
||||
> Στην εμπειρία μου αυτό το εργαλείο είναι σαν το προηγούμενο αλλά δουλεύει χειρότερα και ελέγχει λιγότερα δικαιώματα
|
||||
```bash
|
||||
# Install tool
|
||||
git clone git@github.com:andresriancho/enumerate-iam.git
|
||||
@@ -154,7 +166,7 @@ python3 enumerate-iam.py --access-key ACCESS_KEY --secret-key SECRET_KEY [--sess
|
||||
```
|
||||
#### weirdAAL
|
||||
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Αυτό το εργαλείο θα ελέγξει **διάφορες κοινές λειτουργίες σε διάφορες κοινές υπηρεσίες** (θα ελέγξει κάποιες άδειες καταμέτρησης και επίσης κάποιες άδειες privesc). Αλλά θα ελέγξει μόνο τους κωδικοποιημένους ελέγχους (ο μόνος τρόπος για να ελέγξετε περισσότερα είναι να κωδικοποιήσετε περισσότερες δοκιμές).
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Αυτό το εργαλείο θα ελέγξει **πολλές κοινές λειτουργίες σε πολλές κοινές υπηρεσίες** (θα ελέγξει μερικά enumeration permissions και επίσης μερικά privesc permissions). Αλλά θα ελέγξει μόνο τους κωδικοποιημένους ελέγχους — ο μόνος τρόπος να ελέγξετε περισσότερα είναι να γράψετε περισσότερα tests.
|
||||
```bash
|
||||
# Install
|
||||
git clone https://github.com/carnal0wnage/weirdAAL.git
|
||||
@@ -178,7 +190,7 @@ python3 weirdAAL.py -m recon_all -t MyTarget # Check all permissions
|
||||
# [+] elbv2 Actions allowed are [+]
|
||||
# ['DescribeLoadBalancers', 'DescribeAccountLimits', 'DescribeTargetGroups']
|
||||
```
|
||||
#### Εργαλεία Σκληροποίησης για BF δικαιώματα
|
||||
#### Εργαλεία σκληρύνσεως για δικαιώματα BF
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="CloudSploit" }}
|
||||
@@ -208,29 +220,29 @@ steampipe dashboard
|
||||
|
||||
#### \<YourTool>
|
||||
|
||||
Κανένα από τα προηγούμενα εργαλεία δεν είναι ικανό να ελέγξει σχεδόν όλες τις άδειες, οπότε αν γνωρίζετε ένα καλύτερο εργαλείο στείλτε ένα PR!
|
||||
Κανένα από τα προηγούμενα εργαλεία δεν μπορεί να ελέγξει σχεδόν όλα τα δικαιώματα, οπότε αν γνωρίζετε κάποιο καλύτερο εργαλείο, στείλτε ένα PR!
|
||||
|
||||
### Μη Αυθεντικοποιημένη Πρόσβαση
|
||||
### Unauthenticated Access
|
||||
|
||||
{{#ref}}
|
||||
../aws-unauthenticated-enum-access/aws-iam-and-sts-unauthenticated-enum/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Κλιμάκωση Δικαιωμάτων
|
||||
### Privilege Escalation
|
||||
|
||||
Στην επόμενη σελίδα μπορείτε να ελέγξετε πώς να **καταχραστείτε τις άδειες IAM για να κλιμακώσετε τα δικαιώματα**:
|
||||
Στην επόμενη σελίδα μπορείτε να δείτε πώς να **abuse IAM permissions to escalate privileges**:
|
||||
|
||||
{{#ref}}
|
||||
../aws-privilege-escalation/aws-iam-privesc/README.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Μετά την Εκμετάλλευση
|
||||
### IAM Post Exploitation
|
||||
|
||||
{{#ref}}
|
||||
../aws-post-exploitation/aws-iam-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Επιμονή
|
||||
### IAM Persistence
|
||||
|
||||
{{#ref}}
|
||||
../aws-persistence/aws-iam-persistence/README.md
|
||||
@@ -244,7 +256,7 @@ steampipe dashboard
|
||||
../aws-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
### Σύνδεση μέσω SSO με CLI
|
||||
### Connect via SSO with CLI
|
||||
```bash
|
||||
# Connect with sso via CLI aws configure sso
|
||||
aws configure sso
|
||||
@@ -255,18 +267,18 @@ sso_account_id = <account_numbre>
|
||||
sso_role_name = AdministratorAccess
|
||||
sso_region = us-east-1
|
||||
```
|
||||
### Αριθμητική
|
||||
### Καταγραφή
|
||||
|
||||
Τα κύρια στοιχεία του Identity Center είναι:
|
||||
|
||||
- Χρήστες και ομάδες
|
||||
- Σύνολα δικαιωμάτων: Έχουν συνημμένες πολιτικές
|
||||
- Λογαριασμοί AWS
|
||||
- Permission Sets: Έχουν συνημμένες πολιτικές
|
||||
- AWS Accounts
|
||||
|
||||
Στη συνέχεια, δημιουργούνται σχέσεις ώστε οι χρήστες/ομάδες να έχουν Σύνολα δικαιωμάτων πάνω στους Λογαριασμούς AWS.
|
||||
Στη συνέχεια, δημιουργούνται σχέσεις έτσι ώστε οι χρήστες/ομάδες να έχουν Permission Sets σε AWS Accounts.
|
||||
|
||||
> [!NOTE]
|
||||
> Σημειώστε ότι υπάρχουν 3 τρόποι για να συνημμένες πολιτικές σε ένα Σύνολο δικαιωμάτων. Η συνημμένη πολιτική AWS, οι πολιτικές που διαχειρίζεται ο πελάτης (αυτές οι πολιτικές πρέπει να δημιουργηθούν σε όλους τους λογαριασμούς που επηρεάζει το Σύνολο δικαιωμάτων) και οι ενσωματωμένες πολιτικές (ορισμένες εκεί).
|
||||
> Σημειώστε ότι υπάρχουν 3 τρόποι για να επισυνάψετε policies σε ένα Permission Set. Επισύναψη AWS managed policies, Customer managed policies (αυτές οι πολιτικές πρέπει να δημιουργηθούν σε όλους τους λογαριασμούς που επηρεάζει το Permission Set), και inline policies (ορισμένες εκεί).
|
||||
```bash
|
||||
# Check if IAM Identity Center is used
|
||||
aws sso-admin list-instances
|
||||
@@ -300,9 +312,9 @@ aws identitystore list-group-memberships --identity-store-id <store-id> --group-
|
||||
## Get memberships or a user or a group
|
||||
aws identitystore list-group-memberships-for-member --identity-store-id <store-id> --member-id <member-id>
|
||||
```
|
||||
### Τοπική Αρίθμηση
|
||||
### Τοπική Αναγνώριση
|
||||
|
||||
Είναι δυνατόν να δημιουργηθεί μέσα στον φάκελο `$HOME/.aws` το αρχείο config για να ρυθμίσετε προφίλ που είναι προσβάσιμα μέσω SSO, για παράδειγμα:
|
||||
Είναι δυνατό να δημιουργηθεί μέσα στον φάκελο `$HOME/.aws` το αρχείο config για να οριστούν profiles που είναι προσβάσιμα μέσω SSO, για παράδειγμα:
|
||||
```ini
|
||||
[default]
|
||||
region = us-west-2
|
||||
@@ -327,9 +339,9 @@ aws sso login --profile my-sso-profile
|
||||
# Use dependent-profile
|
||||
aws s3 ls --profile dependent-profile
|
||||
```
|
||||
Όταν χρησιμοποιείται ένα **προφίλ από το SSO** για την πρόσβαση σε κάποιες πληροφορίες, τα διαπιστευτήρια **αποθηκεύονται** σε ένα αρχείο μέσα στον φάκελο **`$HOME/.aws/sso/cache`**. Επομένως, μπορούν να **διαβαστούν και να χρησιμοποιηθούν από εκεί**.
|
||||
Όταν ένα **profile από SSO χρησιμοποιείται** για πρόσβαση σε κάποιες πληροφορίες, τα credentials είναι **cached** σε ένα αρχείο μέσα στον φάκελο **`$HOME/.aws/sso/cache`**. Επομένως μπορούν να **διαβαστούν και να χρησιμοποιηθούν από εκεί**.
|
||||
|
||||
Επιπλέον, **περισσότερα διαπιστευτήρια** μπορούν να αποθηκευτούν στον φάκελο **`$HOME/.aws/cli/cache`**. Αυτός ο φάκελος cache χρησιμοποιείται κυρίως όταν **εργάζεστε με προφίλ AWS CLI** που χρησιμοποιούν διαπιστευτήρια IAM ή **υποθέτουν** ρόλους μέσω IAM (χωρίς SSO). Παράδειγμα διαμόρφωσης:
|
||||
Επιπλέον, **περισσότερα credentials** μπορούν να αποθηκευτούν στον φάκελο **`$HOME/.aws/cli/cache`**. Αυτός ο cache directory χρησιμοποιείται κυρίως όταν εργάζεστε με **AWS CLI profiles** που χρησιμοποιούν **IAM user credentials** ή **assume roles** μέσω **IAM** (χωρίς **SSO**). Config example:
|
||||
```ini
|
||||
[profile crossaccountrole]
|
||||
role_arn = arn:aws:iam::234567890123:role/SomeRole
|
||||
@@ -337,36 +349,36 @@ source_profile = default
|
||||
mfa_serial = arn:aws:iam::123456789012:mfa/saanvi
|
||||
external_id = 123456
|
||||
```
|
||||
### Μη Αυθεντικοποιημένη Πρόσβαση
|
||||
### Μη αυθεντικοποιημένη πρόσβαση
|
||||
|
||||
{{#ref}}
|
||||
../aws-unauthenticated-enum-access/aws-identity-center-and-sso-unauthenticated-enum/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Κλιμάκωση Δικαιωμάτων
|
||||
### Ανύψωση προνομίων
|
||||
|
||||
{{#ref}}
|
||||
../aws-privilege-escalation/aws-sso-and-identitystore-privesc/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Μετά την Εκμετάλλευση
|
||||
### Μετά την εκμετάλλευση
|
||||
|
||||
{{#ref}}
|
||||
../aws-post-exploitation/aws-sso-and-identitystore-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Επιμονή
|
||||
### Διατήρηση πρόσβασης
|
||||
|
||||
#### Δημιουργία χρήστη και εκχώρηση δικαιωμάτων σε αυτόν
|
||||
#### Δημιουργήστε έναν user και εκχωρήστε του permissions
|
||||
```bash
|
||||
# Create user identitystore:CreateUser
|
||||
aws identitystore create-user --identity-store-id <store-id> --user-name privesc --display-name privesc --emails Value=sdkabflvwsljyclpma@tmmbt.net,Type=Work,Primary=True --name Formatted=privesc,FamilyName=privesc,GivenName=privesc
|
||||
## After creating it try to login in the console using the selected username, you will receive an email with the code and then you will be able to select a password
|
||||
```
|
||||
- Δημιουργήστε μια ομάδα και αναθέστε της δικαιώματα και ορίστε σε αυτήν έναν ελεγχόμενο χρήστη
|
||||
- Δημιουργήστε μια ομάδα, αναθέστε της δικαιώματα και ορίστε σε αυτήν έναν ελεγχόμενο χρήστη
|
||||
- Δώστε επιπλέον δικαιώματα σε έναν ελεγχόμενο χρήστη ή ομάδα
|
||||
- Από προεπιλογή, μόνο οι χρήστες με δικαιώματα από τον Λογαριασμό Διαχείρισης θα μπορούν να έχουν πρόσβαση και να ελέγχουν το IAM Identity Center.
|
||||
- Εξ ορισμού, μόνο χρήστες με δικαιώματα από το Management Account θα μπορούν να έχουν πρόσβαση και να ελέγχουν το IAM Identity Center.
|
||||
|
||||
Ωστόσο, είναι δυνατό μέσω του Delegate Administrator να επιτραπεί σε χρήστες από διαφορετικό λογαριασμό να το διαχειρίζονται. Δεν θα έχουν ακριβώς τα ίδια δικαιώματα, αλλά θα μπορούν να εκτελούν [**δραστηριότητες διαχείρισης**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
|
||||
Ωστόσο, είναι δυνατό μέσω του Delegate Administrator να επιτρέψετε σε χρήστες από διαφορετικό account να το διαχειριστούν. Δεν θα έχουν ακριβώς τα ίδια δικαιώματα, αλλά θα μπορούν να εκτελούν [**management activities**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user