mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-31 15:05:44 -08:00
Translated ['src/pentesting-ci-cd/terraform-security.md', 'src/pentestin
This commit is contained in:
@@ -14,7 +14,7 @@ Pour plus d'informations sur dynamodb, consultez :
|
||||
|
||||
Depuis mars 2024, AWS propose des *politiques basées sur les ressources* pour DynamoDB ([AWS News](https://aws.amazon.com/about-aws/whats-new/2024/03/amazon-dynamodb-resource-based-policies/)).
|
||||
|
||||
Donc, si vous avez le `dynamodb:PutResourcePolicy` pour une table, vous pouvez simplement vous accorder, ou accorder à tout autre principal, un accès complet à la table.
|
||||
Ainsi, si vous avez le `dynamodb:PutResourcePolicy` pour une table, vous pouvez simplement vous accorder, ou accorder à tout autre principal, un accès complet à la table.
|
||||
|
||||
Accorder le `dynamodb:PutResourcePolicy` à un principal aléatoire se produit souvent par accident, si les administrateurs pensent que l'octroi de `dynamodb:Put*` ne permettrait au principal que d'ajouter des éléments à la base de données - ou s'ils ont accordé cet ensemble de permissions avant mars 2024...
|
||||
|
||||
@@ -47,7 +47,7 @@ Si vous ne pouvez pas récupérer la politique actuelle, utilisez simplement cel
|
||||
]
|
||||
}
|
||||
```
|
||||
Si vous devez le personnaliser, voici une liste de toutes les actions possibles de DynamoDB : [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). Et voici une liste de toutes les actions qui peuvent être autorisées via une politique basée sur les ressources *ET lesquelles de celles-ci peuvent être utilisées entre comptes (pensez à l'exfiltration de données !)* : [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
Si vous devez le personnaliser, voici une liste de toutes les actions DynamoDB possibles : [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). Et voici une liste de toutes les actions qui peuvent être autorisées via une politique basée sur les ressources *ET lesquelles de celles-ci peuvent être utilisées entre comptes (pensez à l'exfiltration de données !)* : [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
|
||||
Maintenant, avec le document de politique `policy.json` prêt, mettez la politique de ressource :
|
||||
```bash
|
||||
@@ -67,6 +67,6 @@ Autant que je sache, il n'y a **aucun autre moyen direct d'escalader les privil
|
||||
../aws-post-exploitation/aws-dynamodb-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
### TODO : Lire des données en abusant des flux de données
|
||||
### À FAIRE : Lire des données en abusant des flux de données
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
Un attaquant ayant ces permissions sur des buckets intéressants pourrait être en mesure de détourner des ressources et d'escalader des privilèges.
|
||||
|
||||
Par exemple, un attaquant ayant ces **permissions sur un bucket cloudformation** appelé "cf-templates-nohnwfax6a6i-us-east-1" pourra détourner le déploiement. L'accès peut être accordé avec la politique suivante :
|
||||
Par exemple, un attaquant avec ces **permissions sur un bucket cloudformation** appelé "cf-templates-nohnwfax6a6i-us-east-1" pourra détourner le déploiement. L'accès peut être accordé avec la politique suivante :
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
@@ -53,7 +53,7 @@ Voici quelques exemples :
|
||||
### `s3:PutObject`, `s3:GetObject` (optionnel) sur le fichier d'état terraform
|
||||
|
||||
Il est très courant que les fichiers d'état [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) soient sauvegardés dans le stockage blob des fournisseurs de cloud, par exemple AWS S3. Le suffixe de fichier pour un fichier d'état est `.tfstate`, et les noms de bucket indiquent souvent qu'ils contiennent des fichiers d'état terraform. En général, chaque compte AWS a un tel bucket pour stocker les fichiers d'état qui montrent l'état du compte.\
|
||||
De plus, dans les comptes du monde réel, presque tous les développeurs ont presque toujours `s3:*` et parfois même les utilisateurs professionnels ont `s3:Put*`.
|
||||
De plus, dans les comptes du monde réel, presque tous les développeurs ont généralement `s3:*` et parfois même les utilisateurs professionnels ont `s3:Put*`.
|
||||
|
||||
Donc, si vous avez les permissions énumérées sur ces fichiers, il existe un vecteur d'attaque qui vous permet d'obtenir RCE dans le pipeline avec les privilèges de `terraform` - la plupart du temps `AdministratorAccess`, vous rendant l'admin du compte cloud. De plus, vous pouvez utiliser ce vecteur pour effectuer une attaque par déni de service en faisant en sorte que `terraform` supprime des ressources légitimes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user