mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-03-12 21:22:57 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-services/aws-iam-enum
This commit is contained in:
@@ -12,24 +12,24 @@ Za više informacija pogledajte:
|
||||
|
||||
### `ses:SendEmail`
|
||||
|
||||
Pošaljite e-poštu.
|
||||
Pošaljite e-poruku.
|
||||
```bash
|
||||
aws ses send-email --from sender@example.com --destination file://emails.json --message file://message.json
|
||||
aws sesv2 send-email --from sender@example.com --destination file://emails.json --message file://message.json
|
||||
```
|
||||
Još nije testirano.
|
||||
Još treba testirati.
|
||||
|
||||
### `ses:SendRawEmail`
|
||||
|
||||
Pošaljite e-poštu.
|
||||
Pošaljite e-poruku.
|
||||
```bash
|
||||
aws ses send-raw-email --raw-message file://message.json
|
||||
```
|
||||
Još treba testirati.
|
||||
Još nije testirano.
|
||||
|
||||
### `ses:SendTemplatedEmail`
|
||||
|
||||
Pošaljite e-poruku zasnovanu na šablonu.
|
||||
Šalje e-mail na osnovu šablona.
|
||||
```bash
|
||||
aws ses send-templated-email --source <value> --destination <value> --template <value>
|
||||
```
|
||||
@@ -37,11 +37,11 @@ Još nije testirano.
|
||||
|
||||
### `ses:SendBulkTemplatedEmail`
|
||||
|
||||
Pošaljite e-poruku na više odredišta
|
||||
Pošaljite e-mail na više odredišta
|
||||
```bash
|
||||
aws ses send-bulk-templated-email --source <value> --template <value>
|
||||
```
|
||||
Još treba testirati.
|
||||
Još nije testirano.
|
||||
|
||||
### `ses:SendBulkEmail`
|
||||
|
||||
@@ -51,7 +51,7 @@ aws sesv2 send-bulk-email --default-content <value> --bulk-email-entries <value>
|
||||
```
|
||||
### `ses:SendBounce`
|
||||
|
||||
Pošaljite **bounce email** za primljenu poruku (koja označava da poruka nije mogla biti dostavljena). Ovo se može uraditi **samo do 24h nakon primanja** poruke.
|
||||
Pošaljite **bounce email** na primljenu poruku (naznačujući da poruka nije mogla biti dostavljena). Ovo se može uraditi samo **do 24h nakon prijema** poruke.
|
||||
```bash
|
||||
aws ses send-bounce --original-message-id <value> --bounce-sender <value> --bounced-recipient-info-list <value>
|
||||
```
|
||||
@@ -59,11 +59,23 @@ Još treba testirati.
|
||||
|
||||
### `ses:SendCustomVerificationEmail`
|
||||
|
||||
Ovo će poslati prilagođenu verifikacionu e-poruku. Možda će vam takođe biti potrebne dozvole za kreiranje predloška e-poruke.
|
||||
Ovo će poslati prilagođenu verifikacionu e-poruku. Možda će vam takođe trebati dozvole da kreirate šablon poruke.
|
||||
```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>
|
||||
```
|
||||
Još treba testirati.
|
||||
Još nije testirano.
|
||||
|
||||
## WorkMail pivot za zaobilaženje SES sandbox
|
||||
|
||||
Kada `ses:GetAccount` pokaže da je nalog još uvek u SES sandbox i `ses:ListIdentities` ne vraća verifikovane pošiljaoce, napadači mogu **pivot to WorkMail** da šalju odmah (bez sandbox-a i sa većim podrazumevanim kvotama) kreiranjem organizacija, verifikovanjem domena i registracijom poštanskih sandučića.
|
||||
|
||||
{{#ref}}
|
||||
../aws-workmail-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
## Reference
|
||||
|
||||
- [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}}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
# AWS - WorkMail Post Exploitation
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Zloupotreba WorkMail-a za zaobilaženje SES sandbox
|
||||
|
||||
Čak i ako je SES zaglavljen u **sandbox** režimu (samo verifikovani primaoci, ~200 poruka/24h, 1 poruka/s), WorkMail nema ekvivalentno ograničenje. Napadač sa dugoročnim ključevima može brzo podići privremenu mail infrastrukturu i odmah početi sa slanjem:
|
||||
|
||||
1. **Kreirajte WorkMail org (region-scoped)**
|
||||
```bash
|
||||
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
|
||||
```
|
||||
2. **Verifikujte domene pod kontrolom napadača** (WorkMail poziva SES API-je kao `workmail.amazonaws.com`):
|
||||
```bash
|
||||
aws ses verify-domain-identity --domain attacker-domain.com
|
||||
aws ses verify-domain-dkim --domain attacker-domain.com
|
||||
```
|
||||
3. **Kreirajte korisnike mailbox-a i registrujte ih:**
|
||||
```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
|
||||
```
|
||||
|
||||
Napomene:
|
||||
- Podrazumevano **recipient cap** dokumentovano od AWS-a: **100,000 external recipients/day per org** (sabrano preko korisnika).
|
||||
- Aktivnost verifikacije domena pojaviće se u CloudTrail pod SES ali sa **`invokedBy`: `workmail.<region>.amazonaws.com`**, tako da SES verification događaji mogu pripadati WorkMail podešavanju umesto SES kampanja.
|
||||
- WorkMail mailbox korisnici postaju **application-layer persistence** nezavisno od IAM korisnika.
|
||||
|
||||
## Putanje slanja i praznine u telemetrji
|
||||
|
||||
### Web client (WorkMail UI)
|
||||
- Slanja se pojavljuju kao **`ses:SendRawEmail`** događaji u CloudTrail-u.
|
||||
- `userIdentity.type` = `AWSService`, `invokedBy/sourceIPAddress/userAgent` = `workmail.<region>.amazonaws.com`, tako da je **prava IP adresa klijenta sakrivena**.
|
||||
- `requestParameters` i dalje leak-uje informacije o pošiljaocu (`source`, `fromArn`, `sourceArn`, configuration set) kako bi se korelisalo sa novo verifikovanim domenima/mailbox-ima.
|
||||
|
||||
### SMTP (najneupadljiviji)
|
||||
- Endpoint: `smtp.mail.<region>.awsapps.com:465` (SMTP over SSL) sa lozinkom mailbox-a.
|
||||
- **No CloudTrail data events** su generisani za SMTP delivery, čak i kada su SES data events omogućeni.
|
||||
- Idealne tačke detekcije su **org/domain/user provisioning** i SES identity ARNs koji se referenciraju u naknadnim web-poslatim `SendRawEmail` događajima.
|
||||
|
||||
<details>
|
||||
<summary>Primer slanja SMTP putem WorkMail-a</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>
|
||||
|
||||
## Razmatranja za detekciju
|
||||
|
||||
- Ako WorkMail nije neophodan, blokirajte ga putem **SCPs** (`workmail:*` deny) na nivou organizacije.
|
||||
- Podesite upozorenja pri provisioningu: `workmail:CreateOrganization`, `workmail:CreateUser`, `workmail:RegisterToWorkMail`, i SES verifikacije sa `invokedBy=workmail.amazonaws.com` (`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`).
|
||||
- Pratite anomalne **`ses:SendRawEmail`** događaje u kojima identity ARNs upućuju na nove domene, a source IP/UA je `workmail.<region>.amazonaws.com`.
|
||||
|
||||
## Reference
|
||||
|
||||
- [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,20 +1,20 @@
|
||||
# AWS - IAM, Identity Center & SSO Enum
|
||||
# AWS - IAM, Identity Center & SSO enumeracija
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## IAM
|
||||
|
||||
Možete pronaći **opis IAM-a** u:
|
||||
Opis **IAM-a** možete pronaći u:
|
||||
|
||||
{{#ref}}
|
||||
../aws-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
### Enumeration
|
||||
### Enumeracija
|
||||
|
||||
Glavne dozvole potrebne:
|
||||
Glavne potrebne dozvole:
|
||||
|
||||
- `iam:ListPolicies`, `iam:GetPolicy` i `iam:GetPolicyVersion`
|
||||
- `iam:ListPolicies`, `iam:GetPolicy` and `iam:GetPolicyVersion`
|
||||
- `iam:ListRoles`
|
||||
- `iam:ListUsers`
|
||||
- `iam:ListGroups`
|
||||
@@ -22,9 +22,9 @@ Glavne dozvole potrebne:
|
||||
- `iam:ListAttachedUserPolicies`
|
||||
- `iam:ListAttachedRolePolicies`
|
||||
- `iam:ListAttachedGroupPolicies`
|
||||
- `iam:ListUserPolicies` i `iam:GetUserPolicy`
|
||||
- `iam:ListGroupPolicies` i `iam:GetGroupPolicy`
|
||||
- `iam:ListRolePolicies` i `iam:GetRolePolicy`
|
||||
- `iam:ListUserPolicies` and `iam:GetUserPolicy`
|
||||
- `iam:ListGroupPolicies` and `iam:GetGroupPolicy`
|
||||
- `iam:ListRolePolicies` and `iam:GetRolePolicy`
|
||||
```bash
|
||||
# All IAMs
|
||||
## Retrieves information about all IAM users, groups, roles, and policies
|
||||
@@ -88,37 +88,49 @@ aws iam get-account-password-policy
|
||||
aws iam list-mfa-devices
|
||||
aws iam list-virtual-mfa-devices
|
||||
```
|
||||
### Dozvola Brute Force
|
||||
### Neprimetna potvrda dozvola pomoću namernih grešaka
|
||||
|
||||
Ako ste zainteresovani za svoje dozvole, ali nemate pristup za upit IAM, uvek možete da ih brute-forcujete.
|
||||
Kada su blokirani `List*` ili simulator APIs, možete **potvrditi dozvole za izmene bez kreiranja trajnih resursa** prouzrokujući predvidljive greške validacije. AWS i dalje evaluira IAM pre nego što vrati ove greške, tako da pojava greške dokazuje da pozivalac ima tu akciju:
|
||||
```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
|
||||
```
|
||||
Ovi pokušaji i dalje generišu CloudTrail događaje (sa podešenim `errorCode`), ali izbegavaju ostavljanje novih IAM artefakata, što ih čini korisnim za **nisko-bučnu validaciju dozvola** tokom interaktivnog recon-a.
|
||||
|
||||
### Permissions Brute Force
|
||||
|
||||
Ako te zanimaju tvoje sopstvene dozvole, ali nemaš pristup da izvršiš upite na IAM, uvek ih možeš brute-force-ovati.
|
||||
|
||||
#### bf-aws-permissions
|
||||
|
||||
Alat [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions) je samo bash skripta koja će se pokrenuti koristeći navedeni profil za sve **`list*`, `describe*`, `get*`** akcije koje može pronaći koristeći `aws` cli pomoćne poruke i **vratiće uspešne izvršenja**.
|
||||
Alat [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions) je samo bash skripta koja će, koristeći označeni profil, pokrenuti sve **`list*`, `describe*`, `get*`** akcije koje može da pronađe koristeći `aws` cli help poruke i **vratiti uspešna izvršavanja**.
|
||||
```bash
|
||||
# Bruteforce permissions
|
||||
bash bf-aws-permissions.sh -p default > /tmp/bf-permissions-verbose.txt
|
||||
```
|
||||
#### bf-aws-perms-simulate
|
||||
|
||||
Alat [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate) može pronaći vaše trenutne dozvole (ili dozvole drugih principala) ako imate dozvolu **`iam:SimulatePrincipalPolicy`**
|
||||
Alat [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate) može da pronađe vaše trenutne dozvole (ili one drugih principals) ako imate dozvolu **`iam:SimulatePrincipalPolicy`**
|
||||
```bash
|
||||
# Ask for permissions
|
||||
python3 aws_permissions_checker.py --profile <AWS_PROFILE> [--arn <USER_ARN>]
|
||||
```
|
||||
#### Perms2ManagedPolicies
|
||||
|
||||
Ako ste pronašli **neke dozvole koje vaš korisnik ima**, i mislite da su dodeljene od strane **upravljane AWS uloge** (a ne od prilagođene). Možete koristiti alat [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) da proverite sve **AWS upravljane uloge koje dodeljuju dozvole koje ste otkrili da imate**.
|
||||
Ako ste pronašli **neke dozvole koje vaš korisnik ima**, i mislite da vam ih dodeljuje **upravljana AWS uloga** (a ne prilagođena). Možete koristiti alat [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) da proverite sve **upravljane AWS uloge koje dodeljuju dozvole koje ste otkrili da imate**.
|
||||
```bash
|
||||
# Run example with my profile
|
||||
python3 aws-Perms2ManagedPolicies.py --profile myadmin --permissions-file example-permissions.txt
|
||||
```
|
||||
> [!WARNING]
|
||||
> Moguće je "znati" da li su dozvole koje imate dodeljene od strane AWS upravljane uloge ako vidite da **imate dozvole za usluge koje se ne koriste** na primer.
|
||||
> Moguće je "saznati" da li su dozvole koje imaš dodeljene od strane AWS managed role ako, na primer, vidiš da **imaš dozvole nad servisima koji se ne koriste**.
|
||||
|
||||
#### Cloudtrail2IAM
|
||||
|
||||
[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) je Python alat koji analizira **AWS CloudTrail logove kako bi izvukao i sažeo akcije** koje su izvršili svi ili samo određeni korisnik ili uloga. Alat će **parsirati svaki cloudtrail log iz naznačenog bucket-a**.
|
||||
[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) je Python alat koji analizira **AWS CloudTrail logove da bi izvukao i sumirao akcije** izvršene od strane svih ili samo određenog korisnika ili role. Alat će **parsirati svaki cloudtrail log iz naznačenog bucket-a**.
|
||||
```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]
|
||||
> Ako pronađete .tfstate (Terraform state files) ili CloudFormation datoteke (ove su obično yaml datoteke smeštene unutar bucket-a sa prefiksom cf-templates), možete ih takođe pročitati da biste pronašli aws konfiguraciju i saznali koje su dozvole dodeljene kome.
|
||||
> Ako pronađete .tfstate (Terraform state files) ili CloudFormation files (obično su to yaml fajlovi koji se nalaze u bucket-u sa prefiksom cf-templates), možete ih takođe pročitati da pronađete aws konfiguraciju i koje su permisije dodeljene kome.
|
||||
|
||||
#### enumerate-iam
|
||||
|
||||
Da biste koristili alat [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam), prvo treba da preuzmete sve API AWS krajnje tačke, od kojih će skripta **`generate_bruteforce_tests.py`** dobiti sve **"list\_", "describe\_", i "get\_" krajnje tačke.** I na kraju, pokušaće da **pristupi njima** sa datim kredencijalima i **naznači da li je uspelo**.
|
||||
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 **prikaže da li je uspelo**.
|
||||
|
||||
(U mom iskustvu, **alat se u nekom trenutku zamrzava**, [**pogledajte ovo rešenje**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) da biste pokušali da to popravite).
|
||||
(Po mom iskustvu, **alat se u nekom trenutku zamrzne**, [**checkout this fix**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) da pokuša da to popravi).
|
||||
|
||||
> [!WARNING]
|
||||
> U mom iskustvu, ovaj alat je kao prethodni, ali radi lošije i proverava manje dozvola.
|
||||
> Po mom iskustvu ovaj alat je poput prethodnog, ali radi lošije i proverava manje permisija
|
||||
```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
|
||||
|
||||
Možete takođe koristiti alat [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Ovaj alat će proveriti **nekoliko uobičajenih operacija na nekoliko uobičajenih usluga** (proveriće neka prava za enumeraciju i takođe neka prava za privesc). Ali će proveriti samo kodirane provere (jedini način da se proveri više stvari je kodiranje više testova).
|
||||
Možete takođe koristiti alat [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Ovaj alat će proveriti **nekoliko uobičajenih operacija na više uobičajenih servisa** (proveriće neke enumeration permissions i takođe neke privesc permissions). Međutim, proverava samo kodirane provere — jedini način da se proveri više stvari je da se napišu (kodiraju) dodatni testovi.
|
||||
```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']
|
||||
```
|
||||
#### Alati za učvršćivanje BF dozvola
|
||||
#### Alati za hardening za BF dozvole
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="CloudSploit" }}
|
||||
@@ -208,43 +220,43 @@ steampipe dashboard
|
||||
|
||||
#### \<YourTool>
|
||||
|
||||
Nijedan od prethodnih alata nije sposoban da proveri skoro sve dozvole, pa ako znate bolji alat pošaljite PR!
|
||||
Nijedan od prethodnih alata nije u mogućnosti da proveri skoro sve dozvole, pa ako znate bolji alat pošaljite PR!
|
||||
|
||||
### Neautentifikovani Pristup
|
||||
### Unauthenticated Access
|
||||
|
||||
{{#ref}}
|
||||
../aws-unauthenticated-enum-access/aws-iam-and-sts-unauthenticated-enum/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Eskalacija Privilegija
|
||||
### Privilege Escalation
|
||||
|
||||
Na sledećoj stranici možete proveriti kako da **zloupotrebite IAM dozvole za eskalaciju privilegija**:
|
||||
Na sledećoj stranici možete proveriti kako **abuse IAM permissions to escalate privileges**:
|
||||
|
||||
{{#ref}}
|
||||
../aws-privilege-escalation/aws-iam-privesc/README.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Post Eksploatacija
|
||||
### IAM Post Exploitation
|
||||
|
||||
{{#ref}}
|
||||
../aws-post-exploitation/aws-iam-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Persistencija
|
||||
### IAM Persistence
|
||||
|
||||
{{#ref}}
|
||||
../aws-persistence/aws-iam-persistence/README.md
|
||||
{{#endref}}
|
||||
|
||||
## IAM Identitet Centar
|
||||
## IAM Identity Center
|
||||
|
||||
Možete pronaći **opis IAM Identitet Centra** u:
|
||||
Možete pronaći **opis IAM Identity Center** u:
|
||||
|
||||
{{#ref}}
|
||||
../aws-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
### Povezivanje putem SSO sa CLI
|
||||
### Connect via SSO with CLI
|
||||
```bash
|
||||
# Connect with sso via CLI aws configure sso
|
||||
aws configure sso
|
||||
@@ -257,16 +269,16 @@ sso_region = us-east-1
|
||||
```
|
||||
### Enumeracija
|
||||
|
||||
Glavni elementi Identity Centra su:
|
||||
Glavni elementi Identity Center su:
|
||||
|
||||
- Korisnici i grupe
|
||||
- Skupovi dozvola: Imaju pridružene politike
|
||||
- AWS računi
|
||||
- Permission Sets: Imaju prikačene politike
|
||||
- AWS nalozi
|
||||
|
||||
Zatim, odnosi se kreiraju tako da korisnici/grupe imaju Skupove dozvola nad AWS računom.
|
||||
Zatim se kreiraju odnosi tako da korisnici/grupe imaju Permission Sets nad AWS nalozima.
|
||||
|
||||
> [!NAPOMENA]
|
||||
> Imajte na umu da postoje 3 načina za pridruživanje politika Skupu dozvola. Pridruživanje AWS upravljanim politikama, politikama koje upravlja korisnik (ove politike treba da budu kreirane u svim računima na koje Skup dozvola utiče) i inline politikama (definisanim tamo).
|
||||
> [!NOTE]
|
||||
> Obratite pažnju da postoje 3 načina za pridruživanje politika Permission Set-u: AWS managed policies, Customer managed policies (ove politike moraju biti kreirane u svim nalozima na koje Permission Set utiče), i inline policies (definisane u njemu).
|
||||
```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>
|
||||
```
|
||||
### Lokalna Enumeracija
|
||||
### Lokalna enumeracija
|
||||
|
||||
Moguće je kreirati unutar foldera `$HOME/.aws` datoteku config za konfiguraciju profila koji su dostupni putem SSO, na primer:
|
||||
Moguće je kreirati u folderu `$HOME/.aws` fajl config koji konfiguriše profile dostupne putem SSO, na primer:
|
||||
```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
|
||||
```
|
||||
Kada se **profil iz SSO koristi** za pristup nekim informacijama, kredencijali se **keširaju** u datoteci unutar fascikle **`$HOME/.aws/sso/cache`**. Stoga se mogu **pročitati i koristiti odatle**.
|
||||
Kada se koristi **profil iz SSO** za pristup nekoj informaciji, kredencijali su **keširani** u fajlu unutar foldera **`$HOME/.aws/sso/cache`**. Stoga se mogu **pročitati i koristiti odatle**.
|
||||
|
||||
Pored toga, **dodatni kredencijali** mogu biti pohranjeni u fascikli **`$HOME/.aws/cli/cache`**. Ova keš direktorijum se prvenstveno koristi kada radite sa **AWS CLI profilima** koji koriste IAM korisničke kredencijale ili **pretpostavljaju** uloge putem IAM (bez SSO). Primer konfiguracije:
|
||||
Pored toga, u folderu **`$HOME/.aws/cli/cache`** može biti sačuvano **još kredencijala**. Ovaj cache direktorijum se prvenstveno koristi kada radite sa **AWS CLI profiles** koji koriste IAM user credentials ili **assume** role kroz IAM (bez SSO). Primer konfiguracije:
|
||||
```ini
|
||||
[profile crossaccountrole]
|
||||
role_arn = arn:aws:iam::234567890123:role/SomeRole
|
||||
@@ -337,25 +349,25 @@ source_profile = default
|
||||
mfa_serial = arn:aws:iam::123456789012:mfa/saanvi
|
||||
external_id = 123456
|
||||
```
|
||||
### Neautentifikovani Pristup
|
||||
### Pristup bez autentifikacije
|
||||
|
||||
{{#ref}}
|
||||
../aws-unauthenticated-enum-access/aws-identity-center-and-sso-unauthenticated-enum/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Eskalacija Privilegija
|
||||
### Eskalacija privilegija
|
||||
|
||||
{{#ref}}
|
||||
../aws-privilege-escalation/aws-sso-and-identitystore-privesc/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Post Eksploatacija
|
||||
### Post-eksploatacija
|
||||
|
||||
{{#ref}}
|
||||
../aws-post-exploitation/aws-sso-and-identitystore-post-exploitation/README.md
|
||||
{{#endref}}
|
||||
|
||||
### Postojanost
|
||||
### Održavanje pristupa
|
||||
|
||||
#### Kreirajte korisnika i dodelite mu dozvole
|
||||
```bash
|
||||
@@ -363,10 +375,10 @@ external_id = 123456
|
||||
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
|
||||
```
|
||||
- Kreirajte grupu i dodelite joj dozvole i postavite kontrolisanog korisnika
|
||||
- Dajte dodatne dozvole kontrolisanom korisniku ili grupi
|
||||
- Po defaultu, samo korisnici sa dozvolama iz Management Account-a će moći da pristupaju i kontrolišu IAM Identity Center.
|
||||
- Kreirajte grupu, dodelite joj dozvole i postavite u nju kontrolisanog korisnika
|
||||
- Dodelite dodatne dozvole kontrolisanom korisniku ili grupi
|
||||
- Podrazumevano, samo korisnici sa dozvolama iz Management Account-a moći će da pristupe i kontrolišu IAM Identity Center.
|
||||
|
||||
Međutim, moguće je putem Delegate Administrator-a omogućiti korisnicima iz druge računa da njime upravljaju. Neće imati potpuno iste dozvole, ali će moći da obavljaju [**aktivnosti upravljanja**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
|
||||
Međutim, moguće je putem Delegate Administrator-a dozvoliti korisnicima iz drugog naloga da njime upravljaju. Neće imati potpuno iste dozvole, ali će moći da izvrše [**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